Skip to content

xAODDataSource Unittest Fixes, master branch (2020.05.29.)

This is meant to fix the unit test errors coming from xAODDataSource in the x86_64-centos7-gcc8-opt and x86_64-centos7-gcc8-dbg nightlies.

The issue in the debug nightly is strictly speaking because of: https://sft.its.cern.ch/jira/browse/ROOT-10777 But following the work done in !33004 (merged), !33096 (merged) and !33176 (merged), one can work around that issue by generating some additional dictionaries. In this case the unit tests were failing with:

xAOD::Init                INFO    Environment initialised for data access
[Detaching after fork from child process 2105]
dataSource_test.exe: /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/interpreter/llvm/src/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp:130: clang::DeclContext* clang::Sema::computeDeclContext(const clang::CXXScopeSpec&, bool): Assertion `!isSFINAEContext() && "partial specialization scope specifier in SFINAE context?"' failed.

Program received signal SIGABRT, Aborted.
0x00007f0cd188f337 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00007f0cd188f337 in raise () from /lib64/libc.so.6
#1  0x00007f0cd1890a28 in abort () from /lib64/libc.so.6
#2  0x00007f0cd1888156 in __assert_fail_base () from /lib64/libc.so.6
#3  0x00007f0cd1888202 in __assert_fail () from /lib64/libc.so.6
#4  0x00007f0cc4f7690e in clang::Sema::computeDeclContext(clang::CXXScopeSpec const&, bool) ()
   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  0x00007f0cc50d0e36 in clang::Sema::isCurrentClassName(clang::IdentifierInfo const&, clang::Scope*, clang::CXXScopeSpec const*) ()
   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
#6  0x00007f0cc4db5390 in clang::Parser::ParseUnqualifiedId(clang::CXXScopeSpec&, bool, bool, bool, bool, clang::OpaquePtr<clang::QualType>, clang::SourceLocation&, clang::UnqualifiedId&) ()
   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
#7  0x00007f0cc4d8a505 in clang::Parser::ParseUsingDeclarator(unsigned int, clang::Parser::UsingDeclarator&) ()
   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
#8  0x00007f0cc4d95c58 in clang::Parser::ParseUsingDeclaration(unsigned int, clang::Parser::ParsedTemplateInfo const&, clang::SourceLocation, clang::SourceLocation&, clang::AccessSpecifier) ()
   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
#9  0x00007f0cc4d96dc4 in clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier, clang::AttributeList*, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject*) ()
   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
#10 0x00007f0cc4d9912a in clang::Parser::ParseCXXClassMemberDeclarationWithPragmas(clang::AccessSpecifier&, clang::Parser::ParsedAttributesWithRange&, clang::TypeSpecifierType, clang::Decl*) ()
   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
#11 0x00007f0cc4d9989f in clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::Parser::ParsedAttributesWithRange&, unsigned int, clang::Decl*) ()
   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
#12 0x00007f0cc4d9bf9b in clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::Parser::ParsedAttributesWithRange&) ()
   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
#13 0x00007f0cc4d7f677 in clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) () 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
#14 0x00007f0cc4df77a7 in clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) () 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
#15 0x00007f0cc4df9620 in clang::Parser::ParseTemplateDeclarationOrSpecialization(unsigned int, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) [clone .part.197] ()
   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
#16 0x00007f0cc4df99df in clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) ()
   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
#17 0x00007f0cc4d8929c in clang::Parser::ParseDeclaration(unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) ()
   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
#18 0x00007f0cc4e082fa in clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) ()
   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
#19 0x00007f0cc4d946f9 in clang::Parser::ParseInnerNamespace(std::vector<clang::SourceLocation, std::allocator<clang::SourceLocation> >&, std::vector<clang::IdentifierInfo*, std::allocator<clang::IdentifierInfo*> >&, std::vector<clang::SourceLocation, std::allocator<clang::SourceLocation> >&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) ()
   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
#20 0x00007f0cc4d951c2 in clang::Parser::ParseNamespace(unsigned int, clang::SourceLocation&, 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
#21 0x00007f0cc4d892c7 in clang::Parser::ParseDeclaration(unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) ()
   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
#22 0x00007f0cc4e082fa in clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) ()
   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
#23 0x00007f0cc4e08ec1 in clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) ()
   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
#24 0x00007f0cc4822e05 in cling::IncrementalParser::ParseInternal(llvm::StringRef) ()
   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
#25 0x00007f0cc482620c in cling::IncrementalParser::Compile(llvm::StringRef, cling::CompilationOptions const&) ()
   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
#26 0x00007f0cc479e6b2 in cling::Interpreter::DeclareInternal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cling::CompilationOptions const&, cling::Transaction**) const () 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
#27 0x00007f0cc479e7e5 in cling::Interpreter::parseForModule(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
   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
#28 0x00007f0cc4696793 in ExecAutoParse (
    what=0x7f0c7f930af0 "\n#line 1 \"libTrkSegmentDict dictionary payload\"\n\n#ifndef HAVE_64_BITS\n  #define HAVE_64_BITS 1\n#endif\n#ifndef __IDENTIFIER_64BIT__\n  #define __IDENTIFIER_64BIT__ 1\n#endif\n#ifndef GAUDI_V20_COMPAT\n  #d"..., header=false, interpreter=0x1f32c00) at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/metacling/src/TCling.cxx:5931
#29 0x00007f0cc469708e in TCling::AutoParseImplRecurse (this=0x1f2fd90, cls=0xd0e5e30 "DataVectorBase<Trk::Segment>", topLevel=true) at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/metacling/src/TCling.cxx:6036
#30 0x00007f0cc4697769 in TCling::AutoParse (this=0x1f2fd90, cls=0xd0e5e30 "DataVectorBase<Trk::Segment>") at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/metacling/src/TCling.cxx:6121
#31 0x00007f0cc467e1a0 in TCling__AutoParseCallback (className=0xd0e5e30 "DataVectorBase<Trk::Segment>") at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/metacling/src/TCling.cxx:624
#32 0x00007f0cc4651248 in TClingCallbacks::LookupObject (this=0x2c92390, Tag=0xd09caf8) at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/metacling/src/TClingCallbacks.cxx:379
#33 0x00007f0cc479ca60 in cling::MultiplexInterpreterCallbacks::LookupObject(clang::TagDecl*) () 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                                                                                                                                                               
#34 0x00007f0cc4f489d4 in clang::MultiplexExternalSemaSource::CompleteType(clang::TagDecl*) () 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                                                                                                                                                                 
#35 0x00007f0cc54a208a in clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser*) () 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                                                                                                                         
#36 0x00007f0cc54a2885 in clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser&) () 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                                                                                                                             
#37 0x00007f0cc4f77105 in clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*&) () 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                                                                                                                                               
#38 0x00007f0cc53b864a 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                                                           
#39 0x00007f0cc542eaf0 in clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool) () 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                                                                                                                                                                                                       
#40 0x00007f0cc544fa6a in clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentNameType(clang::TypeLocBuilder&, clang::DependentNameTypeLoc, bool) () 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                                                                          
#41 0x00007f0cc544708c in clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) () 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                                                                                                          
#42 0x00007f0cc544bc2a in clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) () 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 0x00007f0cc5450105 in clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool) () 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                                                                                 
#44 0x00007f0cc53931e9 in SubstDefaultTemplateArgument(clang::Sema&, clang::TemplateDecl*, clang::SourceLocation, clang::SourceLocation, clang::TemplateTypeParmDecl*, llvm::SmallVectorImpl<clang::TemplateArgument>&) () 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
#45 0x00007f0cc53a79ce in clang::Sema::CheckTemplateArgumentList(clang::TemplateDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool, llvm::SmallVectorImpl<clang::TemplateArgument>&, bool) () 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
#46 0x00007f0cc53a8741 in clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) () 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                                                                                                                    
#47 0x00007f0cc53ab363 in clang::Sema::ActOnTemplateIdType(clang::CXXScopeSpec&, clang::SourceLocation, clang::OpaquePtr<clang::TemplateName>, clang::IdentifierInfo*, clang::SourceLocation, clang::SourceLocation, llvm::MutableArrayRef<clang::ParsedTemplateArgument>, clang::SourceLocation, bool, bool) () 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                                                                                                                                                              
#48 0x00007f0cc4df1d42 in clang::Parser::AnnotateTemplateIdTokenAsType(bool) () 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                                                                                                                                                                                
#49 0x00007f0cc4e00c9a in clang::Parser::TryAnnotateTypeOrScopeTokenAfterScopeSpec(clang::CXXScopeSpec&, bool) () 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                                                                                                                                              
#50 0x00007f0cc4e01091 in clang::Parser::TryAnnotateTypeOrScopeToken() () 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                                                                                                                                                                                      
#51 0x00007f0cc4dfc138 in clang::Parser::isCXXDeclarationSpecifier(clang::Parser::TPResult, bool*) () 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                                                                                                                                                          
#52 0x00007f0cc4dfe626 in clang::Parser::isCXXTypeId(clang::Parser::TentativeCXXTypeIdContext, bool&) () 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                                                                                                                                                       
#53 0x00007f0cc4df2381 in clang::Parser::ParseTemplateArgument() () 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
#54 0x00007f0cc4df9c89 in clang::Parser::ParseTemplateArgumentList(llvm::SmallVector<clang::ParsedTemplateArgument, 16u>&) () 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
#55 0x00007f0cc4df9ebb in clang::Parser::ParseTemplateIdAfterTemplateName(bool, clang::SourceLocation&, llvm::SmallVector<clang::ParsedTemplateArgument, 16u>&, 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
#56 0x00007f0cc4df9fe5 in clang::Parser::AnnotateTemplateIdToken(clang::OpaquePtr<clang::TemplateName>, clang::TemplateNameKind, clang::CXXScopeSpec&, clang::SourceLocation, clang::UnqualifiedId&, bool) () 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
#57 0x00007f0cc4db41fa in clang::Parser::ParseOptionalCXXScopeSpecifier(clang::CXXScopeSpec&, clang::OpaquePtr<clang::QualType>, bool, bool*, bool, clang::IdentifierInfo**, bool) () 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
#58 0x00007f0cc4e010c9 in clang::Parser::TryAnnotateTypeOrScopeToken() () 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
#59 0x00007f0cc4dfc138 in clang::Parser::isCXXDeclarationSpecifier(clang::Parser::TPResult, bool*) () 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
#60 0x00007f0cc4dfe626 in clang::Parser::isCXXTypeId(clang::Parser::TentativeCXXTypeIdContext, bool&) () 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
#61 0x00007f0cc4df2381 in clang::Parser::ParseTemplateArgument() () 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
#62 0x00007f0cc4df9c89 in clang::Parser::ParseTemplateArgumentList(llvm::SmallVector<clang::ParsedTemplateArgument, 16u>&) () 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
#63 0x00007f0cc4df9ebb in clang::Parser::ParseTemplateIdAfterTemplateName(bool, clang::SourceLocation&, llvm::SmallVector<clang::ParsedTemplateArgument, 16u>&, 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
#64 0x00007f0cc4df9fe5 in clang::Parser::AnnotateTemplateIdToken(clang::OpaquePtr<clang::TemplateName>, clang::TemplateNameKind, clang::CXXScopeSpec&, clang::SourceLocation, clang::UnqualifiedId&, bool) () 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
#65 0x00007f0cc4db41fa in clang::Parser::ParseOptionalCXXScopeSpecifier(clang::CXXScopeSpec&, clang::OpaquePtr<clang::QualType>, bool, bool*, bool, clang::IdentifierInfo**, bool) () 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
#66 0x00007f0cc4e01e18 in clang::Parser::TryAnnotateCXXScopeToken(bool) () 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
#67 0x00007f0cc47b2c1a in cling::LookupHelper::findScope(llvm::StringRef, cling::LookupHelper::DiagSetting, clang::Type const**, bool) const () 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
#68 0x00007f0cc469b181 in GetClassSharedLibsForModule (cls=0xd0def00 "SG::AuxTypeVectorFactory<ElementLink<DataVector<Trk::Segment> > >", LH=...) at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/metacling/src/TCling.cxx:6875
#69 0x00007f0cc469b66d in TCling::GetClassSharedLibs (this=0x1f2fd90, cls=0xd0def00 "SG::AuxTypeVectorFactory<ElementLink<DataVector<Trk::Segment> > >") at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/metacling/src/TCling.cxx:6979
#70 0x00007f0cc4680441 in TClingLookupHelper__ExistingTypeCheck (tname=..., result=...) at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/metacling/src/TCling.cxx:1004
#71 0x00007f0cc44ec668 in ROOT::TMetaUtils::TClingLookupHelper::ExistingTypeCheck (this=0x2e3f540, tname=..., result=...) at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/clingutils/src/TClingUtils.cxx:500
#72 0x00007f0cd4e12c0a in TClassEdit::GetNormalizedName (norm_name=..., name=...) at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/foundation/src/TClassEdit.cxx:850
#73 0x00007f0cd4e31684 in TClass::GetClass (name=0xd0e5c10 "SG::AuxTypeVectorFactory<ElementLink<DataVector<Trk::Segment> > >", load=true, silent=false) at /workspace/build/projects/ROOT-v6.20.02/src/ROOT/v6.20.02/core/meta/src/TClass.cxx:2978
#74 0x00007f0cd468cbd0 in xAOD::TAuxStore::setupAuxBranch (this=0x7ffdcee08590, br=0x6a9cb00, auxName=0x7ffdcee08339 "muonSegment", staticBranch=false) at /build/atnight/localbuilds/nightlies/master/athena/Control/xAODRootAccess/Root/TAuxStore.cxx:1553
#75 0x00007f0cd468ab70 in xAOD::TAuxStore::scanInputTree (this=0x7ffdcee08590) at /build/atnight/localbuilds/nightlies/master/athena/Control/xAODRootAccess/Root/TAuxStore.cxx:1433
#76 0x00007f0cd4665160 in xAOD::TAuxStore::readFrom (this=0x7ffdcee08590, tree=0x39e57a0, printWarnings=false) at /build/atnight/localbuilds/nightlies/master/athena/Control/xAODRootAccess/Root/TAuxStore.cxx:174
#77 0x00007f0cd467918c in xAOD::TAuxStore::initStats (this=0x7ffdcee08590, tree=0x39e57a0) at /build/atnight/localbuilds/nightlies/master/athena/Control/xAODRootAccess/Root/TAuxStore.cxx:819
#78 0x00007f0cd46fdc4d in xAOD::TEvent::initStats (this=0x7ffdcee08aa0) at /build/atnight/localbuilds/nightlies/master/athena/Control/xAODRootAccess/Root/TEvent.cxx:1815
#79 0x00007f0cd46e3767 in xAOD::TEvent::readFrom (this=0x7ffdcee08aa0, file=0x496a5f0, useTreeCache=false, treeName=0x1f1b6a9 "CollectionTree") at /build/atnight/localbuilds/nightlies/master/athena/Control/xAODRootAccess/Root/TEvent.cxx:476
#80 0x00007f0cd46f52c8 in xAOD::TEvent::getEntry (this=0x7ffdcee08aa0, entry=0, getall=0) at /build/atnight/localbuilds/nightlies/master/athena/Control/xAODRootAccess/Root/TEvent.cxx:1272
#81 0x00007f0cd54fda3d in xAOD::RDataSource::readInputMetadata (this=0x7ffdcee08f00) at /media/krasznaa/WD_1TB_Linux/projects/unittests/athena/Control/xAODDataSource/Root/RDataSource.cxx:404
#82 0x00007f0cd54f6e0e in xAOD::RDataSource::RDataSource (this=0x7ffdcee08f00, fileNames=..., treeName=...) at /media/krasznaa/WD_1TB_Linux/projects/unittests/athena/Control/xAODDataSource/Root/RDataSource.cxx:117
#83 0x00007f0cd54f6585 in xAOD::RDataSource::RDataSource (this=0x7ffdcee08f00, fileNameGlob=..., treeName=...) at /media/krasznaa/WD_1TB_Linux/projects/unittests/athena/Control/xAODDataSource/Root/RDataSource.cxx:108
#84 0x0000000000411e44 in main () at /media/krasznaa/WD_1TB_Linux/projects/unittests/athena/Control/xAODDataSource/test/dataSource_test.cxx:25
(gdb)

So the solution was to generate a dictionary for SG::AuxTypeVectorFactory<ElementLink<Trk::SegmentCollection> > as well. And while at it, I also cleaned up the CMake configuration of the TrkSegment package.

The final issue (showing up in the optimised build) is because of some other ROOT issue that we didn't even open a bug report about. But that can also be worked around, with the included "hack". (Will follow up with the ROOT developers later on about that issue.)

Merge request reports