-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Lazy multithread RDataFrame::Snapshot cause unnessary warning and break gDirectory #14132
Comments
Thanks for this report. I can reproduce. There is something to be figured out here.
The condition
Is always true if
|
Was this followed up on? It's not a critical issue but the extra warnings are still annoying. |
I agree, and this is followed up in this PR, being tested now: #16550 |
Check duplicate issues.
Description
I am getting some
Warning in <Snapshot>: A lazy Snapshot action was booked but never triggered.
warning at the end of the program while found that all output files I expected to be present are present. What make things worse is that snapshot operation in this case can causeTH1D::SaveAs
to stop working.I did some test regarding the issue and found following minimal reproduce.
Reproducer
Create
toy.cpp
with content:Run it by
rool -l toy.cpp
or compile and run byc++ toy.cpp -o t $(root-config --cflags --glibs) && ./t
Result:
Warning in <Snapshot>: A lazy Snapshot action was booked but never triggered.
warning is given buttest3.root
is present.Create
toy.cpp
with content:Run it by
rool -l toy.cpp
or compile and run byc++ toy.cpp -o t $(root-config --cflags --glibs) && ./t
Result:
Warning in <Snapshot>: A lazy Snapshot action was booked but never triggered.
warning is given,test3.root
is present.But
hist.root
that should come fromTH1D::SaveAs
is missing.GDB suggest that control flow have reached
TObject::SaveAs
, I have no idea how to dig into the issue, but it looks to me as ifroot/core/base/src/TObject.cxx
Line 690 in d245ee7
is skipped due to
gDirectory
being casted tofalse
asTDirectory::GetSharedLocalCurrentDirectory().get()._M_b._M_p
isnullptr
in this case.ROOT version
Reproduced on
and
Installation method
6.28/08 from Fedora 39, self-compiled 6.30/00
Operating system
Fedora release 39 (Thirty Nine)
Additional context
No response
The text was updated successfully, but these errors were encountered: