[GHC] #7767: "internal error: evacuate: strange closure type 154886248" crash

GHC cvs-ghc at haskell.org
Thu Mar 14 00:09:39 CET 2013


#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



More information about the ghc-tickets mailing list