[GHC] #8303: defer StackOverflow exceptions (rather than dropping them) when exceptions are masked

GHC ghc-devs at haskell.org
Sun Sep 15 02:38:12 CEST 2013


#8303: defer StackOverflow exceptions (rather than dropping them) when exceptions
are masked
------------------------------------+-------------------------------------
       Reporter:  rwbarton          |             Owner:
           Type:  bug               |            Status:  new
       Priority:  normal            |         Milestone:
      Component:  Runtime System    |           Version:  7.6.3
       Keywords:                    |  Operating System:  Unknown/Multiple
   Architecture:  Unknown/Multiple  |   Type of failure:  None/Unknown
     Difficulty:  Unknown           |         Test Case:
     Blocked By:                    |          Blocking:
Related Tickets:                    |
------------------------------------+-------------------------------------
 See
 http://www.reddit.com/r/haskell/comments/1luan1/strange_io_sequence_behaviour/
 for a very simple program (`main'`) that accidentally evades the stack
 size limit, running to completion even though it has allocated hundreds of
 megabytes of stack chunks, and
 [http://www.reddit.com/r/haskell/comments/1luan1/strange_io_sequence_behaviour/cc32ec4
 my comment] for an explanation of this behavior.

 ryani suggested that when a thread exceeds its stack limit but it is
 currently blocking exceptions, the RTS shouldn't simply drop the
 `StackOverflow` exception, but rather deliver it when the `mask` operation
 completes. That sounds sensible to me and it would give a nice guarantee
 that when any individual `mask` operation uses a small amount of stack,
 the stack size limit is approximately enforced.

 (I know that the default stack size limit may go away or essentially go
 away, but it can still be nice when developing to use a small stack size
 limit, so that one's system isn't run into the ground by infinite
 recursion quickly gobbling up tons of memory.)

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



More information about the ghc-tickets mailing list