Skip to content

Crash in TDataMember::GetOffsetCint() method #8547

@linev

Description

@linev

Following simple code crashes:

TClass *cl = gROOT->GetClass("ROOT::Experimental::RBox");
TDataMember *m = cl->GetDataMember("fAttrBorder");
printf("offset = %d\n", (int) m->GetOffsetCint());

Method is crucial, while used in PyROOT.
Error trace:

#7  0x00007f261b3a1bc7 in cling::DeclCollector::HandleInterestingDecl(clang::DeclGroupRef) () from /home/linev/build/json/lib/libCling.so
#8  0x00007f261bb1b661 in clang::ASTReader::PassInterestingDeclsToConsumer() () from /home/linev/build/json/lib/libCling.so
#9  0x00007f261bb02876 in clang::ASTReader::FindExternalVisibleDeclsByName(clang::DeclContext const*, clang::DeclarationName) () from /home/linev/build/json/lib/libCling.so
#10 0x00007f261bbf3038 in clang::MultiplexExternalSemaSource::FindExternalVisibleDeclsByName(clang::DeclContext const*, clang::DeclarationName) () from /home/linev/build/json/lib/libCling.so
#11 0x00007f261d7d8e5a in clang::DeclContext::lookup(clang::DeclarationName) const () from /home/linev/build/json/lib/libCling.so
#12 0x00007f261baa4c68 in clang::ASTReader::CompleteRedeclChain(clang::Decl const*) () from /home/linev/build/json/lib/libCling.so
#13 0x00007f261bbf2e00 in clang::MultiplexExternalSemaSource::CompleteRedeclChain(clang::Decl const*) () from /home/linev/build/json/lib/libCling.so
#14 0x00007f261d7c5ccf in clang::TagDecl::getMostRecentDeclImpl() () from /home/linev/build/json/lib/libCling.so
#15 0x00007f261d7d8da2 in clang::DeclContext::lookup(clang::DeclarationName) const () from /home/linev/build/json/lib/libCling.so
#16 0x00007f261baa4c68 in clang::ASTReader::CompleteRedeclChain(clang::Decl const*) () from /home/linev/build/json/lib/libCling.so
#17 0x00007f261bbf2e00 in clang::MultiplexExternalSemaSource::CompleteRedeclChain(clang::Decl const*) () from /home/linev/build/json/lib/libCling.so
#18 0x00007f261bafa0cf in clang::ASTReader::FinishedDeserializing() [clone .part.0] () from /home/linev/build/json/lib/libCling.so
#19 0x00007f261bbf330d in clang::MultiplexExternalSemaSource::FinishedDeserializing() () from /home/linev/build/json/lib/libCling.so
#20 0x00007f261d7bf2bc in clang::RecordDecl::field_begin() const () from /home/linev/build/json/lib/libCling.so
#21 0x00007f261d926d30 in clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const () from /home/linev/build/json/lib/libCling.so
#22 0x00007f261d926d81 in clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const () from /home/linev/build/json/lib/libCling.so
#23 0x00007f261d926770 in clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const () from /home/linev/build/json/lib/libCling.so
#24 0x00007f261b2a028a in TClingDataMemberInfo::Offset() () from /home/linev/build/json/lib/libCling.so
#25 0x00007f261f927c4a in TDataMember::GetOffsetCint() const () from /home/linev/build/json/lib/libCore.so

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions