Details
-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
High
-
Resolution: Fixed
-
Affects Version/s: 6.08/00
-
Component/s: Cling
-
Labels:None
-
Environment:
SLF6, GCC 6.2.0 (new ABI).
Description
This was reported to Philippe and co. by email in September. Due to the difficulty of making a minimal reproducer, Philippe has been working in an art software environment in order to trace the problem.
Here is the original backtrace:
#0 0x00007fffee747d23 in clang::TemplateTypeParmDecl::getDefaultArgumentLoc() const () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#1 0x00007fffed9d15bf in clang::Sema::CheckTemplateParameterList(clang::TemplateParameterList*, clang::TemplateParameterList*, clang::Sema::TemplateParamListContext) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#2 0x00007fffed9eb409 in clang::Sema::CheckClassTemplate(clang::Scope*, unsigned int, clang::Sema::TagUseKind, clang::SourceLocation, clang::CXXScopeSpec&, clang::IdentifierInfo*, clang::SourceLocation, clang::AttributeList*, clang::TemplateParameterList*, clang::AccessSpecifier, clang::SourceLocation, clang::SourceLocation, unsigned int, clang::TemplateParameterList**, clang::Sema::SkipBodyInfo*) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#3 0x00007fffed7350ba in clang::Sema::ActOnTag(clang::Scope*, unsigned int, clang::Sema::TagUseKind, clang::SourceLocation, clang::CXXScopeSpec&, clang::IdentifierInfo*, clang::SourceLocation, clang::AttributeList*, clang::AccessSpecifier, clang::SourceLocation, llvm::MutableArrayRef<clang::TemplateParameterList*>, bool&, bool&, clang::SourceLocation, bool, clang::ActionResult<clang::OpaquePtr<clang::QualType>, false>, bool, clang::Sema::SkipBodyInfo*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#4 0x00007fffed519fda 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 /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#5 0x00007fffed4f8bc8 in clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#6 0x00007fffed574861 in clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#7 0x00007fffed576241 in clang::Parser::ParseTemplateDeclarationOrSpecialization(unsigned int, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#8 0x00007fffed57642f in clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#9 0x00007fffed504027 in clang::Parser::ParseDeclaration(unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#10 0x00007fffed585731 in clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#11 0x00007fffed511163 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 /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#12 0x00007fffed511782 in clang::Parser::ParseNamespace(unsigned int, clang::SourceLocation&, clang::SourceLocation) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#13 0x00007fffed50407d in clang::Parser::ParseDeclaration(unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#14 0x00007fffed585731 in clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#15 0x00007fffed586254 in clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#16 0x00007fffed11ef61 in cling::IncrementalParser::ParseInternal(llvm::StringRef) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#17 0x00007fffed1202dc in cling::IncrementalParser::Compile(llvm::StringRef, cling::CompilationOptions const&) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#18 0x00007fffed0c178e in cling::Interpreter::DeclareInternal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cling::CompilationOptions const&, cling::Transaction**) const () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#19 0x00007fffed0c18a4 in cling::Interpreter::parseForModule(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#20 0x00007fffed0737fe in ExecAutoParse(char const*, bool, cling::Interpreter*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#21 0x00007fffed073de7 in TCling::AutoParseImplRecurse(char const*, bool) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#22 0x00007fffed0741ce in TCling::AutoParse(char const*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#23 0x00007fffed08d63e in TClingCallbacks::LookupObject(clang::TagDecl*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#24 0x00007fffed0bf750 in cling::MultiplexInterpreterCallbacks::LookupObject(clang::TagDecl*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#25 0x00007fffedaccbf4 in clang::MultiplexExternalSemaSource::CompleteType(clang::TagDecl*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#26 0x00007fffeda9ea96 in clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser*) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#27 0x00007fffeda9ec65 in clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser&) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#28 0x00007fffed6a4710 in clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#29 0x00007fffed9cf3af in clang::Sema::LookupTemplateName(clang::LookupResult&, clang::Scope*, clang::CXXScopeSpec&, clang::QualType, bool, bool&) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#30 0x00007fffed9d02ee in clang::Sema::isTemplateName(clang::Scope*, clang::CXXScopeSpec&, bool, clang::UnqualifiedId&, clang::OpaquePtr<clang::QualType>, bool, clang::OpaquePtr<clang::TemplateName>&, bool&)
|
() from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#31 0x00007fffed53118a in clang::Parser::ParseOptionalCXXScopeSpecifier(clang::CXXScopeSpec&, clang::OpaquePtr<clang::QualType>, bool, bool*, bool, clang::IdentifierInfo**) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#32 0x00007fffed4fd774 in clang::Parser::ParseDeclaratorInternal(clang::Declarator&, void (clang::Parser::*)(clang::Declarator&)) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#33 0x00007fffed4fe002 in clang::Parser::ParseDeclarator(clang::Declarator&) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#34 0x00007fffed574a97 in clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#35 0x00007fffed575dc1 in clang::Parser::ParseExplicitInstantiation(unsigned int, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation&, clang::AccessSpecifier) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#36 0x00007fffed5764d6 in clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#37 0x00007fffed504027 in clang::Parser::ParseDeclaration(unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#38 0x00007fffed585731 in clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#39 0x00007fffed586254 in clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#40 0x00007fffed11ef04 in cling::IncrementalParser::ParseInternal(llvm::StringRef) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#41 0x00007fffed1202dc in cling::IncrementalParser::Compile(llvm::StringRef, cling::CompilationOptions const&) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#42 0x00007fffed0c178e in cling::Interpreter::DeclareInternal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cling::CompilationOptions const&, cling::Transaction**) const () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#43 0x00007fffed0c292b in cling::Interpreter::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cling::Value*, cling::Transaction**) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#44 0x00007fffed1586cf in cling::MetaProcessor::process(char const*, cling::Interpreter::CompilationResult&, cling::Value*) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#45 0x00007fffed069eb8 in HandleInterpreterException(cling::MetaProcessor*, char const*, cling::Interpreter::CompilationResult&, cling::Value*) ()
|
from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#46 0x00007fffed0764f1 in TCling::ProcessLine(char const*, TInterpreter::EErrorCode*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#47 0x00007fffeff5b8c9 in TApplication::ProcessLine(char const*, bool, int*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCore.so
|
#48 0x00007fffefef93d3 in TROOT::ProcessLine(char const*, int*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCore.so
|
#49 0x00007ffff7c00066 in ?? ()
|
#50 0x00007fffffff95a0 in ?? ()
|
#51 0x0000000002f73830 in ?? ()
|
#52 0x0000000002f73830 in ?? ()
|
#53 0x00007fffffff96f0 in ?? ()
|
#54 0x0000000002f73830 in ?? ()
|
#55 0x00007fffed095f52 in TClingCallFunc::IFacePtr() () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCling.so
|
#56 0x00007ffff02cb7e0 in guard variable for ROOT::Internal::GetROOT1()::alloc () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libCore.so
|
#57 0x00007fffffff96f0 in ?? ()
|
#58 0x00007ffff14f3047 in FastCall(long, void*, void*, void*) () from /home/greenc/work/cet-is/test-products/root/v6_07_99/Linux64bit+2.6-2.12-e12-prof/lib/libPyROOT.so
|
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
|
and Philippe's initial comment on the problem:
Apparently there is some code (produced in part by rootcling) that is breaking clang.
Taking a look at the libgallery_dict dictionary might give a clue.
> clang::TemplateTypeParmDecl::getDefaultArgumentLoc()
It seems that clang is looking for a 'file location'. One potential cause is that one of the necessary header file was not found.
At any rate being able to reproduce the problem with a full debug build of ROOT (i.e. CMAKE_BUILD_TYPE and LLVM_BUILD_TYPE both set to Debug) would be the fastest way to resolve this.
Thanks,
Philippe.