[GHC] #13501: TH segmentation fault on Linux when calling function from another package
GHC
ghc-devs at haskell.org
Thu Mar 30 13:07:56 UTC 2017
#13501: TH segmentation fault on Linux when calling function from another package
-------------------------------------+-------------------------------------
Reporter: jmaki | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.2
Resolution: | Keywords:
Operating System: Linux | Architecture: x86_64
Type of failure: Compile-time | (amd64)
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
Thanks for the repro!
There is definitely something fishy here. GDB says,
{{{
Thread 1 received signal SIGSEGV, Segmentation fault.
0x00007f631235ed30 in base_GHCziBase_return_info () from
/opt/exp/ghc/roots/master/lib/ghc-8.3.20170329/bin/../base-4.10.0.0/libHSbase-4.10.0.0-ghc8.3.20170329.so
(rr) bt
#0 0x00007f631235ed30 in base_GHCziBase_return_info () from
/opt/exp/ghc/roots/master/lib/ghc-8.3.20170329/bin/../base-4.10.0.0/libHSbase-4.10.0.0-ghc8.3.20170329.so
#1 0x0000000000000000 in ?? ()
(rr)
}}}
passing `+RTS -Dl` we get the following forboding warnings,
{{{
...
Rel entry 4 is raw( 0x54 0x160000000b (nil)) lookupSymbol: looking
up stg_ap_p_info
lookupSymbol: value of stg_ap_p_info is 0x7f63112740c8
`stg_ap_p_info' resolves to 0x7f63112740c8
Reloc: P = 0x401311ec S = 0x7f63112740c8 A = (nil)
Rel entry 5 is raw( 0x5c 0x170000000b 0x1) lookupSymbol: looking
up ghczmprim_GHCziTypes_ZMZN_closure
lookupSymbol: symbol not found
`ghczmprim_GHCziTypes_ZMZN_closure' resolves to 0x7f6311b41d50
Reloc: P = 0x401311f4 S = 0x7f6311b41d50 A = 0x1
Rel entry 6 is raw( 0x65 0x1800000002 0xfffffffffffffffc)
lookupSymbol: looking up base_GHCziBase_return_info
lookupSymbol: symbol not found
`base_GHCziBase_return_info' resolves to 0x7f631235ed10
Reloc: P = 0x401311fd S = 0x7f631235ed10 A = 0xfffffffffffffffc
relocations for section 3 using symtab 11
Rel entry 0 is raw( (nil) 0xe00000001 (nil)) lookupSymbol: looking up
ghczmprim_GHCziTypes_TrNameS_con_info
lookupSymbol: symbol not found
`ghczmprim_GHCziTypes_TrNameS_con_info' resolves to 0x7f63118655c0
Reloc: P = 0x40131208 S = 0x7f63118655c0 A = (nil)
...
}}}
Looking at the `libHSbase` archive, we see,
{{{
$ objdump -x
/opt/exp/ghc/roots/master/lib/ghc-8.3.20170329/base-4.10.0.0/libHSbase-4.10.0.0.a
| less
...
SYMBOL TABLE:
...
0000000000000000 *UND* 0000000000000000
base_GHCziBase_return_info
}}}
Very interesting.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13501#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list