MPS issue job000548

TitleAMS grain colour doesn't agree with design doc
Statusopen
Prioritynice
Assigned userNick Barnes
OrganizationRavenbrook
DescriptionThe colour of an interior grain in an AMS object can become INVALID (notwhite & !notgrey). This happens if an interior grain is fixed from an ambiguous reference, and the object also becomes grey, due to another ambiguous reference, and the object is subsequently scanned. It can also happen if an interior grain is fixed from an ambiguous reference, and the segment is RankSetEMPTY, and the object becomes black (see <design/poolams#fix.to-black>). This doesn't break the pool, and can be regarded as correct (see [1]), but the documentation needs to clarify this. This is related to job000535.
AnalysisWhat's going on is that the interior grains are white and grey, and AMS_RANGE_WHITE_BLACKEN is blacken on them. Search poolams.c for AMS_RANGE_WHITE_BLACKEN to see the different instances (the one in AMSScan is OK, because of the check on ambiguousFixes). [1] says we could use AMS_RANGE_BLACKEN (as in amsBlackenObject), if we want these grains to turn black, and that would work. However, the idea of INVALID is also a hold-over from the old design. See [1] for more details.
How foundinspection
Evidence[1] http://info.ravenbrook.com/mail/2002/06/20/16-31-46/0.txt
Observed in1.100.1
Introduced in1.100.0
Created byNick Barnes
Created on2002-06-21 16:58:24
Last modified byGareth Rees
Last modified on2014-10-26 10:29:09
History2002-06-21 NB Created.