Print

Print


Hi Remi,

  as you probably can see in the commits, I fixed a few things. The most 
important was the incorrect default 0-termination of the data read from 
the server. This may have caused some of the complaints I see.

  However, I tested xrdcp on bbrprod01 doing these cmds several times 
(uhm.. to be precise I did them in reversed order) :

--- Copy recursively anumber of files to a non existing path
--- When repeated, the path was existing...
xrdcp -d2 src/XrdClient 
root://bbrprod01//prod/test_fabrizio2311/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/XrdClientSrc/

--- Copy recursively a number of files to a non existing path
--- When repeated, the path was existing...
xrdcp -d2 src/XrdClient 
root://bbrprod01//prod/test_fabrizio2311/XrdClientSrc/

// Copy a file to a nbon existing (then existing) path
// With trailing slash
xrdcp -d2 ~/fd_checkSkim12_0916.out 
root://bbrprod01//prod/test_fabrizio2311/

// Copy a file to a non existing (then existing) path
// Without trailing slash
xrdcp -d2 ~/fd_checkSkim12_0916.out root://bbrprod01//prod/test_fabrizio2311

// Copy a file to a new non existing filename (then existing)
xrdcp -d2 ~/fd_checkSkim12_0916.out 
root://bbrprod01//prod/test_fabrizio2311/test1.out

// Copy a file to a not allowed path
xrdcp -d1 ~/fd_checkSkim12_0916.out 
root://bbrprod01//test_fabrizio2311/test1.out

I can also see that the created files and dirs have the correct permissions.


Please, let me know if you still experience problems.
If you need to cleanup all my testdirs on bbrprod01, do not hesitate.

Fabrizio



Remi Mommsen wrote:
> Hi,
> 
> On Nov 19, 2004, at 4:05 AM, Fabrizio Furano wrote:
> 
>> Hi,
>>
>>  I am not able to reproduce the problem in bbrprod01.
>>
>>  I sent a number of times commands like this:
>>
>> bin/arch_dbg/xrdcp -d2 configure  
>> root://bbrprod01:1094//prod/test_fabrizio1911-12/subskim/SPskims/ 
>> test5/001237/200301/1008//a/b/c/d/e/f/g/h/i/arggghhh/a/b/c/d/e/f/g/h/ 
>> i//j/
>>
>> As you can see in /kanga/prod all my tests were successful.
>> Can you point me to a testbed where the things crash?
> 
> 
> It is really strange. I'm trying randomly changing the path such that  
> it must create 1-7 subdirectories. About half the time it works, about  
> half the time it crashes after creating a variable amount of  
> subdirectories. Once I saw it now crash doing the first stat:
> 
> [noric01] /u/br/bbrskim/releases/test-16.0.1a/workdir > xrdcp -d1  
> test.root  root://bbrprod05:1094//prod/subskims/SPskims/001238/200302/1008/
> 041119 10:41:37 001 Xrd: main (C) 2004 SLAC INFN xrdcp 0.2 beta
> 041119 10:41:37 001 Xrd: main test.root -->  
> root://bbrprod05:1094//prod/subskims/SPskims/001238/200302/1008/
> 041119 10:41:37 001 Xrd:  (C) 2004 SLAC XrdClientAdmin 0.2 beta
> 041119 10:41:37 001 Xrd: XrdClientUrlSet List of servers to connect to  
> is [bbrprod05:1094]
> 041119 10:41:37 001 Xrd: ShowUrls The converted URLs count is 1
> 041119 10:41:37 001 Xrd: ShowUrls URL n.1:  
> bbrprod05.slac.stanford.edu:1094//.
> 041119 10:41:37 001 Xrd: Create Access to server granted.
> 041119 10:41:37 001 Xrd: Connect Connected.
> Segmentation fault (core dumped)
> 
> [noric01] /u/br/bbrskim/releases/test-16.0.1a/workdir > which xrdcp
> RELEASE/xrootd/bin/i386_rhel30/xrdcp
> 
> [noric01] /u/br/bbrskim/releases/test-16.0.1a/workdir > ldd  
> RELEASE/xrootd/bin/i386_rhel30/xrdcp
>         libXrdSec.so => RELEASE/xrootd/lib/i386_rhel30/libXrdSec.so  
> (0xb75dc000)
>         libnsl.so.1 => /lib/libnsl.so.1 (0xb75b1000)
>         libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb75a1000)
>         librt.so.1 => /lib/tls/librt.so.1 (0xb758d000)
>         libdl.so.2 => /lib/libdl.so.2 (0xb758a000)
>         libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb74d7000)
>         libm.so.6 => /lib/tls/libm.so.6 (0xb74b4000)
>         libc.so.6 => /lib/tls/libc.so.6 (0xb737c000)
>         libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7373000)
>         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb75eb000)
> 
> Traceback:
> 
> #0  0xb73ee16e in malloc_consolidate () from /lib/tls/libc.so.6
> #1  0xb73ed769 in _int_malloc () from /lib/tls/libc.so.6
> #2  0xb73ecb0d in malloc () from /lib/tls/libc.so.6
> #3  0xb75628ae in operator new(unsigned) () from /usr/lib/libstdc++.so.5
> #4  0xb754eb93 in std::__default_alloc_template<true,  
> 0>::allocate(unsigned) () from /usr/lib/libstdc++.so.5
> #5  0xb7554bf8 in std::string::_Rep::_S_create(unsigned,  
> std::allocator<char> const&) () from /usr/lib/libstdc++.so.5
> #6  0xb7554d29 in std::string::_Rep::_M_clone(std::allocator<char>  
> const&, unsigned) () from /usr/lib/libstdc++.so.5
> #7  0xb7552a96 in std::string::reserve(unsigned) () from  
> /usr/lib/libstdc++.so.5
> #8  0xb7549cb9 in std::basic_stringbuf<char, std::char_traits<char>,  
> std::allocator<char> >::overflow(int) () from /usr/lib/libstdc++.so.5
> #9  0xb754ff64 in std::basic_streambuf<char, std::char_traits<char>  
>  >::xsputn(char const*, int) () from /usr/lib/libstdc++.so.5
> #10 0xb7546961 in std::ostream::write(char const*, int) () from  
> /usr/lib/libstdc++.so.5
> #11 0xb7547076 in std::basic_ostream<char, std::char_traits<char> >&  
> std::operator<< <std::char_traits<char> >(std::basic_ostream<char,  
> std::char_traits<char> >&, char const*) () from /usr/lib/libstdc++.so.5
> #12 0x08056089 in XrdClientConn::CheckResp(ServerResponseHeader*, char  
> const*) (this=0x8089ec8, resp=0x808c12c, method=0x807bad8 "Stat")
>     at XrdClientConn.cc:451
> #13 0x08055501 in XrdClientConn::SendGenCommand(ClientRequest*, void  
> const*, void**, void*, bool, char*, ServerResponseHeader*)  
> (this=0x8089ec8,
>     req=0xbfffe210, reqMoreData=0x8090b70, answMoreDataAllocated=0x0,  
> answMoreData=0xbfffda10, HasToAlloc=false, CmdName=0x807bad8 "Stat",
>     srh=0x0) at XrdClientConn.cc:344
> #14 0x0806d90a in XrdClientAdmin::Stat(char*, long&, long&, long&,  
> long&) (this=0x8089728,
>     fname=0x8090b70 "/prod/subskims/SPskims/001238/200302/1008/",  
> id=@0xbfffe4d8, size=@0xbfffe4d4, flags=@0xbfffe4d0,  modtime=@0xbfffe4cc)
>     at XrdClientAdmin.cc:255
> #15 0x0804c6d3 in CreateDestPath_xrd(XrdClientString, bool) (url=
>       {data = 0x8087e18  
> "root://bbrprod05:1094//prod/subskims/SPskims/001238/200302/1008/",  
> size = 64, capacity = 256}, isdir=true)
>     at Xrdcp.cc:170
> #16 0x0804e84b in main (argc=4, argv=0xbfffe7a4) at Xrdcp.cc:518
> 
> 
> Where is the server side logfile? Maybe this can give some hints what  
> the problem is. Or is it just a problem the server has an older version  
> than the client?
> 
> Cheers,
>         Remi
> 
> ---------------------------------------------------------------------
> Progress in high energy physics: particles discovered yesterday are
> used for calibration today, and will be the background tomorrow.
> 
> *********************************************************************
> Remigius K. Mommsen                 e-mail: [log in to unmask]
> University of California, Irvine       URL:    http://cern.ch/mommsen
> c/o SLAC                             voice:        ++1 (650) 926-3595
> 2575 Sand Hill Road #35                fax:        ++1 (650) 926-3882
> Menlo Park, CA 94025, US              home:        ++1 (650) 233-9041
> *********************************************************************