[GHC] #9065: Segfault in a memory-heavy program

GHC ghc-devs at haskell.org
Fri May 2 19:38:57 UTC 2014


#9065: Segfault in a memory-heavy program
----------------------------------+----------------------------------
       Reporter:  rotsor          |             Owner:  simonmar
           Type:  bug             |            Status:  new
       Priority:  normal          |         Milestone:
      Component:  Runtime System  |           Version:  7.6.3
       Keywords:                  |  Operating System:  Linux
   Architecture:  x86_64 (amd64)  |   Type of failure:  Runtime crash
     Difficulty:  Unknown         |         Test Case:
     Blocked By:                  |          Blocking:
Related Tickets:                  |
----------------------------------+----------------------------------
 I've got a program compiled with GHC 7.6.3 crashing with "Segmentation
 fault". It does not crash with GHC 7.8.2 so the bug might have been fixed
 already.
 This is the backtrace I'm getting from gdb:

 {{{
 #0  0x00000000004a0450 in alloc_mega_group ()
 #1  0x00000000004a0930 in allocGroup.part.1 ()
 #2  0x00000000004c3c00 in alloc_todo_block ()
 #3  0x00000000004c3d73 in todo_block_full ()
 #4  0x0000000000403df9 in evacuate ()
 #5  0x00000000004051e4 in scavenge_block ()
 #6  0x00000000004bf785 in scavenge_loop ()
 #7  0x00000000004a16c5 in GarbageCollect ()
 #8  0x0000000000499d6f in scheduleDoGC.isra.21 ()
 #9  0x000000000049a81d in scheduleWaitThread ()
 #10 0x000000000049e1be in real_main ()
 #11 0x000000000049e2bc in hs_main ()
 #12 0x0000000000418a8b in main ()
 }}}

 The problem only triggers when I run the program on large input values: it
 uses 7Gb of memory and dies after 7 minutes of runtime.

 The version compiled with 7.8.2 exhibits similar memory usage pattern, but
 successfully completes within 15 minutes.

 Compiler command line I use:

 {{{
 ghc -O2 -rtsopts eu468
 }}}

 RTS command line:

 {{{
 ./eu468 +RTS -K1000000000
 }}}

 The program in question is eu468.hs at
 https://github.com/Rotsor/euler.git.

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


More information about the ghc-tickets mailing list