Bug #23808
Can't load ParameterSet.h header in ROOT
Description
This problem ultimately affects our ability to run with gallery/python:
Qual='e17:debug' source /cvmfs/larsoft.opensciencegrid.org/products/setup setup canvas_root_io v1_04_01 -q "$Qual" root -l <<< '#include "/cvmfs/larsoft.opensciencegrid.org/products/fhiclcpp/v4_10_00/include/fhiclcpp/ParameterSet.h"'aborts with an assertion error:
root.exe: /scratch/workspace/canvas-products/BUILDTYPE/debug/QUAL/e17/label1/swarm/label2/SLF7/build/root/v6_18_04b/source/root-6.18.04/interpreter/llvm/src/tools/clang/lib/Basic/Diagnostic.cpp:175: void clang::DiagnosticsEngine::DiagStateMap::append(clang::SourceManager&, clang::SourceLocation, clang::DiagnosticsEngine::DiagState*): Assertion `Last.Offset <= Offset && "state transitions added out of order"' failed.
This was tested on a SLF7 GPVM (icarusbuild02.fnal.gov
), with e17
, e19
and c7
as compiler qualifiers.
Note that:
- if setting up separately
canvas
androot
(in either order) the problem does not appear:Qual='e17:debug' source /cvmfs/larsoft.opensciencegrid.org/products/setup setup root v6_18_04b -q "$Qual" setup canvas v3_08_00 -q "$Qual" root -l <<< '#include "/cvmfs/larsoft.opensciencegrid.org/products/fhiclcpp/v4_10_00/include/fhiclcpp/ParameterSet.h"'
"just works" - when using
prof
qualifiers, the assertion is not emitted (possibly because disabled) and there is no direct evidence of related failure in the following usage
History
#1 Updated by Kyle Knoepfel about 1 year ago
- Status changed from New to Accepted
#2 Updated by Christopher Green about 1 year ago
- Assignee set to Christopher Green
- Status changed from Accepted to Work in progress
- Category set to Third Party
Preliminary investigation With Philippe suggests that this is related to how ROOT / Cling handles mixed dictionary / header systems. I am working on a minimal reproducer to submit as a ROOT JIRA issue.
#3 Updated by Christopher Green about 1 year ago
#4 Updated by Tracy Usher about 1 year ago
Is there any news on this? When I built larsoft v08_41_00 and tried to run python code that worked fine with larsoft v08_40_00 (with the py3 qualifier), I get the above error. Now I'm dead... Alternatively, is there a workaround? Thanks.
#5 Updated by Tracy Usher about 1 year ago
I did try to trace this as much as I can (I am not as expert as Gianluca here!)... and it seems that the first place it tries to access (in the python script) a service from gallery (e.g. a line like: geometryCore = ICARUSservices.ServiceManager('Geometry')) I get the error:
python: /home/usher/LArTPC/Products/root/v6_18_04c/source/root-6.18.04/interpreter/llvm/src/tools/clang/lib/Basic/Diagnostic.cpp:175: void clang::DiagnosticsEngine::DiagStateMap::append(clang::SourceManager&, clang::SourceLocation, clang::DiagnosticsEngine::DiagState*): Assertion `Last.Offset <= Offset && "state transitions added out of order"' failed.
Aborted (core dumped)
Obviously the same problem as in the root issues linked above.
I believe this is really a showstopper, we (ICARUS) are relying on the updated event display originally written by Corey Adams which was resurrected by being able to access geometry and detector propperties from gallery).
Thanks!
#6 Updated by Kyle Knoepfel about 1 year ago
Tracy, the workaround is to use the prof build.
#7 Updated by Marco Del Tutto about 1 year ago
The same is true for SBND, we also need access to services from gallery. I see that it works with the prof build, although would be nice to have this fixed for people that use the debug build al well. Thanks!
#8 Updated by Tracy Usher about 1 year ago
And I can confirm that with a "prof" build of LArSoft on my laptop the event display works. So it seems to be isolated to the debug builds...
#9 Updated by Christopher Green about 1 year ago
- Status changed from Work in progress to Resolved
According to https://sft.its.cern.ch/jira/projects/ROOT/issues/ROOT-10504, this bug has been fixed for ROOT 6.18/06 and 6.20/00. These ROOT versions will be included in appropriate upcoming art suite releases.
#10 Updated by Kyle Knoepfel about 1 year ago
- Scope deleted (
Internal) - % Done changed from 0 to 100
- Target version set to 1.02.01
- Category deleted (
Third Party) - Project changed from art to canvas_root_io
- SSI Package deleted (
art) - Experiment deleted (
ICARUS)
#11 Updated by Kyle Knoepfel about 1 year ago
- Status changed from Resolved to Closed