Skip to content

Draft: Address crashes in the TrigInDetMoniotring when running multi-threaded

Mark Sutton requested to merge sutt/athena:prot2 into 22.0

When running in multithreaded mode the scheduler vedry likely does not respect the proper use of the ReadHandle method with no RedHandleKey - a call to ReadHandle might return the collection before it has been produced leading to a corrupt collection when the requesting algorithm accesses the ReadHandle.

In practicem, such a ReadHandle call should lock until the collection has been produced, else it is not thread safe, and this call can not work. However, as a workaround, we add a dummy ReadHandleKey that, once initialised, should mean that the scheduler only executes the monitoring after the tracking has completed - the actual ReadHandle call does not need to use this RHKey.

This partly addresses ATR-25821

It is the same at the MR !55503 (merged) but without the throwing of the exception if it finds that the tracks are corrupted. In principle that !55503 (merged) is the better approach, but this one has been made should people object.

Edited by Mark Sutton

Merge request reports