-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TBulkRead fails with "fExtraBasket should have been set to nullptr by GetFreshBasket" #6416
Comments
For the record, for other files, with larger baskets, it happens in the middle of the tree reading. |
@ktf There is an orphan p->Print() in the reproducer above. |
@pzhristov fixed |
If I understand correctly TBranch::GetBasketAndFirst() sometimes does not go through the GetFreshBasket statement, but through GetFreshCluster(). Line 1223-1226 of TBranch.cxx. |
This fixes Issue root-project#6416 and Issue root-project#6417
It turns out that #6417 and this issue have the same original cause (not being able to handle basket that are not stored (on their own) in the file). |
Indeed and the rest of the code assumed it always went through GetFreshBasket. |
This fixes Issue root-project#6416 and Issue root-project#6417
This fixes Issue root-project#6416 and Issue root-project#6417
This fixes Issue root-project#6416 and Issue root-project#6417
This fixes Issue root-project#6416 and Issue root-project#6417
This fixes Issue root-project#6416 and Issue root-project#6417
Describe the bug
I am trying to use the new TBulkRead API. I have a set of branches that I read with (updated with full reproducer):
however when I get to read the last but one buffer, I get:
Expected behavior
Reading all the baskets, with the last one returning the appropriate number of entries.
To Reproduce
Setup
6.20.0
Additional context
TFile with a few TTree in it, all the branches have basic types or arrays of basic types.
The text was updated successfully, but these errors were encountered: