Skip to content

Race condition in PersistencySvc::addCnvService

It seems the list of conversion services in PersistencySvc is not thread-safe. We are seeing this in one of the ATLAS trigger jobs:

2024-06-03 02:19:53,440  EventPersistencySvc                          1   0    INFO Added successfully Conversion service:ByteStreamCnvSvc
2024-06-03 02:19:53,440  EventPersistencySvc                          2   1    INFO Cannot add Conversion service of type ByteStreamCnvSvc
2024-06-03 02:19:53,440  EventPersistencySvc                          2   1    INFO Cannot access Conversion service:ByteStreamCnvSvc
2024-06-03 02:19:53,440  DataProxy                                    2   1 WARNING accessData: conversion failed for data object 45903698/EventInfo
 Returning NULL DataObject pointer   

Already by the printouts (from slot 0 and slot 1) you can see that something is going wrong as the service claims to have added the conversion service and then says it cannot.

In addition, I wonder why the failure messages are INFO instead of ERROR.

Edited by Frank Winklmeier
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information