Title | clean-up after assertion failure may fail re-entering the MPS |
Status | closed |
Priority | essential |
Assigned user | Nick Barnes |
Organization | Ravenbrook |
Description | If an MPS assertion fails, the client may want to clean up, for instance to dump state (e.g. the stack) to an audit file. If that clean-up code causes a protection fault, then the MPS exception filter will run, and will try to figure out which arena owns that address. This will fail even if the protection fault is not at an MPS-owned address, because all of the arena locks are taken in turn in order to discover this fact. |
Analysis | This is actually a slightly more general problem: no client callbacks (e.g. format methods) can survive any protection fault, which rules out various implementation languages and strategies for such callbacks. See also job003911, job004006. |
How found | customer |
Evidence | [1] https://info.ravenbrook.com/mail/2015/10/12/07-53-25/0/ |
Created by | Nick Barnes |
Created on | 2015-10-14 13:07:53 |
Last modified by | Gareth Rees |
Last modified on | 2016-09-13 17:32:07 |
History | 2015-10-14 NB Created. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
192365 | closed | 2016-09-13 17:32:07 | Gareth Rees | Merge branch/2016-09-06/job004006. |