Hello, We are running the same program on the same root version (3.01.06) but on different machines, and on one of them (gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-81)) everything works fine while on the other (Red Hat Linux release 6.2 (Zoot), gcc version egcs-2.91.66 19990314/Linux(egcs-1.1.2 release)) we get a segmentation violation when trying to read the branch of the tree from the file (created by the same program on the same machine). The crush is preceded by the error message during reading of previous branch (each branch is a TObjArray of TClonesArray's, written in non-splitted mode). The error is : branch1->GetEntry(0); //Read Branch for one detector Warning in <TExMap::Remove>: key 23 not found at 23 Warning in <TBuffer::CheckObject>: reference to object of unavailable class TObject, pointer will be 0 Error in <TBuffer::CheckByteCount>: object of class TCollection read too many bytes Warning in <TBuffer::CheckByteCount>: TCollection::Streamer() not in sync with data on file, fix Streamer() branch2->GetEntry(0); //Read Branch for other detector *** Break *** segmentation violation The problem is created at tree writing stage, since although the data in the trees are the same in both cases, the trees are different: when I do TFile::ShowStreamerInfo() for the files containing the trees, the 'bad' file shows all StreamerInfo's present in the 'good' file PLUS StreamerInfo's for TBranchElement and TLeafElement (absent in the "good" file's ShowStreamerInfo output. I don't use TTree::Bronch method) Does anybody know what can be the reason. I attach the outputs of ShowStreamerInfo() for both files. Regards, Ruben Shahoian PS On both machines the program runs fine with root_3.02.07, but for different reasons we would like to have backward compatibility at least with 3.01.06
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:45 MET