question about TBasket::ReadBasketBuffers line 436

From: Constantin Loizides <cloizides_at_lbl.gov>
Date: Wed, 26 Jan 2011 10:39:38 +0100


Dear experts,
I have a question regarding the error handling in TBasket line 436. In the original version an unzipping error is recognized, badread is set to one, but then the code continues. I am not sure if this is intended, but I could imagine it is trying to repair the bad read. However, very often (or even always?) the code the crashes later in the "AfterBuffer" section, ie in

   fBufferRef->ReadArray(fEntryOffset);
(at least in the cases I looked at).

Now in my case, if I return immediately the bad return, I can nicely detect the bad read and decide to abort the current event, or even reading the current event.

My question is: What is the intended behavior and would there be a way to make this method a bit more robust so that jobs do not crash when the unzip is detected?

Thanks,
Constantin

Index: tree/tree/src/TBasket.cxx


Received on Wed Jan 26 2011 - 10:39:47 CET

This archive was generated by hypermail 2.2.0 : Wed Feb 02 2011 - 23:50:01 CET