When reading data with uproot
from a tree compressed with zlib, I find there are some compression errors from zlib, such as: Error -3 while decompressing data: incorrect data check
or Error -5 while decompressing data: incomplete or truncated stream.
When I open the file in ROOT, I get a similar error from zlib:
R__unzip: error -3 in inflate (zlib)
Error in <TBasket::ReadBasketBuffers>: fNbytes = 20102, fKeylen = 199, fObjlen = 28540, noutot = 0, nout=0, nin=19903, nbuf=28540
Error in <TBranchElement::GetBasket>: File: Stage_1_files/AnalysisResults.31.root at byte:51212830, branch:data.fJetConstituents.fPt, entry:133851, badread=1, nerrors=1, basketnumber=189
...
However, ROOT skips over the problematic entry (or entries) and continues try to read the file. In uproot, the zlib exception is passed up. I catch it, but I'm unable to continue processing the file. There are clearly underlying issues with the file (seems to be from issues with ROOT merging which are out of my control), but is there a way to have uproot identify and skip problematic entries and continue with the rest of the data? I could imagine restricting the entries when reading, but how would I identify them with uproot without trial and error? I could only identify the problematic branch by reading each branch one-by-one in uproot, and that still doesn't identify which entries are the issue (or by checking with ROOT).
Thanks!