
#9480: Segfault in GHC API code using Shelly -------------------------------------+------------------------------------- Reporter: agibiansky | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: GHC API | Version: 7.8.3 Resolution: | Keywords: Operating System: Linux | Architecture: Unknown/Multiple Type of failure: Runtime | Difficulty: Unknown crash | Blocked By: Test Case: | Related Tickets: #8935 Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by rwbarton): Here is the corresponding `-Dl` output when I build the snippet with 7.6: {{{ Rel entry 101325 is raw(0x323c63 0x113a700000002 0xfffffffffffffffc) lookupSymbol: looking up environ initLinker: start initLinker: idempotent return lookupSymbol: symbol not found `environ' resolves to 0x24af250 Reloc: P = 0x40429ca3 S = 0x24af250 A = 0xfffffffffffffffc }}} This time the linker found `environ` in the executable, which is good (as it's near where we load object files): {{{ rwbarton@morphism:/tmp/shl$ nm /tmp/shl/shl [...] 00000000024af250 V environ@@GLIBC_2.2.5 [...] }}} So, the problem must be that in 7.8 `internal_dlsym` is finding `environ` in one of the `openedSOs` before it gets to looking in the executable. Why does it not look in the executable first? Time to reread #8935 I guess... -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9480#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler