MPS issue job003972

TitleMMQA function/226.c gets stuck in the hot variety
Statusclosed
Prioritynice
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionIn [1], RB ran the MMQA test suite on the hot variety, and found that it was stuck in an infinite loop in function/226.c.
AnalysisWhat this test case does is to set up a table of 1000 objects in AMC, each object being associated with a location dependency, and then allocate other objects in AMC until all 1000 objects in the table have been moved (and the corresponding location dependencies checked to be correctly indicating staleness).

The test case quickly finds that 999 objects have been moved, but the 1000th never moves. Presumably it is pinned by a reference from the stack.

The test case should use ephemeral threads to do the allocation and manipulation of the objects, so that there is no reference from the stack of the main thread. Unfortunately there is no easy way to do this in the MMQA suite (no equivalent of testthr).
How foundautomated_test
Evidence[1] <https://info.ravenbrook.com/mail/2016/03/07/10-34-43/0/>
Created byGareth Rees
Created on2016-03-07 13:01:14
Last modified byGareth Rees
Last modified on2016-03-07 17:31:55
History2016-03-07 GDR Created.

Fixes

Change Effect Date User Description
189714 closed 2016-03-07 17:31:55 Gareth Rees Move blatting to a function so that its local variables don't remain on the stack and pin down objects.