MPS issue job003387

TitleMultiple arenas can corrupt telemetry stream
Statusopen
Priorityoptional
Assigned userRichard Brooksby
OrganizationRavenbrook
DescriptionThe 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].)
AnalysisA 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 foundinspection
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 in1.110.0
Created byNick Barnes
Created on2012-11-16 14:19:44
Last modified byGareth Rees
Last modified on2016-05-02 17:26:10
History2012-11-16 NB Created.
2013-06-16 RB Downgraded to "optional" as this isn't affecting anyone (see job003499).