michael-jabbour-sonarsource wrote:

Hello,

We have encountered crashes after this patch, with stack traces that look like 
this:

```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and 
include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
  ...
 #0 0x0000740f12c266f8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
 #1 0x0000740f12c23de5 llvm::sys::RunSignalHandlers()
 #2 0x0000740f12c274b1 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x0000740f12242520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x0000740f10a04134 
clang::Redeclarable<clang::TagDecl>::DeclLink::getPrevious(clang::TagDecl 
const*) const APValue.cpp:0:0
 #5 0x0000740f10a99531 clang::CXXRecordDecl::getMostRecentNonInjectedDecl() 
ASTDumper.cpp:0:0
 #6 0x0000740f10d71be7 
clang::RecursiveASTVisitor<clang::ParentMapContext::ParentMap::ASTVisitor>::TraverseTemplateInstantiations(clang::ClassTemplateDecl*)
 #7 0x0000740f10d4cb37 
clang::RecursiveASTVisitor<clang::ParentMapContext::ParentMap::ASTVisitor>::TraverseClassTemplateDecl(clang::ClassTemplateDecl*)
 #8 0x0000740f10d46926 
clang::RecursiveASTVisitor<clang::ParentMapContext::ParentMap::ASTVisitor>::TraverseDecl(clang::Decl*)
 #9 0x0000740f10d6ac21 
clang::RecursiveASTVisitor<clang::ParentMapContext::ParentMap::ASTVisitor>::TraverseDeclContextHelper(clang::DeclContext*)
#10 0x0000740f10d4d0c4 
clang::RecursiveASTVisitor<clang::ParentMapContext::ParentMap::ASTVisitor>::TraverseNamespaceDecl(clang::NamespaceDecl*)
#11 0x0000740f10d46b9c 
clang::RecursiveASTVisitor<clang::ParentMapContext::ParentMap::ASTVisitor>::TraverseDecl(clang::Decl*)
#12 0x0000740f10d6ac21 
clang::RecursiveASTVisitor<clang::ParentMapContext::ParentMap::ASTVisitor>::TraverseDeclContextHelper(clang::DeclContext*)
#13 0x0000740f10d46f87 
clang::RecursiveASTVisitor<clang::ParentMapContext::ParentMap::ASTVisitor>::TraverseTranslationUnitDecl(clang::TranslationUnitDecl*)
#14 0x0000740f10d468a0 
clang::RecursiveASTVisitor<clang::ParentMapContext::ParentMap::ASTVisitor>::TraverseDecl(clang::Decl*)
#15 0x0000740f10d45d38 
clang::ParentMapContext::ParentMap::ASTVisitor::TraverseDecl(clang::Decl*) 
ParentMapContext.cpp:0:0
#16 0x0000740f10d42801 
clang::ParentMapContext::ParentMap::ParentMap(clang::ASTContext&)
#17 0x0000740f10d42876 clang::ParentMapContext::getParents(clang::DynTypedNode 
const&)
#18 0x0000740f1750739b (anonymous 
namespace)::ScalarExprEmitter::EmitScalarPrePostIncDec(clang::UnaryOperator 
const*, clang::CodeGen::LValue, bool, bool) CGExprScalar.cpp:0:0
#19 0x0000740f175132be (anonymous 
namespace)::ScalarExprEmitter::VisitUnaryPostDec(clang::UnaryOperator const*) 
CGExprScalar.cpp:0:0
#20 0x0000740f175051eb (anonymous 
namespace)::ScalarExprEmitter::Visit(clang::Expr*) CGExprScalar.cpp:0:0
#21 0x0000740f17521bdd (anonymous 
namespace)::ScalarExprEmitter::VisitCastExpr(clang::CastExpr*) 
CGExprScalar.cpp:0:0
#22 0x0000740f175050dd 
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool)
#23 0x0000740f1748fe28 
clang::CodeGen::CodeGenFunction::EvaluateExprAsBool(clang::Expr const*)
#24 0x0000740f176722d3 
clang::CodeGen::CodeGenFunction::EmitWhileStmt(clang::WhileStmt const&, 
llvm::ArrayRef<clang::Attr const*>)
#25 0x0000740f17670edf clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt 
const*, llvm::ArrayRef<clang::Attr const*>)
#26 0x0000740f1767ed60 
clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt
 const&, bool, clang::CodeGen::AggValueSlot)
#27 0x0000740f176f765e 
clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, 
llvm::Function*, clang::CodeGen::CGFunctionInfo const&) 
#28 0x0000740f17721d6e 
clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, 
llvm::GlobalValue*)
#29 0x0000740f1771950e 
clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, 
llvm::GlobalValue*) 
#30 0x0000740f1771e832 
clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) 
#31 0x0000740f17718011 
clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) 
#32 0x0000740f177eb7bc (anonymous 
namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) 
ModuleBuilder.cpp:0:0
#33 0x0000740f176e2726 
clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) 
#34 0x0000740f11af6f8a clang::ParseAST(clang::Sema&, bool, bool) 
#35 0x0000740f155ee356 clang::FrontendAction::Execute() 
#36 0x0000740f1555060d 
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) 
#37 0x0000740f18a75ae7 
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) 
#38 0x000063e90df5329f cc1_main(llvm::ArrayRef<char const*>, char const*, 
void*) 
#39 0x000063e90df4f62d ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, 
llvm::ToolContext const&) driver.cpp:0:0
#40 0x000063e90df4e669 clang_main(int, char**, llvm::ToolContext const&) 
#41 0x000063e90df601a7 main 
#42 0x0000740f12229d90 __libc_start_call_main 
./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#43 0x0000740f12229e40 call_init ./csu/../csu/libc-start.c:128:20
#44 0x0000740f12229e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#45 0x000063e90df4d0c5 _start 
```
I have created a fix and a test case in #150430. Any feedback is appreciated.

https://github.com/llvm/llvm-project/pull/119333
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to