Skip to content

Comments

Do not cleanup cached CCDB objects of some special types#7843

Merged
jgrosseo merged 1 commit intoAliceO2Group:devfrom
shahor02:pr_ccdbNoCleanup
Dec 9, 2021
Merged

Do not cleanup cached CCDB objects of some special types#7843
jgrosseo merged 1 commit intoAliceO2Group:devfrom
shahor02:pr_ccdbNoCleanup

Conversation

@shahor02
Copy link
Collaborator

@shahor02 shahor02 commented Dec 8, 2021

The BasicCCDBManager cache is based on shared_ptr, which assumes that the object is never
deleted via its raw pointer. We cannot control this for some global ROOT pointers, e.g.
gGeoManager, which is deleted on exit internally by ROOT (thus creating a race condition with
destruction of the same pointer via shared_ptr.
Such objects will be cached to raw pointers in the BasicCCDBManager but will be never deleted by it.

The BasicCCDBManager cache is based on shared_ptr, which assumes that the object is never
deleted via its raw pointer. We cannot control this for some global ROOT pointers, e.g.
gGeoManager, which is deleted on exit internally by ROOT (thus creating a race condition with
destruction of the same pointer via shared_ptr.
Such objects will be cached to raw pointers in the BasicCCDBManager but will be never deleted by it.
@shahor02 shahor02 requested review from a team, Barthelemy, costing and sawenzel as code owners December 8, 2021 20:42
@shahor02 shahor02 changed the title Do not cleanup cashed CCDB objects of some special types Do not cleanup cached CCDB objects of some special types Dec 8, 2021
@shahor02
Copy link
Collaborator Author

shahor02 commented Dec 8, 2021

@victor-gonzalez @jgrosseo Once this is merged, you can probably revert the AliceO2Group/O2Physics#402.

@jgrosseo jgrosseo enabled auto-merge (squash) December 8, 2021 22:26
@jgrosseo jgrosseo merged commit 2bd1e71 into AliceO2Group:dev Dec 9, 2021
ezradlesser pushed a commit to ezradlesser/AliceO2 that referenced this pull request Dec 15, 2021
…p#7843)

The BasicCCDBManager cache is based on shared_ptr, which assumes that the object is never
deleted via its raw pointer. We cannot control this for some global ROOT pointers, e.g.
gGeoManager, which is deleted on exit internally by ROOT (thus creating a race condition with
destruction of the same pointer via shared_ptr.
Such objects will be cached to raw pointers in the BasicCCDBManager but will be never deleted by it.

Co-authored-by: shahoian <ruben.shahoyan@cern.ch>
@shahor02 shahor02 deleted the pr_ccdbNoCleanup branch January 29, 2022 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants