[GHC] #8933: process007: internal error: checkStackFrame: weird activation record found on stack

GHC ghc-devs at haskell.org
Thu Mar 27 12:03:02 UTC 2014


#8933: process007: internal error: checkStackFrame: weird activation record found
on stack
------------------------------------+----------------------------------
       Reporter:  trommler          |             Owner:
           Type:  bug               |            Status:  new
       Priority:  normal            |         Milestone:  7.8.1
      Component:  Compiler          |           Version:  7.8.1-rc2
       Keywords:                    |  Operating System:  Linux
   Architecture:  Unknown/Multiple  |   Type of failure:  Runtime crash
     Difficulty:  Unknown           |         Test Case:  process007
     Blocked By:                    |          Blocking:
Related Tickets:                    |
------------------------------------+----------------------------------
 On an unregisterised compiler process007 segfaults in all WAYS.

 Here is a stack trace from a run with {{{+RTS -DS}}} on an x86_64 machine:
 {{{
  Starting program: /home/trp/research/ghc-
 unreg/ghc-7.8/libraries/process/tests/process007 +RTS -DS
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib64/libthread_db.so.1".
 cap 0: initialised
 process007: internal error: checkStackFrame: weird activation record found
 on stack (0x7ffff69050b8 281051976).
     (GHC version 7.8.0.20140324 for x86_64_unknown_linux)
     Please report this as a GHC bug:
 http://www.haskell.org/ghc/reportabug

 Program received signal SIGABRT, Aborted.
 0x00007ffff6a95849 in raise () from /lib64/libc.so.6
 (gdb) where
 #0  0x00007ffff6a95849 in raise () from /lib64/libc.so.6
 #1  0x00007ffff6a96cd8 in abort () from /lib64/libc.so.6
 #2  0x00000000008172af in rtsFatalInternalErrorFn (
     s=0x894080 "checkStackFrame: weird activation record found on stack
 (%p %d).", ap=0x7fffffffd968) at rts/RtsMessages.c:170
 #3  0x0000000000816ee7 in barf (
     s=0x894080 "checkStackFrame: weird activation record found on stack
 (%p %d).") at rts/RtsMessages.c:42
 #4  0x00000000008355e2 in checkStackFrame (c=0x7ffff69050b8)
     at rts/sm/Sanity.c:165
 #5  0x000000000083560a in checkStackChunk (sp=0x7ffff69050b8,
     stack_end=0x7ffff6905390) at rts/sm/Sanity.c:177
 #6  0x0000000000836100 in checkSTACK (stack=0x7ffff6905000)
     at rts/sm/Sanity.c:497
 #7  0x0000000000836254 in checkTSO (tso=0x7ffff6905390) at
 rts/sm/Sanity.c:535
 #8  0x000000000082625a in threadStackOverflow (cap=0xd79740
 <MainCapability>,
     tso=0x7ffff6905390) at rts/Threads.c:500
 #9  0x000000000082226a in schedule (
     initialCapability=0xd79740 <MainCapability>, task=0xd9a4e0)
     at rts/Schedule.c:528
 #10 0x00000000008236b3 in scheduleWaitThread (tso=0x7ffff6905390, ret=0x0,
     pcap=0x7fffffffdcc0) at rts/Schedule.c:2346
 #11 0x0000000000824d63 in rts_evalLazyIO (cap=0x7fffffffdcc0,
     p=0xbd4da0 <ZCMain_main_closure>, ret=0x0) at rts/RtsAPI.c:500
 #12 0x00000000008272de in real_main () at rts/RtsMain.c:63
 #13 0x00000000008273d1 in hs_main (argc=3, argv=0x7fffffffde48,
     main_closure=0xbd4da0 <ZCMain_main_closure>, rts_config=...)
     at rts/RtsMain.c:114
 #14 0x000000000040849f in main ()
 }}}

 Running without the RTS flags:
 {{{
 Program received signal SIGSEGV, Segmentation fault.
 0x00000000008307ed in StgRun (f=0xd79758b8e5894855,
     basereg=0xd79758 <MainCapability+24>) at rts/StgCRun.c:81
 81              f = (StgFunPtr) (f)();
 (gdb) where
 #0  0x00000000008307ed in StgRun (f=0xd79758b8e5894855,
     basereg=0xd79758 <MainCapability+24>) at rts/StgCRun.c:81
 #1  0x0000000000822022 in schedule (
     initialCapability=0xd79740 <MainCapability>, task=0xd9a470)
     at rts/Schedule.c:463
 #2  0x00000000008236b3 in scheduleWaitThread (tso=0x7ffff6905390, ret=0x0,
     pcap=0x7fffffffdcd0) at rts/Schedule.c:2346
 #3  0x0000000000824d63 in rts_evalLazyIO (cap=0x7fffffffdcd0,
     p=0xbd4da0 <ZCMain_main_closure>, ret=0x0) at rts/RtsAPI.c:500
 #4  0x00000000008272de in real_main () at rts/RtsMain.c:63
 #5  0x00000000008273d1 in hs_main (argc=1, argv=0x7fffffffde58,
     main_closure=0xbd4da0 <ZCMain_main_closure>, rts_config=...)
     at rts/RtsMain.c:114
 #6  0x000000000040849f in main ()
 }}}

 The value of f in StgRun looks strange the first three bytes are the same
 as basereg {{{0xd79758}}}.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8933>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list