|Title||Assertion in SegSetGrey when using AMCZ|
|Assigned user||Gareth Rees|
|Description||I tried segregating objects in the toy Scheme interpreter, and when I collect, I get this assertion. (Everything is fine if I used AMC, or LO.)|
MPS ASSERTION FAILURE: SegRankSet(seg) != RankSetEMPTY
#3 0x0000000100026e05 in SegSetGrey (seg=0x101ffd590, grey=1) at seg.c:270
#4 0x000000010005d69e in amcFixInPlace (pool=0x101ffe9a0, seg=0x101ffd590, ss=0x7fff5fbff300, refIO=0x7fff5fbff058) at poolamc.c:1675
#5 0x000000010005c40b in AMCFix (pool=0x101ffe9a0, ss=0x7fff5fbff300, seg=0x101ffd590, refIO=0x7fff5fbff058) at poolamc.c:1771
The offending assertion was added by RB in change 179567 . RB says that he forgot about the AMCZ case.
|Created by||Gareth Rees|
|Created on||2012-11-01 16:35:35|
|Last modified by||Gareth Rees|
|Last modified on||2014-04-12 22:08:41|
|History||2012-11-01 GDR Created.|
|180236||closed||2012-11-01 17:21:57||Gareth Rees||AMC can't omit the guard "SegRankSet(seg) != RankSetEMPTY" for calling SegSetGrey, because AMCZ uses segments with an empty rank set.
It's OK to call SegSetGrey on a segment with an empty rank set so long as you are not actually setting it to be grey for any traces, so correct the AVER accordingly.