-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[XrdCl] Crash in on-exit destruction in ROOT #1487
Comments
hmm it seems to be related to this comment: Lines 61 to 73 in d9abff3
|
It must happen here: xrootd/src/XrdCl/XrdClFileStateHandler.cc Lines 797 to 800 in d9abff3
I think the if statement needs the |
Thanks! I did a stupid test that just opens a file and exits ... and it seems to exit fine. Should I try something else or look harder at what happens in root?
|
I am rather sure this is root specific, my gut feeling is the |
Yes, something in that direction was my first guess as well ... but wanted to make sure all is good in xrootd before we start digging on the root side :) Backtrace with debuginfo installed (not much better, but at least it's clear this pointers are garbage towards the top):
|
Trying to summarize:
|
well, I think I will just add the protection to xrootd/src/XrdCl/XrdClFileStateHandler.cc Lines 797 to 800 in d9abff3
so from root perspective this is a regression in XrdCl I suppose. Of course, it would be great if they could garbage collect all XrdCl object before unloading the library ;-) |
Thank you! Yes, I left a comment to this effect, that known global objects should be deleted before calling exit. I somewhat suspect nobody wants to touch that code, not even with a 10 ft pole :) |
I pushed the patch: ca92cb3
yes, I think so too ;-) |
Excellent, I confirm this avoids the crash in root shutdown. |
root master, xrootd-5.3.0
To reproduce: TFile::Open("root://....."), then .q root.
Also opened as issue in root git: root-project/root#8767
I can try reproducing this with a minimal c++ program.
The text was updated successfully, but these errors were encountered: