Title | Multiple arenas can corrupt telemetry stream |
Status | open |
Priority | optional |
Assigned user | Richard Brooksby |
Organization | Ravenbrook |
Description | The telemetry system (event.c [1]) is shared between all arenas, but has no locking, so if there is more than one arena, a race can take place which may result in a corrupted telemetry stream (or maybe other bad outcomes). (This was originally reported by Pekka [2] [3].) |
Analysis | A lock in the telemetry system? It would have to be very lightweight. Cunning (and probably platform-specific) lightweight concurrency management stuff (e.g. cmpxchg)? Separate per-arena telemetry system instances? See job003502 and job004027 for instances of this problem. |
How found | inspection |
Evidence | [1] https://info.ravenbrook.com/project/mps/master/code/event.c [2] https://info.ravenbrook.com/project/mp...2001-11-05/mmprevol/request/mps/160145/ [3] https://info.ravenbrook.com/project/mp...2001-11-05/mmprevol/request/mps/160148/ |
Observed in | 1.110.0 |
Created by | Nick Barnes |
Created on | 2012-11-16 14:19:44 |
Last modified by | Gareth Rees |
Last modified on | 2016-05-02 17:26:10 |
History | 2012-11-16 NB Created. 2013-06-16 RB Downgraded to "optional" as this isn't affecting anyone (see job003499). |