Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clangd 18 index large project, happend crash #1888

Open
jh244212647 opened this issue Jan 2, 2024 · 1 comment
Open

clangd 18 index large project, happend crash #1888

jh244212647 opened this issue Jan 2, 2024 · 1 comment

Comments

@jh244212647
Copy link

i use
I[23:12:53.625] clangd version 18.0.0git (https://github.com/llvm/llvm-project d8ddcae547e782a4765783c62747381624f076d4)
I[23:12:53.625] Features: linux+grpc

meet same issue. backtrace is follow
#0 0x00000000004f603b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /__w/clangd/clangd/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:13
#1 0x00000000004f3e7e llvm::sys::RunSignalHandlers() /__w/clangd/clangd/llvm-project/llvm/lib/Support/Signals.cpp:106:18
#2 0x00000000004f69c6 SignalHandler(int) /__w/clangd/clangd/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
#3 0x00007feee7c7d730 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12730)
#4 0x000000000053baa8 clang::ASTContext::getTypeInfoImpl(clang::Type const*) const /__w/clangd/clangd/clangd_snapshot_20231224/tools/clang/include/clang/AST/TypeNodes.inc:0:0
#5 0x000000000053c920 clang::ASTContext::getTypeInfo(clang::Type const*) const /__w/clangd/clangd/llvm-project/clang/lib/AST/ASTContext.cpp:1859:17
#6 0x000000000053ccb3 clang::ASTContext::getTypeAlignInChars(clang::QualType) const /__w/clangd/clangd/llvm-project/clang/lib/AST/ASTContext.cpp:2425:30
#7 0x0000000000d78d4f operator< /__w/clangd/clangd/llvm-project/clang/include/clang/AST/CharUnits.h:107:25
#8 0x0000000000d78d4f clang::Sema::CheckArgAlignment(clang::SourceLocation, clang::NamedDecl*, llvm::StringRef, clang::QualType, clang::QualType) /__w/clangd/clangd/llvm-project/clang/lib/Sema/SemaChecking.cpp:7399:16
#9 0x0000000000d79ff8 clang::Sema::checkCall(clang::NamedDecl*, clang::FunctionProtoType const*, clang::Expr const*, llvm::ArrayRef<clang::Expr const*>, bool, clang::SourceLocation, clang::SourceRange, clang::Sema::VariadicCallType) /__w/clangd/clangd/llvm-project/clang/lib/Sema/SemaChecking.cpp:7484:9
#10 0x0000000000d7b27b clang::Sema::CheckFunctionCall(clang::FunctionDecl*, clang::CallExpr*, clang::FunctionProtoType const*) /__w/clangd/clangd/llvm-project/clang/lib/Sema/SemaChecking.cpp:7603:3
#11 0x0000000000f6e537 clang::Sema::BuildResolvedCallExpr(clang::Expr*, clang::NamedDecl*, clang::SourceLocation, llvm::ArrayRefclang::Expr*, clang::SourceLocation, clang::Expr*, bool, clang::CallExpr::ADLCallKind) /__w/clangd/clangd/llvm-project/clang/lib/Sema/SemaExpr.cpp:7745:9
#12 0x0000000000afb658 FinishOverloadedCallExpr(clang::Sema&, clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRefclang::Expr*, clang::SourceLocation, clang::Expr*, clang::OverloadCandidateSet*, clang::OverloadCandidate**, clang::OverloadingResult, bool) /__w/clangd/clangd/llvm-project/clang/lib/Sema/SemaOverload.cpp:0:0
#13 0x0000000000afacb6 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRefclang::Expr*, clang::SourceLocation, clang::Expr*, bool, bool) /__w/clangd/clangd/llvm-project/clang/lib/Sema/SemaOverload.cpp:13998:10
#14 0x0000000000f523f2 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRefclang::Expr*, clang::SourceLocation, clang::Expr*, bool, bool) /__w/clangd/clangd/llvm-project/clang/lib/Sema/SemaExpr.cpp:7266:16
#15 0x0000000000f6cd8a clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRefclang::Expr*, clang::SourceLocation, clang::Expr*) /__w/clangd/clangd/llvm-project/clang/lib/Sema/SemaExpr.cpp:7157:7
#16 0x00000000022ca421 clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:2152:23
#17 0x00000000022ccec1 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:1879:9
#18 0x00000000022d0af5 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:0:0
#19 0x00000000022c9081 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:693:20
#20 0x00000000022c786c clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseExpr.cpp:179:10
#21 0x0000000002296d01 ParseInitializer /__w/clangd/clangd/llvm-project/clang/include/clang/Parse/Parser.h:0:0
#22 0x0000000002296d01 clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseDecl.cpp:2604:25
#23 0x000000000229478e clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseDecl.cpp:2337:21
#24 0x00000000022937ce clang::Parser::ParseSimpleDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, bool, clang::Parser::ForRangeInit*, clang::SourceLocation*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseDecl.cpp:2030:10
#25 0x0000000002293332 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseDecl.cpp:0:0
#26 0x000000000233111d clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:247:16
#27 0x0000000002330824 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:118:20
#28 0x00000000023399d1 clang::Parser::ParseCompoundStatementBody(bool) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:1236:11
#29 0x00000000023313a4 ParseCompoundStatement /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:1030:10
#30 0x00000000023313a4 ParseCompoundStatement /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:995:10
#31 0x00000000023313a4 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:293:12
#32 0x0000000002330824 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:118:20
#33 0x0000000002334e50 ParseStatement /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:46:33
#34 0x0000000002334e50 clang::Parser::ParseWhileStatement(clang::SourceLocation*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:1852:19
#35 0x000000000233158a clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:305:12
#36 0x0000000002330824 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:118:20
#37 0x00000000023399d1 clang::Parser::ParseCompoundStatementBody(bool) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:1236:11
#38 0x00000000023313a4 ParseCompoundStatement /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:1030:10
#39 0x00000000023313a4 ParseCompoundStatement /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:995:10
#40 0x00000000023313a4 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:293:12
#41 0x0000000002330824 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) /__w/clangd/clangd/llvm-project/clang/lib/Parse/ParseStmt.cpp:118:20

@HighCommander4
Copy link

#1871 was about a crash in the same function (ASTContext::getTypeInfoImpl), but interestingly that one was reported as affecting clangd 16 but being fixed on trunk.

It could be a different issue causing a crash in the same function.

A code example that reproduces the crash would be very helpful to investigate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants