Bug 1372527 - OpenGLRaw fails to build on armv7hl: "fork: resource exhausted"
Summary: OpenGLRaw fails to build on armv7hl: "fork: resource exhausted"
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: haskell-platform
Version: 25
Hardware: armv7hl
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jens Petersen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-09-02 02:47 UTC by Jens Petersen
Modified: 2017-04-01 16:55 UTC (History)
3 users (show)

Fixed In Version: haskell-platform-2017.8.0.2-6.fc26
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-04-01 16:55:59 UTC
Type: Bug


Attachments (Terms of Use)
build.log.gz (130.83 KB, application/x-gzip)
2016-09-02 02:50 UTC, Jens Petersen
no flags Details

Description Jens Petersen 2016-09-02 02:47:44 UTC
I am not sure why but building OpenGLRaw (part of haskell-platform) fails randomly and very frequently on armv7hl.
It build initially with ghc-7.10.3 but maybe this was just luck.

Note the "fork: resource exhausted (Resource temporarily unavailable)"'s
below in the verbose build output:

[531 of 534] Compiling Graphics.Rendering.OpenGL.Raw.AMD.DrawBuffersBlend ( src/Graphics/Rendering/OpenGL/Raw/AMD/DrawBuffersBlend.hs, dist/build/Graphics/Rendering/OpenGL/Raw/AMD/DrawBuffersBlend.o )
<no location info>:
    ghc: phase `LLVM Optimiser' failed (exitcode = 1)
compile: input file src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs
:
:
compile: input file src/Graphics/Rendering/OpenGL/Raw/APPLE/TextureRange.hs
*** Checking old interface for Graphics.Rendering.OpenGL.Raw.APPLE.TextureRange:
*** Parser:
*** Renamer/typechecker:
*** Desugar:
Result size of Desugar (after optimization)
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Specialise:
Result size of Specialise = {terms: 0, types: 0, coercions: 0}
*** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = False}):
Result size of Float out(FOS {Lam = Just 0,
                              Consts = True,
                              OverSatApps = False})
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Float inwards:
Result size of Float inwards = {terms: 0, types: 0, coercions: 0}
*** Called arity analysis:
Result size of Called arity analysis
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Demand analysis:
Result size of Demand analysis = {terms: 0, types: 0, coercions: 0}
*** Worker Wrapper binds:
Result size of Worker Wrapper binds
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = True}):
Result size of Float out(FOS {Lam = Just 0,
                              Consts = True,
                              OverSatApps = True})
  = {terms: 0, types: 0, coercions: 0}
*** Common sub-expression:
Result size of Common sub-expression
  = {terms: 0, types: 0, coercions: 0}
*** Float inwards:
Result size of Float inwards = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Tidy Core:
Result size of Tidy Core = {terms: 0, types: 0, coercions: 0}
writeBinIface: 10 Names
writeBinIface: 49 dict entries
writeBinIface: 10 Names
writeBinIface: 49 dict entries
*** CorePrep:
Result size of CorePrep = {terms: 0, types: 0, coercions: 0}
*** Stg2Stg:
*** CodeGen:
*** LLVM CodeGen:
Error (figuring out LLVM version): /usr/bin/llc-3.5: runInteractiveProcess: fork: resource exhausted (Resource temporarily unavailable)
<no location info>:
    Warning: Couldn't figure out LLVM version!
             Make sure you have installed LLVM
Using LLVM version: 30
*** LLVM Optimiser:
/usr/bin/opt-3.5 /tmp/ghc40bc_0/ghc_2824.ll -o /tmp/ghc40bc_0/ghc_2826.bc -O1 '--enable-tbaa=true'
Failed: /usr/bin/opt-3.5 /tmp/ghc40bc_0/ghc_2824.ll -o /tmp/ghc40bc_0/ghc_2826.bc -O1 '--enable-tbaa=true' /usr/bin/opt-3.5: runInteractiveProcess: fork: resource exhausted (Resource temporarily unavailable)
<no location info>:
    ghc: phase `LLVM Optimiser' failed (exitcode = 1)
compile: input file src/Graphics/Rendering/OpenGL/Raw/APPLE/ObjectPurgeable.hs
:
compile: input file src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs
:
compile: input file src/Graphics/Rendering/OpenGL/Raw/APPLE/ElementArray.hs
*** Checking old interface for Graphics.Rendering.OpenGL.Raw.APPLE.ElementArray:
*** Parser:
*** Renamer/typechecker:
*** Desugar:
Result size of Desugar (after optimization)
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Specialise:
Result size of Specialise = {terms: 0, types: 0, coercions: 0}
*** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = False}):
Result size of Float out(FOS {Lam = Just 0,
                              Consts = True,
                              OverSatApps = False})
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Float inwards:
Result size of Float inwards = {terms: 0, types: 0, coercions: 0}
*** Called arity analysis:
Result size of Called arity analysis
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Demand analysis:
Result size of Demand analysis = {terms: 0, types: 0, coercions: 0}
*** Worker Wrapper binds:
Result size of Worker Wrapper binds
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = True}):
Result size of Float out(FOS {Lam = Just 0,
                              Consts = True,
                              OverSatApps = True})
  = {terms: 0, types: 0, coercions: 0}
*** Common sub-expression:
Result size of Common sub-expression
  = {terms: 0, types: 0, coercions: 0}
*** Float inwards:
Result size of Float inwards = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Tidy Core:
Result size of Tidy Core = {terms: 0, types: 0, coercions: 0}
writeBinIface: 10 Names
writeBinIface: 49 dict entries
writeBinIface: 10 Names
writeBinIface: 49 dict entries
*** CorePrep:
Result size of CorePrep = {terms: 0, types: 0, coercions: 0}
*** Stg2Stg:
*** CodeGen:
*** LLVM CodeGen:
Error (figuring out LLVM version): /usr/bin/llc-3.5: runInteractiveProcess: fork: resource exhausted (Resource temporarily unavailable)
<no location info>:
    Warning: Couldn't figure out LLVM version!
             Make sure you have installed LLVM
Using LLVM version: 30
*** LLVM Optimiser:
/usr/bin/opt-3.5 /tmp/ghc40bc_0/ghc_2840.ll -o /tmp/ghc40bc_0/ghc_2842.bc -O1 '--enable-tbaa=true'
Failed: /usr/bin/opt-3.5 /tmp/ghc40bc_0/ghc_2840.ll -o /tmp/ghc40bc_0/ghc_2842.bc -O1 '--enable-tbaa=true' /usr/bin/opt-3.5: runInteractiveProcess: fork: resource exhausted (Resource temporarily unavailable)
<no location info>:
    ghc: phase `LLVM Optimiser' failed (exitcode = 1)
compile: input file src/Graphics/Rendering/OpenGL/Raw/AMD/VertexShaderTessellator.hs
*** Checking old interface for Graphics.Rendering.OpenGL.Raw.AMD.VertexShaderTessellator:
*** Parser:
*** Renamer/typechecker:
*** Desugar:
Result size of Desugar (after optimization)
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Specialise:
Result size of Specialise = {terms: 0, types: 0, coercions: 0}
*** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = False}):
Result size of Float out(FOS {Lam = Just 0,
                              Consts = True,
                              OverSatApps = False})
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Float inwards:
Result size of Float inwards = {terms: 0, types: 0, coercions: 0}
*** Called arity analysis:
Result size of Called arity analysis
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Demand analysis:
Result size of Demand analysis = {terms: 0, types: 0, coercions: 0}
*** Worker Wrapper binds:
Result size of Worker Wrapper binds
  = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = True}):
Result size of Float out(FOS {Lam = Just 0,
                              Consts = True,
                              OverSatApps = True})
  = {terms: 0, types: 0, coercions: 0}
*** Common sub-expression:
Result size of Common sub-expression
  = {terms: 0, types: 0, coercions: 0}
*** Float inwards:
Result size of Float inwards = {terms: 0, types: 0, coercions: 0}
*** Simplifier:
Result size of Simplifier = {terms: 0, types: 0, coercions: 0}
*** Tidy Core:
Result size of Tidy Core = {terms: 0, types: 0, coercions: 0}
writeBinIface: 11 Names
writeBinIface: 50 dict entries
writeBinIface: 11 Names
writeBinIface: 50 dict entries
*** CorePrep:
Result size of CorePrep = {terms: 0, types: 0, coercions: 0}
*** Stg2Stg:
*** CodeGen:
*** LLVM CodeGen:
Using LLVM version: 35
*** LLVM Optimiser:
/usr/bin/opt-3.5 /tmp/ghc40bc_0/ghc_2502.ll -o /tmp/ghc40bc_0/ghc_2505.bc -O1 -globalopt '--enable-tbaa=true'
*** LLVM Compiler:
/usr/bin/llc-3.5 -O2 '-relocation-model=static' /tmp/ghc40bc_0/ghc_2505.bc -o /tmp/ghc40bc_0/ghc_2511.lm_s '--enable-tbaa=true' '-mattr=+v7,+vfp3,+d16' '-float-abi=hard'
*** LLVM Mangler:
*** Assembler:
/usr/bin/gcc -marm -fno-stack-protector -DTABLES_NEXT_TO_CODE -Isrc/Graphics/Rendering/OpenGL/Raw/AMD -Idist/build -Idist/build -Idist/build/autogen -Idist/build -x assembler -c /tmp/ghc40bc_0/ghc_2515.s -o dist/build/Graphics/Rendering/OpenGL/Raw/AMD/VertexShaderTessellator.o
*** CorePrep:
Result size of CorePrep = {terms: 0, types: 0, coercions: 0}
*** Stg2Stg:
*** CodeGen:
*** LLVM CodeGen:
Using LLVM version: 35
*** LLVM Optimiser:
/usr/bin/opt-3.5 /tmp/ghc40bc_0/ghc_2518.ll -o /tmp/ghc40bc_0/ghc_2524.bc -O1 -globalopt '--enable-tbaa=true'
*** LLVM Compiler:
/usr/bin/llc-3.5 -O2 '-relocation-model=pic' /tmp/ghc40bc_0/ghc_2524.bc -o /tmp/ghc40bc_0/ghc_2527.lm_s '--enable-tbaa=true' '-mattr=+v7,+vfp3,+d16' '-float-abi=hard'
*** LLVM Mangler:
*** Assembler:
/usr/bin/gcc -marm -fno-stack-protector -DTABLES_NEXT_TO_CODE -Isrc/Graphics/Rendering/OpenGL/Raw/AMD -Idist/build -Idist/build -Idist/build/autogen -Idist/build -fPIC -U__PIC__ -D__PIC__ -x assembler -c /tmp/ghc40bc_0/ghc_2532.s -o dist/build/Graphics/Rendering/OpenGL/Raw/AMD/VertexShaderTessellator.dyn_o
*** Deleting temp files:
Deleting: /tmp/ghc40bc_0/ghc_2532.s /tmp/ghc40bc_0/ghc_2527.lm_s /tmp/ghc40bc_0/ghc_2524.bc /tmp/ghc40bc_0/ghc_2520.c /tmp/ghc40bc_0/ghc_2518.ll /tmp/ghc40bc_0/ghc_2515.s /tmp/ghc40bc_0/ghc_2511.lm_s /tmp/ghc40bc_0/ghc_2505.bc /tmp/ghc40bc_0/ghc_2503.c /tmp/ghc40bc_0/ghc_2502.ll /tmp/ghc40bc_0/ghc_2492.ll
Warning: deleting non-existent /tmp/ghc40bc_0/ghc_2520.c
Warning: deleting non-existent /tmp/ghc40bc_0/ghc_2503.c
Warning: deleting non-existent /tmp/ghc40bc_0/ghc_2492.ll
compile: input file src/Graphics/Rendering/OpenGL/Raw/AMD/StencilOperationExtended.hs
:
:

Comment 1 Jens Petersen 2016-09-02 02:50:21 UTC
Created attachment 1197041 [details]
build.log.gz

Full example build log has over 100 fork failures.

Comment 2 Fedora Update System 2017-03-11 11:45:19 UTC
haskell-platform-2017.8.0.2-5.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-f86736c64a

Comment 3 Fedora Update System 2017-03-13 09:20:43 UTC
haskell-platform-2017.8.0.2-6.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-f86736c64a

Comment 4 Fedora Update System 2017-04-01 16:55:59 UTC
haskell-platform-2017.8.0.2-6.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.