Project

General

Profile

Bug #23808

Can't load ParameterSet.h header in ROOT

Added by Gianluca Petrillo 7 months ago. Updated 5 months ago.

Status:
Closed
Priority:
Normal
Target version:
Start date:
12/26/2019
Due date:
% Done:

100%

Estimated time:
Spent time:
Duration:

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 and root (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 6 months ago

  • Status changed from New to Accepted

#2 Updated by Christopher Green 6 months 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.

#4 Updated by Tracy Usher 6 months 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 6 months 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 6 months ago

Tracy, the workaround is to use the prof build.

#7 Updated by Marco Del Tutto 6 months 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 6 months 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 5 months 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 5 months 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 5 months ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF