
#15508: concprog001 fails with various errors -------------------------------------+------------------------------------- Reporter: osa1 | Owner: osa1 Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Runtime crash | Test Case: Blocked By: | Blocking: Related Tickets: #15571 | Differential Rev(s): Phab:D5051 Wiki Page: | (reverted), Phab:D5165, Phab:D5178 -------------------------------------+------------------------------------- Comment (by osa1): Found another bug. In RaiseAsync.c: {{{ -- RaiseAsync.c:924 SET_HDR(ap,&stg_AP_STACK_NOUPD_info, ((StgClosure *)frame)->header.prof.ccs /* ToDo */); }}} We're reading CCS of an underflow frame, but underflow frames do not have profiling headers: {{{ typedef struct { const StgInfoTable* info; struct StgStack_ *next_chunk; } StgUnderflowFrame; }}} I also checked other stack frame definitions in `Closures.h`. Most of them have a proper header (`StgHeader`), except `StgUnderflowFrame` and `StgRetFun`. Simon, should we add proper headers to these frames or is the bug in somewhere else? I'm not sure when should a stack frame has a proper header (that includes profiling stuff in profiling builds) vs. just a info ptr. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15508#comment:32 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler