TH::FindBin relation to a "discriminator 1" error

Hi! In which conditions a FindBin method requested from a TH3D* can give an error ending with (discriminator 1) ?

The exact error is of the form:

[3943232:flow_base]:     my_test() [0x4760fc]:     _ZN9flow_base7processERKN2o23soa5TableINS0_3aod4HashILj519320931EEENS4_ILj1837103245EEES5_JNS2_INS4_ILj1373761118EEENS4_ILj4191360419EEENS4_ILj2286545062EEEJEEENS2_INS4_ILj254116537EEENS4_ILj3484684091EEES9_JEEENS1_8JoinFullIS6_JNSE_IS6_JNS2_INS4_ILj2330138363EEENS4_ILj652869314EEES9_JEEENS2_INS4_ILj558354758EEENS4_ILj620079319EEES9_JEEENS2_INS4_ILj1535033157EEENS4_ILj3179724803EEES9_JEEEEEENS2_INS4_ILj4055870789EEENS4_ILj3173777681EEES9_JEEENS2_INS4_ILj1713421420EEENS4_ILj4278781548EEES9_JEEENS2_INS4_ILj2437771125EEENS4_ILj2610283391EEES9_JEEENS2_INS4_ILj2807856041EEENS4_ILj348540052EEES9_JEEEEEENS2_INS4_ILj2009600272EEENS4_ILj1261423717EEES9_JEEEEE17TableIteratorBaseINS1_18DefaultIndexPolicyENSE_IS6_JSA_SD_S11_S14_EEEJSA_SD_S11_S14_EEERKNSE_IS6_JNS2_INS4_ILj1088132446EEENS4_ILj558318692EEES9_JEEENS2_INS4_ILj2509703062EEENS4_ILj4018839828EEES9_JEEEEEERKNS1_8FilteredINSE_IS6_JNSE_INS4_ILj3324719623EEEJNS2_INS4_ILj599863064EEENS4_ILj2944948204EEES9_JEEENS2_INS4_ILj3243953376EEES1M_NS4_ILj1926198916EEEJEEEEEE    NSE_INS4_ILj1274903626EEEJNS2_INS4_ILj184273500EEENS4_ILj1996537442EEES9_JEEENS2_INS4_ILj518516411EEES1U_S1R_JEEEEEENS2_INS4_ILj3189221742EEENS4_ILj2614466272EEES9_JEEENS2_INS4_ILj2486124941EEENS4_ILj2977027599EEES9_JEEEEEEEE at flowAnalysis3w.cxx:684 (discriminator 1)

and the referenced line is:

Int_t phiW_bin = wPhiH[zvt]->FindBin(tracketa, trackphi, t0cCentr);

where wPhiH is a std::vector<TH3D*> wPhiH;

if the pointer would have been null i would expect a segmentation fault .. but what is/means discriminator 1 ?
Thanks a lot!!

Hi,

Thanks for the post. Bear with me, but I am having a hard time figuring out what the long mangled name means.
What ROOT version is this? How can we reproduce?

Cheers,
Danilo

Are you sure that zwt is smaller than the size of the vector?

The printed error comes probably from root/interpreter/llvm-project/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp at a32e7d0eb6ff583c3420e32b4198d20cd7e8ebd4 · root-project/root · GitHub

Hi! This is from within ALICE O2 software, and the used ROOT version is 6.32.06
I have no idea how to reproduce since the error shown point to this very normal (to me) line of code:
Int_t phiW_bin = wPhiH[zvt]->FindBin(tracketa, trackphi, t0cCentr);

About zvt size: zvt have [0, 9] interval integer values, and wPhiH it’s filled in a
for (int i = 0; i < 10; i++) loop so the the out of bounds problem could be excluded..

Now, studying closer the logs, i do have the message “Segmentation fault”
so i can only conclude that the accessed pointer is null, so i will start to hunt for that..

I apologize for the noise…
Adrian