Title | Policy gets stuck when the live set triggers the dynamic criterion |
Status | closed |
Priority | essential |
Assigned user | Gareth Rees |
Organization | Ravenbrook |
Description | When pause time is set to 100 seconds, mpsicv seems to stop making progress (still running after more than a minute). See [1]. |
Analysis | PolicyStartTrace uses the “dynamic criterion” to decide whether to collect the world. But when the live set is close to the commit limit, it might be the case that a collection of the world does not reclaim enough memory to clear the criterion. This means that PolicyPoll will keep starting more collections of the world until the pause time limit is reached.
The solution is to collect the world at most once during any given ArenaPoll. After a collection of the world, no more memory can be reclaimed until the mutator causes some objects to die, which requires letting the mutator run. |
How found | automated_test |
Evidence | [1] https://info.ravenbrook.com/mail/2016/04/18/17-52-23/0/ |
Created by | Gareth Rees |
Created on | 2016-04-19 16:53:11 |
Last modified by | Gareth Rees |
Last modified on | 2016-04-20 13:18:39 |
History | 2016-04-19 GDR Created. |