[GHC] #12537: Parallel cabal builds Segmentation Fault on PowerPC 64-bit
GHC
ghc-devs at haskell.org
Wed Jan 18 12:44:33 UTC 2017
#12537: Parallel cabal builds Segmentation Fault on PowerPC 64-bit
-------------------------------------+-------------------------------------
Reporter: michelmno | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: powerpc64
Type of failure: Incorrect result | Test Case:
at runtime |
Blocked By: 12469 | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by michelmno):
The trials I made in [comment:7 comment 7] was with ghc 8.0.1 with
following patches (as per spec file in OBS
https://build.opensuse.org/package/view_file/devel:languages:haskell/ghc/ghc.spec?expand=1
{{{
# PATCH-FIX-UPSTREAM D2495.patch peter.trommler at ohm-hochschule.de -- Add
missing memory barrier on mutable variables. See
https://ghc.haskell.org/trac/ghc/ticket/12469 for details. Backport of
upstream fix for ghc 8.0.2.
Patch27: D2495.patch
# PATCH-FIX_UPSTREAM 0001-StgCmmPrim-Add-missing-write-barrier.patch
peter.trommler at ohm-hochschule.de -- Add missing write barrier on mutable
arrays.
Patch28: 0001-StgCmmPrim-Add-missing-write-barrier.patch
# PATCH-FIX_UPSTREAM ghc-no-madv-free.patch psimons at suse.com -- Fix
"unable to decommit memory: Invalid argument" errors. See
https://ghc.haskell.org/trac/ghc/ticket/12495 for details.
Patch29: ghc-no-madv-free.patch
# PATCH-FIX-UPSTREAM 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch
peter.trommler at ohm-hochschule.de -- Fix PPC codegen: Fixes ghc-
zeromq4-haskell build on 64-bit PowerPCs
Patch30: 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch
}}}
The core dumps as reported by systemd-coredump are not always at same
address (as per journalctl output)
{{{
Jan 17 15:27:42 abanc kernel: ghc_worker[12624]: unhandled signal 11 at
38425a003c4c02f4 nip 38425a003c4c02f4 lr 00003fff8da98774 code 30001
Jan 17 15:28:01 abanc systemd-coredump[12677]: Process 12485 (Setup) of
user 1000 dumped core.
Jan 17 15:31:25 abanc kernel: ghc_worker[12822]: unhandled signal 11 at
0000000000000000 nip 00003fff8430b4f4 lr 00003fff84308774 code 30001
Jan 17 15:31:37 abanc systemd-coredump[12828]: Process 12793 (Setup) of
user 1000 dumped core.
Jan 17 15:32:34 abanc systemd-coredump[12827]: Process 12795 (ghc) of user
1000 dumped core.
Jan 17 15:34:18 abanc systemd-coredump[12676]: Process 12487 (ghc) of user
1000 dumped core.
Jan 17 15:42:23 abanc kernel: ghc_worker[14939]: unhandled signal 11 at
0000000000000000 nip 00003fff8122b4f4 lr 00003fff81228774 code 30001
Jan 17 15:42:41 abanc systemd-coredump[15017]: Process 14820 (Setup) of
user 1000 dumped core.
}}}
Trying to analyse one of the core file with gdb refer to SIGSEGV in
stg_ap_0_fast as per extract below.
I do not know how to continue investigation from there.
{{{
+ echo 'r -B/usr/lib64/ghc-8.0.1 '
+ exec gdb -c
/var/lib/systemd/coredump/core.ghc.1000.b44d99385b4c45eb840722189ffdf026.14822.1484667743000000
-x /tmp/gdbparms /usr/lib64/ghc-8.0.1/bin/ghc
GNU gdb (GDB; openSUSE Tumbleweed) 7.11.1
...
Reading symbols from /usr/lib64/ghc-8.0.1/bin/ghc...Reading symbols from
/usr/lib/debug/usr/lib64/ghc-8.0.1/bin/ghc.debug...done.
done.
[New LWP 14939]
[New LWP 14861]
[New LWP 14951]
...
[New LWP 14932]
[New LWP 14927]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/lib64/ghc-8.0.1/bin/ghc -B/usr/lib64/ghc-8.0.1
--make -fbuilding-cabal-pac'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00003fff8122b4f4 in stg_ap_0_fast () from
/usr/lib64/ghc-8.0.1/bin/../rts/libHSrts_thr-ghc8.0.1.so
[Current thread is 1 (Thread 0x3efdf27ff1a0 (LWP 14939))]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x3fffad6df1a0 (LWP 19906)]
[New Thread 0x3fffacedf1a0 (LWP 19907)]
[New Thread 0x3fffa7fff1a0 (LWP 19908)]
ghc: no input files
Usage: For basic information, try the `--help' option.
[Thread 0x3fffa7fff1a0 (LWP 19908) exited]
[Thread 0x3fffacedf1a0 (LWP 19907) exited]
[Thread 0x3fffad6df1a0 (LWP 19906) exited]
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12537#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list