Skip to content
Snippets Groups Projects

xAODMuon: Generate ElementLink dictionary for xAOD::MuonContainer.

Closed Scott Snyder requested to merge ssnyder/athena:el.xAODMuon-20200414 into master
1 unresolved thread

Avoid auto-parsing, which was seen to casue crashes in 6.20.02.

See !31633 (merged).

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • :negative_squared_cross_mark: CI Result FAILURE (hash e1225f41)

    Athena AthSimulation AnalysisBase AthGeneration
    externals :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    cmake :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    make :white_check_mark: :white_check_mark: :o: :white_check_mark:
    required tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    optional tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:

    Full details available on this CI monitor view
    :white_check_mark: Athena: number of compilation errors 0, warnings 0
    :white_check_mark: AthSimulation: number of compilation errors 0, warnings 0
    :o: AnalysisBase: number of compilation errors 1, warnings 1
    :white_check_mark: AthGeneration: number of compilation errors 0, warnings 0
    :pencil: For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 12263]

  • Hi,

    Changing labels until this is followed-up ...

    MLB (L1)

  • Scott, could you point out the job(s) that fail(s) because of this dictionary not being set up correctly? I've been looking around as much as I could, but couldn't find which test failure you're actually trying to fix with this MR... :confused:

  • mentioned in merge request !31983 (merged)

  • Scott Snyder added 1 commit

    added 1 commit

    • eed2b9cb - Explicitly request required dictionaries rather than using the ELEMENT_LINKS cmake pattern.

    Compare with previous version

  • Author Developer

    hi -

    Sorry to be excessively sketchy.

    This is addressing these failures seen in the debug build:

              1 - xAODDataSource_dataSourceEvent_test_ctest (Failed)
              2 - xAODDataSource_dataSource_test_ctest (Failed)
              3 - xAODDataSource_dataFrame_test_ctest (Failed)
              4 - xAODDataSource_dataFrameTypeConversion_test_ctest (Failed)
              5 - xAODDataSource_dataFrameElementLink_test_ctest (Failed)
              6 - xAODDataSource_dataFrame_pytest_ctest (Failed)
              7 - xAODRootAccess_ut_xaodrootaccess_metadata_test_ctest (Failed)
              8 - xAODRootAccess_ut_xaodrootaccess_athenaMode_test_ctest (Failed)
              9 - xAODRootAccess_ut_xaodrootaccess_remap_test_ctest (Failed)
             10 - xAODRootAccess_ut_xaodrootaccess_slimming_test_ctest (Failed)
             11 - xAODRootAccess_ut_xaodrootaccess_stats_test_ctest (Failed)
             15 - xAODRootAccess_ut_xaodrootaccess_tchain_test_ctest (Failed)
             20 - xAODRootAccess_ut_xaodrootaccess_proxydict_test_ctest (Failed)

    which crash like this:

    ut_xaodrootaccess_metadata_test.exe: /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/interpreter/llvm/src/tools/clang/lib/Sema/SemaLookup.cpp:2001: bool clang::Sema::LookupQualifiedName(clang::LookupResult&, clang::DeclContext*, bool): Assertion `(!isa<TagDecl>(LookupCtx) || LookupCtx->isDependentContext() || cast<TagDecl>(LookupCtx)->isCompleteDefinition() || cast<TagDecl>(LookupCtx)->isBeingDefined()) && "Declaration context must already be complete!"' failed.

    with a stack trace like:

    #3  0x00007ffff2bc1202 in __assert_fail () from /lib64/libc.so.6
    #4  0x00007fffe96f1979 in clang::Sema::LookupQualifiedName(clang::LookupResult&, clang::DeclContext*, bool) [clone .part.1376] ()
       from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc8-dbg/sw/lcg/releases/LCG_97/ROOT/v6.20.02/x86_64-centos7-gcc8-dbg/lib/libCling.so
    #5  0x00007fffe981774d in clang::Sema::CheckTypenameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const&, clang::SourceLocation) ()
       from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc8-dbg/sw/lcg/releases/LCG_97/ROOT/v6.20.02/x86_64-centos7-gcc8-dbg/lib/libCling.so
    ...
    #43 0x00007fffe8afa181 in GetClassSharedLibsForModule (
        cls=0x16ac2f60 "SG::AuxTypeVectorFactory<vector<ElementLink<DataVector<xAOD::Muon_v1> > > >", LH=...)
        at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/metacling/src/TCling.cxx:6875

    So cling is crashing trying to autoparse SG::AuxTypeVectorFactory<std::vector<ElementLinkxAOD::MuonContainer >

    Regardless of why cling is crashing, we prefer explcitly-generated dictionaries to autoparsing. So the goal here was to generate a dictionary for the above class.

    I added the ELEMENT_LINK pattern because that generates a dictionary for

    <class name="SG::AuxTypeVectorFactory<ElementLink<@type@> >" />

    Although that doesn't seem to be exactly the same type, it was sufficient to fix the crashes.

    I didn't notice, though, that this would also define ElementLinkVector types, which is what led to the failure in AnalysisBase.

    Requesting just these types explicitly is sufficient to fix the crashes, so i'll try that.

  • This merge request affects 1 package:

    • Event/xAOD/xAODMuon

    Adding @akraszna as watcher

  • :white_check_mark: CI Result SUCCESS (hash eed2b9cb)

    Athena AthSimulation AnalysisBase AthGeneration
    externals :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    cmake :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    make :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    required tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    optional tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:

    Full details available on this CI monitor view
    :white_check_mark: Athena: number of compilation errors 0, warnings 0
    :white_check_mark: AthSimulation: number of compilation errors 0, warnings 0
    :white_check_mark: AnalysisBase: number of compilation errors 0, warnings 0
    :white_check_mark: AthGeneration: number of compilation errors 0, warnings 0
    :pencil: For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 12308]

  • Changing back to review-user-action-required. Clara (L1)

  • 32 32 // EDM include(s):
    33 33 #include "AthLinks/DataLink.h"
    34 34 #include "AthLinks/ElementLink.h"
    35 #include "xAODRootAccess/tools/TAuxVectorFactory.h"
  • Author Developer

    Fine -- this is anyway your code, so i'll leave these failures for you to deal with.

  • closed

  • mentioned in merge request !32081 (closed)

  • Please register or sign in to reply
    Loading