Dear ROOT Developers,
While reading data from our DPM Storage Element, using the
rfio protocol, we have seen errors that seem to come from
TTreeCache. Here is a report.
The error message is:
Error in <TRFIOFile::TRFIOFile>: error doing rfio_read
Error in <TBranch::GetBasket>: File:
rfio:///dpm/unige.ch/home/atlas/atlaslocalgroupdisk/user/wbell/data11_7TeV/user.wbell.data11_7TeV.00191239.physics_Muons.merge.NTUP_TOPMU.f413_m1019_p694_p722_thin0001_0001.111112032448/user.wbell.005705._00037.output.root
at byte:536958, branch:EF_e45_medium1, entry:459, badread=1, nerrors=1,
basketnumber=1
terminate called after throwing an instance of 'std::out_of_range'
what(): vector::_M_range_check
/var/spool/torque/mom_priv/jobs/1418590.grid07.unige.ch.SC: line 55:
6815 Aborted
This happens when the Storage Element is busy. An 'error doing rfio_read' leads to 'std::out_of_range'. It looks like reading is not blocked when the process should be waiting for more data. Instead the process continues and crashes, printing errors due to corrupted data.
In the user code we have the lines (m_tree is a TTree*):
m_tree->SetCacheSize(104857600);
TTreeCache::SetLearnEntries(1); // Stop learning after 1 entry is read.
m_tree->AddBranchToCache(branchName,true);
Removing all these lines makes the errors disappear. This is why we think there is a problem with the TTreeCache. We are using ROOT 5.30/05.
Please let us know if any more information would be useful.
Best regards,
Szymon Gadomski
--Received on Wed Jan 18 2012 - 17:58:54 CET
==================================================
Szymon GADOMSKI Université de Genève, Section de physique Département de physique nucléaire et corpusculaire 24, Quai Ernest-Ansermet, CH-1211 Genève 4 phone ++41 22 767 7935 (CERN) or ++41 22 379 6278 (DPNC)
==================================================
This archive was generated by hypermail 2.2.0 : Fri Feb 03 2012 - 23:50:01 CET