
#7767: "internal error: evacuate: strange closure type 154886248" crash --------------------------+------------------------------------------------- Reporter: rodlogic | Owner: Type: bug | Status: new Priority: normal | Component: Runtime System Version: 7.6.2 | Keywords: Os: MacOS X | Architecture: x86_64 (amd64) Failure: Runtime crash | Blockedby: Blocking: | Related: --------------------------+------------------------------------------------- Comment(by rodlogic): The issue seems to be in ghc-heap-view, which relies on some C hackery to get to RTS heap objects. One of these hacks copies and pastes code from Printer.c and is very dependent on RTS heap layout. This a diff in one of these copy&paste: {{{ --- untitled.c Wed Mar 13 19:45:38 2013 +++ untitled2.c Wed Mar 13 19:45:52 2013 @@ -1,4 +1,4 @@ -char *gtc_heap_view_closure_type_names[] = { +char *closure_type_names[] = { [INVALID_OBJECT] = "INVALID_OBJECT", [CONSTR] = "CONSTR", [CONSTR_1_0] = "CONSTR_1_0", @@ -33,16 +33,16 @@ [RET_BCO] = "RET_BCO", [RET_SMALL] = "RET_SMALL", [RET_BIG] = "RET_BIG", - [RET_DYN] = "RET_DYN", [RET_FUN] = "RET_FUN", [UPDATE_FRAME] = "UPDATE_FRAME", [CATCH_FRAME] = "CATCH_FRAME", [UNDERFLOW_FRAME] = "UNDERFLOW_FRAME", [STOP_FRAME] = "STOP_FRAME", + [BLOCKING_QUEUE] = "BLOCKING_QUEUE", [BLACKHOLE] = "BLACKHOLE", - [BLOCKING_QUEUE] = "BLOCKING_QUEUE", [MVAR_CLEAN] = "MVAR_CLEAN", [MVAR_DIRTY] = "MVAR_DIRTY", + [TVAR] = "TVAR", [ARR_WORDS] = "ARR_WORDS", [MUT_ARR_PTRS_CLEAN] = "MUT_ARR_PTRS_CLEAN", [MUT_ARR_PTRS_DIRTY] = "MUT_ARR_PTRS_DIRTY", @@ -51,7 +51,7 @@ [MUT_VAR_CLEAN] = "MUT_VAR_CLEAN", [MUT_VAR_DIRTY] = "MUT_VAR_DIRTY", [WEAK] = "WEAK", - [PRIM] = "PRIM", + [PRIM] = "PRIM", [MUT_PRIM] = "MUT_PRIM", [TSO] = "TSO", [STACK] = "STACK", }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7767#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler