Skip to content
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

Conversation

Dr15Jones
Copy link

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.

@Dr15Jones
Copy link
Author

@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.
@Dr15Jones Dr15Jones force-pushed the protectLateFileSystemDestructorCall branch from a658974 to 258e689 Compare October 16, 2014 17:09
@Dr15Jones Dr15Jones changed the title Protect late constructor call to FileSystem Protect late destructor call to FileSystem Oct 16, 2014
@ghost
Copy link

ghost commented Oct 17, 2014

@ktf @Dr15Jones I will test this PR now.

@ktf
Copy link

ktf commented Oct 17, 2014

@Degano wait a bit for this @nclopezo and myself have updated the spec file to be able to pickup this kind of changes more easily.

@ljanyst
Copy link

ljanyst commented Oct 17, 2014

I have pulled this fix into xrootd: xrootd@63202e2

Thanks!

The file object was already safe:
https://github.com/xrootd/xrootd/blob/master/src/XrdCl/XrdClFile.cc#L53

We will make 4.0.4 release with this and a couple of other minor fixes early next week.

@Dr15Jones
Copy link
Author

Great, thanks!

@cmsbuild
Copy link

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.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.

external issue cms-sw/cmsdist#1766

@cmsbuild
Copy link

Pull request #1 was updated.

external issue cms-sw/cmsdist#1766

@ghost ghost closed this Oct 2, 2015
davidlt pushed a commit that referenced this pull request Mar 4, 2016
Fixes/enhancements to python bindings sdist generation
davidlt pushed a commit that referenced this pull request Apr 19, 2017
Top level info file changes for hdfs healing mode
davidlt pushed a commit that referenced this pull request Apr 19, 2017
Merging all the changes
smuzaffar pushed a commit that referenced this pull request Mar 20, 2018
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)
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants