[GHC] #7636: threadStackUnderflow: not enough space for return values

GHC cvs-ghc at haskell.org
Mon Feb 4 12:33:58 CET 2013


#7636: threadStackUnderflow: not enough space for return values
-------------------------------+--------------------------------------------
    Reporter:  mojojojo        |       Owner:  simonmar    
        Type:  bug             |      Status:  new         
    Priority:  normal          |   Milestone:              
   Component:  Compiler        |     Version:  7.6.1       
    Keywords:                  |          Os:  MacOS X     
Architecture:  x86_64 (amd64)  |     Failure:  None/Unknown
  Difficulty:  Unknown         |    Testcase:              
   Blockedby:                  |    Blocking:              
     Related:                  |  
-------------------------------+--------------------------------------------

Comment(by simonmar):

 Could I get you to do some debugging for me?  I need you to compile the
 program with `-debug`, and then run it under gdb.  When it crashes, you
 should be able to say `bt` and get a backtrace that includes
 `threadStackUnderflow`, in particular this bit of code:

 {{{
         // we have some return values to copy to the old stack
         if ((W_)(new_stack->sp - new_stack->stack) < retvals)
         {
             barf("threadStackUnderflow: not enough space for return
 values");
         }
 }}}

 I need to know the values of `retvals`, `new_stack->sp`, and
 `new_stack->sp`.

 I think this crash can occur, but it should be very very very rare.
 Before I fix it, I need to ensure that something else hasn't gone wrong to
 cause this crash to happen, because then I'd need to find the root cause
 before adding a workaround.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7636#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list