ROOT Version: 6.26/06
Platform: Fedora 37 Beta
Compiler: g++ (GCC) 12.2.1 20220819 (Red Hat 12.2.1-2)
It seems that TDatabasePDG
is somehow not thread-safe (even after calling ROOT::EnableImplicitMT()
), concurrent call to methods like TDatabasePDG::Instance()->GetParticle(xxx)->GetName()
can cause segmentation violation
.
I came up with an workaround to use thread_local TDatabasePDG db{}
, to avoid the segv, while it caused a LOT: Warning in <TDatabasePDG::TDatabasePDG>: object already instantiated
(as many as nproc
).
My question is
- Is the thread-unsafe TDatabasePDG implementation considered a BUG, that I should open a ticket and wait for a fix?
- Is there a way to disable the
object already instantiated
warning?