URL: <http://savannah.cern.ch/bugs/?99002> Summary: Server still crashes in do_WriteNone (xrootd 3.2.5) Project: XROOTD Submitted by: apeters Submitted on: 2012-11-22 10:26 Severity: 3 - Normal Priority: 7 - High Status: None Privacy: Public Assigned to: None Originator Email: Open/Closed: Open Discussion Lock: Any Fixed by commit(s): _______________________________________________________ Details: We still obeserve a crash in the do_WriteNone implementation. I have found the work flow how it is triggered. It is triggered by the client recovery mechanism (in our case it is a gridftp gateway writing, but it does not matter who writes) 1 the xrootd client opens a file in create/truncate mode 2 client get's redirected to a server where a write fails 3 client tries to re-open the file on the disk server, EOS does not allow re-open of files in create mode and bounces the client to the redirector 4 the client issues his open in append mode to the redirector, the redirector fails it because the file has been cleaned in the meanwhile 5 the client ignores the error and replays the write request this time towards the redirector Although the client does some 'crappy' stuff, the server probably should not SEGV. Here is the stack trace: ore was generated by `/usr//bin/xrootd -n mgm -c /etc/xrd.cf.mgm -m -l /var/log/eos/xrdlog.mgm -b -Rd'. Program terminated with signal 11, Segmentation fault. #0 getErrText (this=0x1ab24540, rc=931135488, opC=0 '\000', myError=..., Path=0x0) at /usr/src/debug/xrootd/xrootd/src/XrdOuc/XrdOucErrInfo.hh:90 90 {ecode = ErrInfo.code; (gdb) where #0 getErrText (this=0x1ab24540, rc=931135488, opC=0 '\000', myError=..., Path=0x0) at /usr/src/debug/xrootd/xrootd/src/XrdOuc/XrdOucErrInfo.hh:90 #1 XrdXrootdProtocol::fsError (this=0x1ab24540, rc=931135488, opC=0 '\000', myError=..., Path=0x0) at /usr/src/debug/xrootd/xrootd/src/XrdXrootd/XrdXrootdXeq.cc:2367 #2 0x000000000041dfd5 in XrdXrootdProtocol::do_Write (this=0x1ab24540) at /usr/src/debug/xrootd/xrootd/src/XrdXrootd/XrdXrootdXeq.cc:2244 #3 0x00000031af046b80 in XrdLink::DoIt (this=0x2aaac1dee4c8) at /usr/src/debug/xrootd/xrootd/src/Xrd/XrdLink.cc:421 #4 0x00000031af04ae86 in XrdScheduler::Run (this=0x31af60a8c0) at /usr/src/debug/xrootd/xrootd/src/Xrd/XrdScheduler.cc:287 #5 0x00000031af04b019 in XrdStartWorking (carg=0x1ab24540) at /usr/src/debug/xrootd/xrootd/src/Xrd/XrdScheduler.cc:65 #6 0x00000031af01bfaf in XrdSysThread_Xeq (myargs=<value optimized out>) at /usr/src/debug/xrootd/xrootd/src/XrdSys/XrdSysPthread.cc:67 #7 0x00000032a7e0677d in start_thread () from /lib64/libpthread.so.0 #8 0x00000032a76d3c1d in clone () from /lib64/libc.so.6 There is something weird here: (gdb) frame 2 #2 0x000000000041dfd5 in XrdXrootdProtocol::do_Write (this=0x1ab24540) at /usr/src/debug/xrootd/xrootd/src/XrdXrootd/XrdXrootdXeq.cc:2244 2244 return do_WriteNone(); (gdb) print this->FTab $1 = (XrdXrootdFileTable *) 0x0 (gdb) print this->myFile $2 = (XrdXrootdFile *) 0x2aab305650c0 If FTab is 0 it should never call do_WriteNone from line 2244. So FTab must have been !=0 but then it was re-initialized or something ... hmmm ... _______________________________________________________ Reply to this item at: <http://savannah.cern.ch/bugs/?99002> _______________________________________________ Message sent via/by LCG Savannah http://savannah.cern.ch/ ######################################################################## 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