Opened 9 years ago

Closed 9 years ago

#5026 closed bug (fixed)

+RTS -G1 is broken

Reported by: igloo Owned by: simonmar
Priority: high Milestone: 7.2.1
Component: Runtime System Version: 7.0.2
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

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?)

Change History (3)

comment:1 Changed 9 years ago by igloo

Owner: set to igloo

comment:2 Changed 9 years ago by simonmar

Owner: changed from igloo to simonmar

I'm fixing this

comment:3 Changed 9 years ago by simonmar

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.