Print

Print


Hi Alja,

Maybe it's a dumb question - but what happens if we disable this?  The new XrdCl is supposed to be thread safe, so I don't see the advantage of having a stream per client -- I'd prefer a stream per server.

Brian

On Aug 29, 2013, at 1:32 PM, Alja Mrak Tadel <[log in to unmask]> wrote:

> Here is the backtrace:
> 
> (gdb) bt
> #0  XrdPssSys::P2URL (retc=@0x7ffff5b4c32c, pbuff=0x7ffff5b4b320 "", pblen=4096, path=<value optimized out>, Split=0, Cgi=0x7ffff554777c "oss.lcl=1", CgiLn=9, Ident=0x66a414 ":37@xrootd-proxy", doN2N=1) at /home/alja/xrd/newcl/xrootd-src/src/XrdPss/XrdPss.cc:893
> #1  0x00007ffff5544107 in XrdPssFile::Open (this=0x7fffcc001960, path=0x7fffcc000c00 "/store/user/alja/data.root", Oflag=0, Mode=384, Env=...) at /home/alja/xrd/newcl/xrootd-src/src/XrdPss/XrdPss.cc:611
> #2  0x00007ffff79b8d21 in XrdOfsFile::open (this=0x7fffcc001010, path=0x7fffcc000c00 "/store/user/alja/data.root", open_mode=0, Mode=384, client=0x7fffcc000980, info=0x0) at /home/alja/xrd/newcl/xrootd-src/src/XrdOfs/XrdOfs.cc:626
> #3  0x0000000000428fd2 in XrdXrootdProtocol::do_Open (this=<value optimized out>) at /home/alja/xrd/newcl/xrootd-src/src/XrdXrootd/XrdXrootdXeq.cc:1169
> #4  0x00007ffff7787529 in XrdLink::DoIt (this=0x66a358) at /home/alja/xrd/newcl/xrootd-src/src/Xrd/XrdLink.cc:396
> #5  0x00007ffff778b425 in XrdScheduler::Run (this=0x7ffff7ddca60) at /home/alja/xrd/newcl/xrootd-src/src/Xrd/XrdScheduler.cc:307
> #6  0x00007ffff778b619 in XrdStartWorking (carg=<value optimized out>) at /home/alja/xrd/newcl/xrootd-src/src/Xrd/XrdScheduler.cc:84
> #7  0x00007ffff77573af in XrdSysThread_Xeq (myargs=0x6494a0) at /home/alja/xrd/newcl/xrootd-src/src/XrdSys/XrdSysPthread.cc:86
> #8  0x00007ffff731b851 in start_thread () from /lib64/libpthread.so.0
> #9  0x00007ffff66c190d in clone () from /lib64/libc.so.6
> 
> (gdb) n
> 894            if ((idP = index(idBuff, '@'))) {*(idP+1) = 0; theID = idBuff;}
> (gdb) l
> 889     // If we have an Ident then usethe fd number as the userid. This allows us to
> 890     // have one stream per open connection.
> 891     //
> 892        if (Ident && (Ident = index(Ident, ':')))
> 893           {strncpy(idBuff, Ident+1, 7); idBuff[7] = 0;
> 894            if ((idP = index(idBuff, '@'))) {*(idP+1) = 0; theID = idBuff;}
> 895           }
> 896
> 897     // Format the header into the buffer and check if we overflowed. Note that there
> 898     // can be a maximum of 8 substitutions, so that's how many we provide.
> (gdb) p idBuff
> $7 = "37@xroo"
> 
> Alja
> 
> ########################################################################
> 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

########################################################################
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