+RTS -G1 is broken
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?)
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.0.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Runtime System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |