#9268: internal error: evacuate(static): strange closure type -385875968 -------------------------------------+------------------------------------- Reporter: brbr | Owner: Type: bug | Status: new Priority: high | Milestone: 7.10.1 Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Linux | Architecture: Unknown/Multiple Type of failure: Building | Difficulty: Unknown GHC failed | Blocked By: Test Case: | Related Tickets: Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by rwbarton): I'm having a strong sense of deja vu here. {{{ (gdb) print p->payload[0] $19 = (struct StgClosure_ *) 0x7fc6475e2861 <stg_CHARLIKE_closure+1825> (gdb) print *((struct StgClosure_ *)0x7fc6475e2860) $20 = {header = {info = 0x403310 <ghczmprim_GHCziTypes_Czh_static_info@plt>}, payload = 0x7fc6475e2868 <stg_CHARLIKE_closure+1832>} }}} Note the info pointer pointing into the PLT. That's not good, there is no info table before the PLT entry! I seem to recall debugging the same issue and the problem being that LLVM was emitting `@function`s instead of `@objects`. Somehow the LLVM mangler isn't doing its job. But I don't understand why not. It seems to operate properly when I run it manually. Perhaps I should try building the stage1 compiler with the NCG and then the RTS and libraries with `-fllvm`, in case there is some pernicious bug in the LLVM backend affecting the LLVM mangler... -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9268#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler