#2317: Garbage collector crashes in simple parallel sorting program
----------------------------+-----------------------------------------------
 Reporter:  bos             |          Owner:          
     Type:  bug             |         Status:  new     
 Priority:  normal          |      Milestone:  6.8.3   
Component:  Runtime System  |        Version:  6.8.2   
 Severity:  major           |     Resolution:          
 Keywords:                  |     Difficulty:  Unknown 
 Testcase:                  |   Architecture:  Multiple
       Os:  Linux           |  
----------------------------+-----------------------------------------------
Changes (by simonmar):

  * difficulty:  => Unknown
  * milestone:  => 6.8.3

Old description:

> I have a very simple parallel program that crashes quite reproducibly.
> On x86-64 and x86-32, the symptoms are subtly different, but equally
> catastrophic.
>
> x86-64:
>
> {{{$ ghc -threaded -O2 --make -o Sorting Sorting
> [1 of 1] Compiling Main             ( Sorting.hs, Sorting.o )
> Linking Sorting ...
> $ ./Sorting  +RTS -N2 -RTS 100000
> 100000
> Segmentation fault}}}
>
> x86-32:
>
> {{{$ ghc -O2 --make -threaded -o Sorting Sorting
> [1 of 1] Compiling Main             ( Sorting.hs, Sorting.o )
> Linking Sorting ...
> $ ./Sorting +RTS -N2 -RTS 125000
> 125000
> Sorting: internal error: evacuate: strange closure type 17805
>     (GHC version 6.8.2 for i386_unknown_linux)
>     Please report this as a GHC bug:
> http://www.haskell.org/ghc/reportabug
> Aborted}}}
>
> Here's a somewhat useless backtrace from gdb on x86-64:
>
> {{{#1  0x00007fb49eac2d83 in abort () at abort.c:88
> #2  0x0000000000444c45 in rtsFatalInternalErrorFn ()
> #3  0x0000000000444efc in barf ()
> #4  0x0000000000464c9c in evacuate ()
> #5  0x000000000044d213 in scavenge_stack ()
> #6  0x000000000044e4ba in scavenge_one ()
> #7  0x000000000044e8d6 in scavenge_mutable_list ()
> #8  0x000000000044bc49 in GarbageCollect ()
> #9  0x0000000000445d1f in scheduleDoGC ()
> #10 0x0000000000446ff8 in schedule ()
> #11 0x0000000000447339 in workerStart ()
> #12 0x0000000000f6c29a in start_thread (arg=<value optimized out>)
>     at pthread_create.c:297
> #13 0x00007fb49eb732cd in clone () from /lib64/libc.so.6}}}

New description:

 I have a very simple parallel program that crashes quite reproducibly.  On
 x86-64 and x86-32, the symptoms are subtly different, but equally
 catastrophic.

 x86-64:

 {{{
 $ ghc -threaded -O2 --make -o Sorting Sorting
 [1 of 1] Compiling Main             ( Sorting.hs, Sorting.o )
 Linking Sorting ...
 $ ./Sorting  +RTS -N2 -RTS 100000
 100000
 Segmentation fault
 }}}

 x86-32:

 {{{
 $ ghc -O2 --make -threaded -o Sorting Sorting
 [1 of 1] Compiling Main             ( Sorting.hs, Sorting.o )
 Linking Sorting ...
 $ ./Sorting +RTS -N2 -RTS 125000
 125000
 Sorting: internal error: evacuate: strange closure type 17805
     (GHC version 6.8.2 for i386_unknown_linux)
     Please report this as a GHC bug:
 http://www.haskell.org/ghc/reportabug
 Aborted
 }}}

 Here's a somewhat useless backtrace from gdb on x86-64:

 {{{
 #1  0x00007fb49eac2d83 in abort () at abort.c:88
 #2  0x0000000000444c45 in rtsFatalInternalErrorFn ()
 #3  0x0000000000444efc in barf ()
 #4  0x0000000000464c9c in evacuate ()
 #5  0x000000000044d213 in scavenge_stack ()
 #6  0x000000000044e4ba in scavenge_one ()
 #7  0x000000000044e8d6 in scavenge_mutable_list ()
 #8  0x000000000044bc49 in GarbageCollect ()
 #9  0x0000000000445d1f in scheduleDoGC ()
 #10 0x0000000000446ff8 in schedule ()
 #11 0x0000000000447339 in workerStart ()
 #12 0x0000000000f6c29a in start_thread (arg=<value optimized out>)
     at pthread_create.c:297
 #13 0x00007fb49eb732cd in clone () from /lib64/libc.so.6
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2317#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to