#5026: +RTS -G1 is broken
---------------------------------+------------------------------------------
    Reporter:  igloo             |        Owner:              
        Type:  bug               |       Status:  new         
    Priority:  high              |    Milestone:  7.2.1       
   Component:  Runtime System    |      Version:  7.0.2       
    Keywords:                    |     Testcase:              
   Blockedby:                    |   Difficulty:              
          Os:  Unknown/Multiple  |     Blocking:              
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown
---------------------------------+------------------------------------------
 A number of tests fail with `+RTS -G1`, including `cgrun026`. I had a
 quick look into it:
 This code in `GarbageCollect`:
 {{{
   if (RtsFlags.GcFlags.generations == 1) {
       if (g0->blocks != NULL) {
           freeChain(g0->blocks);
           g0->blocks = NULL;
       }
   }
 }}}
 doesn't set:
 {{{
           g0->n_blocks = 0;
 }}}
 so causes an:
 {{{
     ASSERT(countBlocks(gen->blocks) == gen->n_blocks);
 }}}
 test in Sanity to fail. Presumably setting `n_blocks` to 0 is the right
 thing to do.

 Then, running with `-DS`, `LOOKS_LIKE_INFO_PTR` ends up being passed
 `0xAA...AA`. I haven't looked further into this yet.

 Once fixed, add a test (or perhaps make the codegen tests all be run with
 `+RTS -G1`?)

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5026>
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