GHC HEAD built with LLVM on Mac OS X miscompiles RTS: SIGSEGV in stg_PAP_apply
|Reported by:||thoughtpolice||Owned by:|
|Operating System:||MacOS X||Architecture:||Unknown/Multiple|
|Type of failure:||Runtime crash||Test Case:|
|Blocked By:||#7571, #7580||Blocking:||#7590|
|Related Tickets:||Differential Rev(s):|
$ cat no-op.hs main = return () $ ~/code/haskell/ghc/inplace/bin/ghc-stage1 -fforce-recomp -fllvm no-op.hs [1 of 1] Compiling Main ( no-op.hs, no-op.o ) Linking no-op ... $ ./no-op  12434 segmentation fault ./no-op $
This looks like an error in stg_PAP_apply:
gdb -q ./no-op ⏎ Reading symbols for shared libraries .... done (gdb) r Starting program: /Users/a/t/no-op Reading symbols for shared libraries +++............................. done Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: 13 at address: 0x0000000000000000 0x00000001002917d4 in stg_PAP_apply () (gdb)
I imagine this is due to some miscompilation of rts/Apply.cmm using LLVM.
I'll rebuild the stage1 compiler with debugging support for sanity, and also enable the debug RTS in the test, and report back soon.
(I imagine this failure is certainly possible *because* of my patches in the other tickets, although my intuition tells me those are strictly correctness fixes and something else is afoot here.)