[GHC] #13378: ghc-stage2 broken for quick-llvm
GHC
ghc-devs at haskell.org
Sun Mar 5 14:08:09 UTC 2017
#13378: ghc-stage2 broken for quick-llvm
-------------------------------------+-------------------------------------
Reporter: angerman | Owner: (none)
Type: bug | Status: new
Priority: highest | Milestone: 8.2.1
Component: Compiler | Version:
Keywords: | Operating System: MacOS X
Architecture: x86_64 | Type of failure: Building GHC
(amd64) | failed
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
Building recent HEAD (e.g. 669333d8) with llvm via quick-llvm fails.
The stage2 compiler is broken.
Building the compiler with quick-llvm
{{{
"inplace/bin/ghc-stage1" -o ghc/stage2/build/tmp/ghc-stage2 -hisuf dyn_hi
-osuf dyn_o -hcsuf dyn_hc -fPIC -dynamic -O0 -H64m -fllvm -Wall
-hide-all-packages -i -ighc/. -ighc/stage2/build -Ighc/stage2/build
-ighc/stage2/build/ghc/autogen -Ighc/stage2/build/ghc/autogen -optP-
DGHCI -optP-include -optPghc/stage2/build/ghc/autogen/cabal_macros.h
-package-id base-4.10.0.0 -package-id array-0.5.1.2 -package-id
bytestring-0.10.8.2 -package-id directory-1.3.0.2 -package-id
process-1.4.3.0 -package-id filepath-1.4.1.1 -package-id ghc-boot-8.1
-package-id ghc-8.1 -package-id unix-2.7.2.1 -package-id
containers-0.5.10.2 -package-id deepseq-1.4.3.0 -package-id ghci-8.1
-package-id haskeline-0.7.3.0 -package-id time-1.8 -package-id
transformers-0.5.2.0 -Wall -fno-warn-name-shadowing -XHaskell2010 -O0
-no-hs-main -threaded -no-user-package-db -rtsopts -Wnoncanonical-
monad-instances -odir ghc/stage2/build -hidir ghc/stage2/build -stubdir
ghc/stage2/build -optl-optl-Wl,-arch -optl-optl-Wl,x86_64 -fPIC
-dynamic -O0 -H64m -fllvm -Wall -hide-all-packages -i -ighc/.
-ighc/stage2/build -Ighc/stage2/build -ighc/stage2/build/ghc/autogen
-Ighc/stage2/build/ghc/autogen -optP-DGHCI -optP-include
-optPghc/stage2/build/ghc/autogen/cabal_macros.h -package-id base-4.10.0.0
-package-id array-0.5.1.2 -package-id bytestring-0.10.8.2 -package-id
directory-1.3.0.2 -package-id process-1.4.3.0 -package-id filepath-1.4.1.1
-package-id ghc-boot-8.1 -package-id ghc-8.1 -package-id unix-2.7.2.1
-package-id containers-0.5.10.2 -package-id deepseq-1.4.3.0 -package-id
ghci-8.1 -package-id haskeline-0.7.3.0 -package-id time-1.8 -package-id
transformers-0.5.2.0 -Wall -fno-warn-name-shadowing -XHaskell2010 -O0
-no-hs-main -threaded -no-user-package-db -rtsopts -Wnoncanonical-
monad-instances -fno-use-rpaths -optl-Wl,-rpath -optl-
Wl,'@loader_path/../haskeline-0.7.3.0' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../ghc-8.1' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../terminfo-0.4.0.2' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../hoopl-3.10.2.2' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../ghci-8.1' -optl-Wl,-rpath -optl-Wl,'@loader_path
/../ghc-boot-8.1' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../transformers-0.5.2.0' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../hpc-0.6.0.3' -optl-Wl,-rpath -optl-Wl,'@loader_path
/../template-haskell-2.12.0.0' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../pretty-1.1.3.3' -optl-Wl,-rpath -optl-Wl,'@loader_path
/../ghc-boot-th-8.1' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../process-1.4.3.0' -optl-Wl,-rpath-optl-
Wl,'@loader_path/../directory-1.3.0.2' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../unix-2.7.2.1' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../filepath-1.4.1.1' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../time-1.8' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../binary-0.8.4.1' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../containers-0.5.10.2' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../bytestring-0.10.8.2' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../deepseq-1.4.3.0' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../array-0.5.1.2' -optl-Wl,-rpath -optl-
Wl,'@loader_path/../base-4.10.0.0' -optl-Wl,-rpath -optl-Wl,'@loader_path
/../integer-gmp-1.0.0.1' -optl-Wl,-rpath -optl-Wl,'@loader_path/../ghc-
prim-0.5.0.0' -optl-Wl,-rpath -optl-Wl,'@loader_path/../rts'
ghc/stage2/build/Main.dyn_o ghc/stage2/build/GHCi/UI.dyn_o
ghc/stage2/build/GHCi/UI/Info.dyn_o ghc/stage2/build/GHCi/UI/Monad.dyn_o
ghc/stage2/build/GHCi/UI/Tags.dyn_o ghc/stage2/build/hschooks.dyn_o
Warning: -rtsopts and -with-rtsopts have no effect with -no-hs-main.
Call hs_init_ghc() from your main() function to set these options.
/usr/bin/install -c -m 755 ghc/stage2/build/tmp/ghc-stage2 inplace/lib/bin
/ghc-stage2
"rm" -f inplace/bin
/ghc-stage2
echo '#!/bin/sh' >>
inplace/bin/ghc-stage2
echo 'executablename="/ghc/inplace/lib/bin/ghc-stage2"'
>> inplace/bin/ghc-stage2
echo 'datadir="/ghc/inplace/lib"' >>
inplace/bin/ghc-stage2
echo 'bindir="/ghc/inplace/bin"' >>
inplace/bin/ghc-stage2
echo 'topdir="/ghc/inplace/lib"' >> inplace/bin
/ghc-stage2
echo 'pgmgcc="gcc"' >>
inplace/bin/ghc-stage2
echo 'export DYLD_LIBRARY_PATH="/ghc/libraries/haskeline/dist-
install/build:/ghc/compiler/stage2/build:/ghc/libraries/terminfo/dist-
install/build:/ghc/libraries/hoopl/dist-install/build:/ghc/libraries/ghci
/dist-install/build:/ghc/libraries/ghc-boot/dist-
install/build:/ghc/libraries/transformers/dist-
install/build:/ghc/libraries/hpc/dist-install/build:/ghc/libraries
/template-haskell/dist-install/build:/ghc/libraries/pretty/dist-
install/build:/ghc/libraries/ghc-boot-th/dist-
install/build:/ghc/libraries/process/dist-
install/build:/ghc/libraries/directory/dist-
install/build:/ghc/libraries/unix/dist-
install/build:/ghc/libraries/filepath/dist-
install/build:/ghc/libraries/time/dist-install/build:/ghc/libraries/binary
/dist-install/build:/ghc/libraries/containers/dist-
install/build:/ghc/libraries/bytestring/dist-
install/build:/ghc/libraries/deepseq/dist-
install/build:/ghc/libraries/array/dist-install/build:/ghc/libraries/base
/dist-install/build:/ghc/libraries/integer-gmp/dist-
install/build:/ghc/libraries/ghc-prim/dist-
install/build:/ghc/rts/dist/build${DYLD_LIBRARY_PATH:+:$DYLD_LIBRARY_PATH}"'
>> inplace/bin/ghc-stage2
cat ghc/ghc.wrapper >> inplace/bin
/ghc-stage2
chmod +x inplace/bin
/ghc-stage2
"inplace/bin/ghc-stage2" -hisuf dyn_hi -osuf dyn_o -hcsuf dyn_hc -fPIC
-dynamic -O0 -H64m -fllvm -Wall -hide-all-packages -i
-iutils/ghctags/. -iutils/ghctags/dist-install/build -Iutils/ghctags/dist-
install/build -iutils/ghctags/dist-install/build/ghctags/autogen
-Iutils/ghctags/dist-install/build/ghctags/autogen -optP-include
-optPutils/ghctags/dist-install/build/ghctags/autogen/cabal_macros.h
-package-id base-4.10.0.0 -package-id containers-0.5.10.2 -package-id
Cabal-2.0.0.0 -package-id ghc-8.1 -XHaskell2010 -no-user-package-db
-rtsopts -Wnoncanonical-monad-instances -odir utils/ghctags/dist-
install/build -hidir utils/ghctags/dist-install/build -stubdir
utils/ghctags/dist-install/build -c utils/ghctags/./Main.hs -o
utils/ghctags/dist-install/build/Main.dyn_o
"inplace/bin/ghc-stage2" -hisuf dyn_hi -osuf dyn_o -hcsuf dyn_hc -fPIC
-dynamic -O0 -H64m -fllvm -Wall -hide-all-packages -i -iutils/check-
api-annotations/. -iutils/check-api-annotations/dist-install/build -Iutils
/check-api-annotations/dist-install/build -iutils/check-api-annotations
/dist-install/build/check-api-annotations/autogen -Iutils/check-api-
annotations/dist-install/build/check-api-annotations/autogen -optP-
include -optPutils/check-api-annotations/dist-install/build/check-api-
annotations/autogen/cabal_macros.h -package-id base-4.10.0.0 -package-id
containers-0.5.10.2 -package-id Cabal-2.0.0.0 -package-id
directory-1.3.0.2 -package-id ghc-8.1 -Wall -XHaskell2010 -no-user-
package-db -rtsopts -Wnoncanonical-monad-instances -odir utils
/check-api-annotations/dist-install/build -hidir utils/check-api-
annotations/dist-install/build -stubdir utils/check-api-annotations/dist-
install/build -c utils/check-api-annotations/./Main.hs -o utils/check-
api-annotations/dist-install/build/Main.dyn_o
"inplace/bin/ghc-stage2" -hisuf dyn_hi -osuf dyn_o -hcsuf dyn_hc -fPIC
-dynamic -O0 -H64m -fllvm -Wall -hide-all-packages -i -iutils/check-
ppr/. -iutils/check-ppr/dist-install/build -Iutils/check-ppr/dist-
install/build -iutils/check-ppr/dist-install/build/check-ppr/autogen
-Iutils/check-ppr/dist-install/build/check-ppr/autogen -optP-include
-optPutils/check-ppr/dist-install/build/check-ppr/autogen/cabal_macros.h
-package-id base-4.10.0.0 -package-id bytestring-0.10.8.2 -package-id
containers-0.5.10.2 -package-id Cabal-2.0.0.0 -package-id
directory-1.3.0.2 -package-id filepath-1.4.1.1 -package-id ghc-8.1 -Wall
-XHaskell2010 -no-user-package-db -rtsopts -Wnoncanonical-monad-
instances -odir utils/check-ppr/dist-install/build -hidir utils/check-ppr
/dist-install/build -stubdir utils/check-ppr/dist-install/build -c
utils/check-ppr/./Main.hs -o utils/check-ppr/dist-install/build/Main.dyn_o
ghc-stage2: internal error: ghc-stage2: internal error: ghc-stage2:
internal error: evacuate(static): strange closure type 0evacuate(static):
strange closure type 0evacuate(static): strange closure type 0
(GHC version 8.1.20170304 for x86_64_apple_darwin)
(GHC version 8.1.20170304 for x86_64_apple_darwin)
(GHC version 8.1.20170304 for x86_64_apple_darwin)
Please report this as a GHC bug:
http://www.haskell.org/ghc/reportabug
Please report this as a GHC bug:
http://www.haskell.org/ghc/reportabug
Please report this as a GHC bug:
http://www.haskell.org/ghc/reportabug
make[1]: *** [utils/check-ppr/dist-install/build/Main.dyn_o] Abort trap: 6
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [utils/check-api-annotations/dist-install/build/Main.dyn_o]
Abort trap: 6
make[1]: *** [utils/ghctags/dist-install/build/Main.dyn_o] Abort trap: 6
make: *** [all] Error 2
}}}
Building and linking against the debug rts, gives the following result in
lldb.
{{{
(lldb) settings set -- target.run-args "+RTS" "-DS" "-Dl" "-Ds" "-RTS"
(lldb) run
Process 3546 launched: '/ghc/inplace/lib/bin/ghc-stage2' (x86_64)
7fffae4753c0: created capset 0 of type 2
7fffae4753c0: created capset 1 of type 3
7fffae4753c0: cap 0: initialised
7fffae4753c0: assigned cap 0 to capset 0
7fffae4753c0: assigned cap 0 to capset 1
7fffae4753c0: allocated 1 more capabilities
7fffae4753c0: new task (taskCount: 1)
7fffae4753c0: returning; I want capability 0
7fffae4753c0: resuming capability 0
7fffae4753c0: cap 0: created thread 1
7fffae4753c0: new bound thread (1)
7fffae4753c0: cap 0: schedule()
ghc-stage2: internal error: ASSERTION FAILED: file rts/sm/Sanity.c, line
88
(GHC version 8.1.20170304 for x86_64_apple_darwin)
Please report this as a GHC bug:
http://www.haskell.org/ghc/reportabug
Process 3546 stopped
* thread #1: tid = 0x6df55a1, 0x00007fffa5756dd6
libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-
thread', stop reason = signal SIGABRT
frame #0: 0x00007fffa5756dd6 libsystem_kernel.dylib`__pthread_kill +
10
libsystem_kernel.dylib`__pthread_kill:
-> 0x7fffa5756dd6 <+10>: jae 0x7fffa5756de0 ; <+20>
0x7fffa5756dd8 <+12>: movq %rax, %rdi
0x7fffa5756ddb <+15>: jmp 0x7fffa574fcdf ;
cerror_nocancel
0x7fffa5756de0 <+20>: retq
(lldb) bt all
warning: could not load any Objective-C class information. This will
significantly reduce the quality of type information available.
* thread #1: tid = 0x6df55a1, 0x00007fffa5756dd6
libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-
thread', stop reason = signal SIGABRT
* frame #0: 0x00007fffa5756dd6 libsystem_kernel.dylib`__pthread_kill +
10
frame #1: 0x00007fffa5842787 libsystem_pthread.dylib`pthread_kill + 90
frame #2: 0x00007fffa56bc420 libsystem_c.dylib`abort + 129
frame #3: 0x0000000102d09e61 ghc-
stage2`rtsFatalInternalErrorFn(s="ASSERTION FAILED: file %s, line %u\n",
ap=0x00007fff5fbfefe0) + 273 at RtsMessages.c:182
frame #4: 0x0000000102d0a16a ghc-stage2`barf(s="ASSERTION FAILED: file
%s, line %u\n") + 346 at RtsMessages.c:46
frame #5: 0x0000000102d0a1a7 ghc-
stage2`_assertFail(filename="rts/sm/Sanity.c", linenum=88) + 39 at
RtsMessages.c:61
frame #6: 0x0000000102d3358e ghc-
stage2`checkClosureShallow(p=0x0000000103412930) + 62 at Sanity.c:88
frame #7: 0x0000000102d31422 ghc-
stage2`checkSmallBitmap(payload=0x0000000105c05368, bitmap=0, size=1) + 66
at Sanity.c:53
frame #8: 0x0000000102d31181 ghc-
stage2`checkStackFrame(c=0x0000000105c05360) + 161 at Sanity.c:114
frame #9: 0x0000000102d3157b ghc-
stage2`checkStackChunk(sp=0x0000000105c05360,
stack_end=0x0000000105c05388) + 43 at Sanity.c:171
frame #10: 0x0000000102d321d4 ghc-
stage2`checkSTACK(stack=0x0000000105c05000) + 116 at Sanity.c:515
frame #11: 0x0000000102d32154 ghc-
stage2`checkTSO(tso=0x0000000105c05388) + 372 at Sanity.c:553
frame #12: 0x0000000102d10edd ghc-
stage2`schedule(initialCapability=0x000000010353b640,
task=0x0000000105900c30) + 461 at Schedule.c:323
frame #13: 0x0000000102d10b7b ghc-
stage2`scheduleWaitThread(tso=0x0000000105c05388, ret=0x0000000000000000,
pcap=0x00007fff5fbff328) + 203 at Schedule.c:2552
frame #14: 0x0000000102d06655 ghc-
stage2`rts_evalIO(cap=0x00007fff5fbff328, p=0x0000000103412930,
ret=0x0000000000000000) + 69 at RtsAPI.c:460
frame #15: 0x0000000102d46860 ghc-
stage2`ioManagerStartCap(cap=0x00007fff5fbff328) + 32 at Signals.c:211
frame #16: 0x0000000102d4689e ghc-stage2`ioManagerStart + 46 at
Signals.c:221
frame #17: 0x0000000102d0a9cb ghc-
stage2`hs_init_ghc(argc=0x00007fff5fbff558, argv=0x00007fff5fbff550,
rts_config=RtsConfig @ 0x00007fff5fbff4c0) + 843 at RtsStartup.c:290
frame #18: 0x0000000102d09c8a ghc-stage2`hs_main(argc=1,
argv=0x00007fff5fbff690, main_closure=0x00000001030fd720,
rts_config=RtsConfig @ 0x00007fff5fbff570) + 58 at RtsMain.c:51
frame #19: 0x00000001000c2b9c ghc-stage2`main + 188
frame #20: 0x00007fffa5628255 libdyld.dylib`start + 1
thread #2: tid = 0x6df560a, 0x00007fffa5756fda
libsystem_kernel.dylib`__semwait_signal + 10
frame #0: 0x00007fffa5756fda libsystem_kernel.dylib`__semwait_signal +
10
frame #1: 0x00007fffa56ddb72 libsystem_c.dylib`nanosleep + 199
frame #2: 0x00007fffa56dda66 libsystem_c.dylib`usleep + 54
frame #3: 0x0000000102d45a02 ghc-
stage2`itimer_thread_func(_handle_tick=0x0000000102d1dc00) + 82 at
Pthread.c:132
frame #4: 0x00007fffa583faab libsystem_pthread.dylib`_pthread_body +
180
frame #5: 0x00007fffa583f9f7 libsystem_pthread.dylib`_pthread_start +
286
frame #6: 0x00007fffa583f1fd libsystem_pthread.dylib`thread_start + 13
(lldb) dis -s 0x0000000103412930
ghc-stage2`base_GHCziConcziIO_ensureIOManagerIsRunning_closure:
0x103412930 <+0>: andb %cl, %al
0x103412932 <+2>: wait
0x103412933 <+3>: addb (%rcx), %al
0x103412935 <+5>: addb %al, (%rax)
0x103412937 <+7>: addb %al, (%rax)
0x103412939 <+9>: addb %al, (%rax)
0x10341293b <+11>: addb %al, (%rax)
0x10341293d <+13>: addb %al, (%rax)
0x10341293f <+15>: addb %dl, -0x38(%rax)
ghc-stage2`base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure:
0x103412942 <+2>: wait
0x103412943 <+3>: addb (%rcx), %al
0x103412945 <+5>: addb %al, (%rax)
0x103412947 <+7>: addb %al, (%rax)
0x103412949 <+9>: addb %al, (%rax)
0x10341294b <+11>: addb %al, (%rax)
0x10341294d <+13>: addb %al, (%rax)
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13378>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list