Print

Print


Dear all,

I'm suffering from the following regression between 4.3.0 and 4.4.0:

When processing a remote ROOT file from EOS with xrootd I get a crash on destruction, when __cxa_finalize() is called:

Thread 1 (Thread 0x7ffff7f67240 (LWP 12519)):
#0  0x00007ffff0bb4ee1 in pthread_rwlock_rdlock () from /usr/lib/libpthread.so.0
#1  0x00007fffe00f1a2c in XrdSysRWLock::ReadLock (this=0x8) at /home/beischer/abs/xrootd4-icc/src/xrootd/src/./XrdSys/XrdSysPthread.hh:237
#2  0x00007fffe00f1b56 in XrdSysRWLockHelper::XrdSysRWLockHelper (this=0x7fffffffa230, l=..., rd=true) at /home/beischer/abs/xrootd4-icc/src/xrootd/src/./XrdSys/XrdSysPthread.hh:284
#3  0x00007fffd2067c1b in XrdCl::Env::GetInt (this=0x0, key="MetalinkProcessing", value=@0x7fffffffa2a4: 1) at /home/beischer/abs/xrootd4-icc/src/xrootd/src/XrdCl/XrdClEnv.cc:89
#4  0x00007fffd2093f22 in XrdCl::URL::IsMetalink (this=0x8161c0) at /home/beischer/abs/xrootd4-icc/src/xrootd/src/XrdCl/XrdClURL.cc:373
#5  0x00007fffd216611f in XrdCl::FileStateHandler::~FileStateHandler (this=0x2a51ad0) at /home/beischer/abs/xrootd4-icc/src/xrootd/src/XrdCl/XrdClFileStateHandler.cc:393
#6  0x00007fffd215eedb in XrdCl::File::~File (this=0x2a44a70) at /home/beischer/abs/xrootd4-icc/src/xrootd/src/XrdCl/XrdClFile.cc:71
#7  0x00007fffd215ef3e in XrdCl::File::~File (this=0x2a44a70) at /home/beischer/abs/xrootd4-icc/src/xrootd/src/XrdCl/XrdClFile.cc:61
#8  0x00007fffd24eda45 in TNetXNGFile::~TNetXNGFile (this=0x2a43b20, __in_chrg=<optimized out>) at /home/beischer/abs/root6-debug/src/root/net/netxng/src/TNetXNGFile.cxx:218
#9  0x00007fffd24edac4 in TNetXNGFile::~TNetXNGFile (this=0x2a43b20, __in_chrg=<optimized out>) at /home/beischer/abs/root6-debug/src/root/net/netxng/src/TNetXNGFile.cxx:221
#10 0x00007ffff74d8b51 in TCollection::GarbageCollect (obj=0x2a43b20) at /home/beischer/abs/root6-debug/src/root/core/cont/src/TCollection.cxx:590
#11 0x00007ffff74de53d in TList::Delete (this=0x653980, option=0x7ffff758c923 "slow") at /home/beischer/abs/root6-debug/src/root/core/cont/src/TList.cxx:436
#12 0x00007ffff7391e2a in TROOT::~TROOT (this=0x7ffff789efc0 <ROOT::Internal::GetROOT1()::alloc>, __in_chrg=<optimized out>) at /home/beischer/abs/root6-debug/src/root/core/base/src/TROOT.cxx:842
#13 0x00007fffda490d02 in (anonymous namespace)::TCling_UnloadMarker::~TCling_UnloadMarker (this=0x7fffdcb6c121 <(anonymous namespace)::gTClingUnloadMarker>, __in_chrg=<optimized out>) at /home/beischer/abs/root6-debug/src/root/core/meta/src/TCling.cxx:188
#14 0x00007fffe3bd7cff in __cxa_finalize () from /usr/lib/libc.so.6
#15 0x00007fffda45e563 in __do_global_dtors_aux () from /opt/root/6.08.00-debug/lib/libCling.so
#16 0x00007fffffffaf30 in ?? ()
#17 0x00007ffff7de9aca in _dl_fini () from /lib64/ld-linux-x86-64.so.2
Backtrace stopped: frame did not save the PC

I think it's not ok to take the address of the "lock" variable in XrdSysPthread.hh:237 at this stage, that memory may already be freed?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/issues/433

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1