Print

Print


Hi Derek,

  quite ugly. Anything strange in the server or client side log?

Fabrizio

Derek Feichtinger wrote:
> Posted by: Derek Feichtinger <dfeich>
> Related to: [ROOT bugs #16484] Errors filling tree on a xrootd file
> URL: <http://savannah.cern.ch/bugs/?func=detailitem&item_id=16484>
> 
> 
> Hi,
> 
> I see errors when filling a tree in a file that is openend via xrootd. The
> problem gets worse, the more entries I try to fill.
> 
> (N.B. It's not that I consider it an efficient way to work, filling a remote
> tree, but I was toying around with a few tests for our xrootd installation)
> 
> I attached a sample file with which I can reproduce the error.
> 
> .L xrootdFillTree.C+
> xrootdFillTree(5000)
>   [No error]
> xrootdFillTree(10000)
> Error in <TTree::Fill>: Failed filling branch:t1.px, nbytes=-1
> Error in <TTree::Fill>: Failed filling branch:t1.py, nbytes=-1
> Error in <TTree::Fill>: Failed filling branch:t1.pz, nbytes=-1
> 
> xrootdFillTree(20000)
>   [2*above errors]
> 
> xrootdFillTree(30000)
>   [3*above errors]
> 
> ROOT version: 5.11.02  (using xrootd-20060414-1334_dbg of the distribution)
> arch:
>     Intel(R) XEON(TM) CPU 2.20GHz
>     and also Dual Core AMD Opteron(tm) Processor 280
> 
> Thanks,
> Derek
> 
> 
> Submitted by: dfeich
> Originator Email:
> Bug / Feature: Bug report
> Category: Input/Output
> Priority: 5 - Normal
> Severity: 3 - Normal
> Status:
> Assigned to:
> Open/Closed: Open
> Release: 5.11.02
> Operating System: GNU/Linux
> 
> 
> _______________________________________________
>   Message sent via/by LCG Savannah
>   http://savannah.cern.ch/
> 
> 
> ------------------------------------------------------------------------
> 
> #include "TString.h"
> #include "TFile.h"
> #include "TTree.h"
> #include "TRandom.h"
> 
> void
> xrootdFillTree(int entries)
> {
>   // using a remote tree via xrootd leads to errors for entries > ~5000 in my case
>   TString filename="root://merlin01//tmp/feichtinger/xrootd/ns/xrootdFillTree.root";
>  
>   // using a local file works fine 
>   //filename="localtest.root";
> 
>   TFile *f = TFile::Open(filename,"recreate");
>   if(!f) {
>     fprintf(stderr,"failed to recreate file %s\n",filename.Data());
>     return;
>   }
> 
>   TTree *t1 = new TTree("t1","TreeTest");
> 
>   Float_t px,py,pz;
>   t1->Branch("px",&px,"px/F");
>   t1->Branch("py",&py,"py/F");
>   t1->Branch("pz",&pz,"pz/F");
> 
>   Float_t pmean=1.0;
>   for(int i=0;i<entries;i++) {
>     px=gRandom->Gaus(0,pmean);
>     py=gRandom->Gaus(0,pmean);
>     pz=gRandom->Gaus(0,pmean);
> 
>     t1->Fill();
>   }
> 
>   t1->Write();
>   //delete(t1);
>   f->Close();
> 
>   return;
> }