-
Notifications
You must be signed in to change notification settings - Fork 3
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
Protect late destructor call to FileSystem #1
Protect late destructor call to FileSystem #1
Conversation
@ktf I had no way to compile this so let me know if there is a problem. |
ROOT indirectly binds the destruction of a FileSystem to a the global gROOT. This can lead to the ForkHandler being deleted before the FileSystem is deleted.
a658974
to
258e689
Compare
@ktf @Dr15Jones I will test this PR now. |
I have pulled this fix into xrootd: xrootd@63202e2 Thanks! The file object was already safe: We will make 4.0.4 release with this and a couple of other minor fixes early next week. |
Great, thanks! |
A new Pull Request was created by @Dr15Jones (Chris Jones) for branch cms/v4.0.3. Protect late destructor call to FileSystem @cmsbuild, @Degano can you please review it and eventually sign? Thanks. external issue cms-sw/cmsdist#1766 |
Pull request #1 was updated. external issue cms-sw/cmsdist#1766 |
Fixes/enhancements to python bindings sdist generation
Top level info file changes for hdfs healing mode
xlBuff was being defined in two separate compilation units, thus violating C++'s one-definition-rule. The linker did not complain, since the two symbols were defined in two different libraries loaded at runtime. Caught by ASan: ==10109==ERROR: AddressSanitizer: odr-violation (0x00000144a5e0): [1] size=80 'XrdGlobal::xlBuff' /home/gbitzes/xrootd/src/Xrd/XrdConfig.cc:94:11 [2] size=80 'XrdGlobal::xlBuff' /home/gbitzes/xrootd/src/Xrd/XrdBuffer.cc:73:11 These globals were registered at these points: [1]: #0 0x435b40 (/home/gbitzes/xrootd/build-asan-clang/install/bin/xrootd+0x435b40) #1 0x51eee9 (/home/gbitzes/xrootd/build-asan-clang/install/bin/xrootd+0x51eee9) [2]: #0 0x435b40 (/home/gbitzes/xrootd/build-asan-clang/install/bin/xrootd+0x435b40) #1 0x7f7a70ceb41b (/home/gbitzes/xrootd/build-asan-clang/install/lib64/libXrdUtils.so.2+0x12441b)
ROOT indirectly binds the destruction of a FileSystem to a the global
gROOT. This can lead to the ForkHandler being deleted before the
FileSystem is deleted.