Draft: AthContainers: Don't copy decorations with an AuxElement.
When we copy an AuxElement, don't copy decorations. Another thread may be modidfying them, which can lead to corruption/crashes. See ATLASRECTS-8008.
Merge request reports
Activity
added full-integration-tests full-unit-tests sweep:ignore labels
Doesn't apply cleanly in main, so disable automatic sweep. Will submit there separately if this goes in 24.
Edited by Scott SnyderThis merge request affects 1 package:
- Control/AthContainers
This merge request affects 2 files:
- Control/AthContainers/Root/AuxElement.cxx
- Control/AthContainers/test/AuxElement_test.cxx
Adding @ssnyder as watcher
added 24.0 Core analysis-review-required labels
CI Result FAILURE (hash 2affd83c)Athena AthSimulation AthGeneration AnalysisBase AthAnalysis externals cmake make tests Full details available on this CI monitor view. Check the JIRA CI status board for known problems
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthAnalysis: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-EL9 14257] (remote access info)his means now we should manually copy all the decorations?
No, if there is a
ReadDecorHandle
. The deep copy will copy all std dynamic variables and if the Write side is done the decorator is such a variable.If there is NO
ReadDecorHandle
is a bit "random". This is the current issue, one can even race here. As one can be writing it the same time as copying.More or less the new rule is if you want a decoration to be always be part of the deep copy you need to depend on it. Then is certain that the WriteDecorHandle will be done and you are dealing with a "std" dynamic aux variable.
We will still need to handle some cases where unwanted decoration, that we do not use transiently really, might or might not be attached to objects we write out
Edited by Christos Anastopoulos- Edited by Christos Anastopoulos
added 1 commit
- 2325acdb - Needed to explicitly copy mcEventWeights, as that variable may be marked as a decoration.
This merge request affects 2 packages:
- Control/AthContainers
- Control/PileUpComps
Affected files list will not be printed in this case
Adding @ssnyder as watcher
added Digitization label
CI Result FAILURE (hash 2325acdb)Athena AthSimulation AthGeneration AnalysisBase AthAnalysis externals cmake make tests Full details available on this CI monitor view. Check the JIRA CI status board for known problems
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthAnalysis: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-EL9 14449] (remote access info)mentioned in merge request !73655 (merged)
mentioned in merge request !72777 (closed)
This merge request affects 2 packages:
- Control/AthContainers
- Control/PileUpComps
Affected files list will not be printed in this case
Adding @ssnyder as watcher
CI Result FAILURE (hash 2325acdb)Athena AthSimulation AthGeneration AnalysisBase AthAnalysis externals cmake make tests Full details available on this CI monitor view. Check the JIRA CI status board for known problems
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthAnalysis: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-EL9 15383] (remote access info)