
#8189: Default to infinite stack size? -------------------------------+------------------------------------------- Reporter: nh2 | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Runtime | Version: 7.6.3 System | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Easy (less than 1 hour) Unknown/Multiple | Blocked By: Type of failure: Runtime | Related Tickets: crash | Test Case: | Blocking: | -------------------------------+------------------------------------------- Changes (by ezyang): * difficulty: Unknown => Easy (less than 1 hour) * component: Compiler => Runtime System Comment: Yes, you will still eventually run out of memory and get a heap overflow error. See [[GhcFile(rts/Schedule.c)]] for how we deal with this case; we actually service stack overflow errors during the normal operation of programs, because we use stack chunks and we need to allocate a new stack chunk when we run out. So actually, it's pretty simple to make sure we give the right error when we run out of heap, change this line in [[GhcFile(rts/Threads.c)]]: {{{ new_stack = (StgStack*) allocate(cap, chunk_size); }}} (as well as allocate) so that if requested heap allocation fails, it reports a stack overflow, not heap overflow. This should be pretty easy to do, patches welcome! -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8189#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler