
#8189: Default to infinite stack size? -------------------------------+------------------------------------------- Reporter: nh2 | Owner: Type: bug | Status: new Priority: high | Milestone: 7.8.1 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: | -------------------------------+------------------------------------------- Comment (by bgamari): Oh dear; that is embarrassing. My intent here was more along the lines of, `if (total_allocated > RtsFlags.GcFlags.maxHeapSize)`. While it seems that the total allocations of each capability individually is pretty easy to come by (`cap->total_allocated`), it's not clear how to get the sum of these without iterating over all capabilities which seems a bit excessive in a warm allocation path. Either way, comparing against `req_blocks` was certainly a bit sloppy. Regarding the lack of default heap size limit, perhaps a solution here might be to set the default heap limit to some fraction (say 0.8) of the physical memory size. Admittedly determining this might be a bit platform specific but seeing as the RTS already knows how to get a core count it's not a great stretch. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8189#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler