Print

Print



  Hi Wilko,

  I've found a bug in XrdClientUrlSet::ConvertDNSAlias affecting
  the Url array when multiple aliases were available for a given
  hostname (your case). I've fixed it in CVS. Now your command
  runs (I think) correctly on noric04 (at least it does not segv). 
  Please try by yourself and let me know.

  Gerri  


On Mon, 27 Jun 2005, Wilko Kroeger wrote:

> 
> Hello
> 
> I am using xrdcp from release 20050623-0016 and I copy a file from an
> xrootd server to a local disk. xrdcp first contacts a redirector and then
> gets redirected to the data server.
> 
> I tried the following two commands
> > xrdcp -DIDebugLevel 2 root://bbr-rdr03////store/cfg/2005/06/CfgDB-20050620T211907.root  t.root
> > xrdcp -DIDebugLevel 2 root://bbr-rdr-a////store/cfg/2005/06/CfgDB-20050620T211907.root  t.root
> 
> The only difference is that in the first case (bbr-rdr03) the redirector
> name is used where as in the second case an alias is used that points to
> the two redirectors (bbr-rdr03,bbr-rdr04) of the xrootd cluster.
> 
> The first command works fine but the second creates a core file:
> 
> > xrdcp -DIDebugLevel 2 root://bbr-rdr-a////store/cfg/2005/06/CfgDB-20050620T211907.root  t.root
> .....
> 050627 10:48:23 27025 Xrd: SocketReaderThread: Reader Thread starting.
> 050627 10:48:23 001 Xrd: DoLogin: Logging into the server
> [kan010.slac.stanford.edu:1094]. pid=27025 uid=wilko
> 050627 10:48:23 001 Xrd: SendGenCommand: Sending command
> XrdClientConn::DoLogin
> 050627 10:48:23 001 Xrd: ReadPartialAnswer: Reading a XrdClientMessage
> from the server [kan010.slac.stanford.edu:1094]...
> 050627 10:48:23 001 Xrd: SendGenCommand: Got (and maybe recovered) an
> error from kan010.slac.stanford.edu:1094
> 050627 10:48:23 001 Xrd: SendGenCommand: Sending command Open
> 050627 10:48:23 001 Xrd: ReadPartialAnswer: Reading a XrdClientMessage
> from the server [kan010.slac.stanford.edu:1094]...
> 050627 10:48:23 001 Xrd: Create: File opened succesfully.
> Segmentation fault (core dumped)
> 
> With gdb the core file shows:
> #0  0x00237057 in _int_free () from /lib/tls/libc.so.6
> (gdb) where
> #0  0x00237057 in _int_free () from /lib/tls/libc.so.6
> #1  0x00236048 in free () from /lib/tls/libc.so.6
> #2  0x0808319c in ~XrdClientString (this=0x89e80b8) at XrdClientString.cc:17
> #3  0x08059efe in ~XrdClientUrlInfo (this=0x89e80b8) at XrdClientConn.hh:89
> #4  0x0807a716 in ~XrdClientUrlSet (this=0xbfff9170) at XrdClientUrlSet.cc:208
> #5  0x0805cf75 in XrdClient::Open(unsigned short, unsigned short) (this=0x89e3210, mode=0, options=64) at XrdClient.cc:237
> #6  0x08081f95 in XrdCpWorkLst::SetSrc(XrdClient**, XrdClientString, XrdClientString, bool) (this=0x89e2598, srccli=0x809a760, url=
>       {data = 0x89e3000
> "root://bbr-rdr-a////store/cfg/2005/06/CfgDB-20050620T211907.root", size = 64, capacity = 256}, urlopaquedata=
>       {data = 0x89e2ef8 "", size = 0, capacity = 256}, do_recurse=false) at XrdCpWorkLst.cc:53
> #7  0x080592cd in main (argc=5, argv=0xbfff9534) at Xrdcp.cc:802
> 
> 
> The core file and the output of xrdcp are available in:
> /nfs/objyserv01/objy/databases/wilko/xrootd/problems/xrdcpDebug2_20050623-0016/
> 
> Using different debug levels I found that the transfer works for level 0
> and 1 but fails for 2,3 and if no level is specified on the command line.
> 
> Cheers,
>    Wilko
> 
> 
>