[commit: ghc] master: Tidy up tso->stackobj before calling threadStackUnderflow (#7636) (2f7044d)

Simon Marlow marlowsd at gmail.com
Thu Feb 7 11:25:30 CET 2013


Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/2f7044dee40ba6eadc1877ec49c30e1695d63fe4

>---------------------------------------------------------------

commit 2f7044dee40ba6eadc1877ec49c30e1695d63fe4
Author: Simon Marlow <marlowsd at gmail.com>
Date:   Thu Feb 7 09:55:20 2013 +0000

    Tidy up tso->stackobj before calling threadStackUnderflow (#7636)
    
    Fixes the following crash:
    
      internal error: threadStackUnderflow: not enough space for return values
    
    when using STM.

>---------------------------------------------------------------

 rts/Schedule.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/rts/Schedule.c b/rts/Schedule.c
index a21b312..5f48ef6 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -2772,6 +2772,7 @@ findRetryFrameHelper (Capability *cap, StgTSO *tso)
     }
       
     case UNDERFLOW_FRAME:
+        tso->stackobj->sp = p;
         threadStackUnderflow(cap,tso);
         p = tso->stackobj->sp;
         continue;





More information about the ghc-commits mailing list