Title | MMQA function/226.c gets stuck in the hot variety |
Status | closed |
Priority | nice |
Assigned user | Gareth Rees |
Organization | Ravenbrook |
Description | In [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. |
Analysis | What 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 found | automated_test |
Evidence | [1] <https://info.ravenbrook.com/mail/2016/03/07/10-34-43/0/ > |
Created by | Gareth Rees |
Created on | 2016-03-07 13:01:14 |
Last modified by | Gareth Rees |
Last modified on | 2016-03-07 17:31:55 |
History | 2016-03-07 GDR Created. |
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. |