+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 |