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

Segmentation fault on indexing #616

Closed
L0ric0 opened this issue Apr 21, 2020 · 2 comments
Closed

Segmentation fault on indexing #616

L0ric0 opened this issue Apr 21, 2020 · 2 comments
Labels
clang clang bugs/enhancement

Comments

@L0ric0
Copy link

L0ric0 commented Apr 21, 2020

Observed behavior

when indexing files a Segmentation fault is observed
unfortunatly i am unable to provide the source and don't have the time at the moment to reduce to a minimal program
the error ocures while beeing someware in the https://github.com/boostorg/boost subtree of the project and using around 24.1 GB of total RAM + swap
when restarting the indexing there is progress observed when using the cache.

init args:
{
  "cache": {
    "directory": "/home/lsteinert/.cache/ccls/"
  },
  "highlight": {
    "lsRanges" : true
  }
}
Thread 9 "indexer4" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffeb7fe700 (LWP 21196)]
0x00007ffff4784455 in clang::ScratchBuffer::getToken(char const*, unsigned int, char const*&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
gdb bt
#0  0x00007ffff4784455 in clang::ScratchBuffer::getToken(char const*, unsigned int, char const*&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#1  0x00007ffff477b30c in clang::Preprocessor::CreateString(llvm::StringRef, clang::Token&, clang::SourceLocation, clang::SourceLocation) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#2  0x00007ffff4785584 in clang::TokenLexer::pasteTokens(clang::Token&, llvm::ArrayRef<clang::Token>, unsigned int&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#3  0x00007ffff4787419 in clang::TokenLexer::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#4  0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#5  0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#6  0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#7  0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#8  0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#9  0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#10 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#11 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#12 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#13 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#14 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#15 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#16 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#17 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#18 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#19 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#20 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#21 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#22 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#23 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#24 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#25 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#26 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#27 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#28 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#29 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#30 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#31 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#32 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#33 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#34 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#35 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#36 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#37 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#38 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#39 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#40 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#41 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#42 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#43 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#44 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#45 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#46 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#47 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#48 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#49 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#50 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#51 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#52 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#53 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#54 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#55 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#56 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#57 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#58 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#59 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#60 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#61 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#62 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#63 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#64 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#65 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#66 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#67 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#68 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#69 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#70 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#71 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#72 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#73 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#74 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#75 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#76 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#77 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#78 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#79 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#80 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#81 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#82 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#83 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#84 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#85 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#86 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#87 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#88 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#89 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#90 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#91 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#92 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#93 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#94 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#95 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#96 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#97 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#98 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#99 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#100 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#101 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#102 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#103 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#104 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#105 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#106 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#107 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#108 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#109 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#110 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#111 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#112 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#113 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#114 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#115 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#116 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#117 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#118 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#119 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#120 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#121 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#122 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#123 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#124 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#125 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#126 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#127 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#128 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#129 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#130 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#131 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#132 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#133 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#134 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#135 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#136 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#137 0x00007ffff4783057 in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#138 0x00007ffff4724216 in clang::MacroArgs::getPreExpArgument(unsigned int, clang::Preprocessor&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#139 0x00007ffff478897e in clang::TokenLexer::ExpandFunctionArguments() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#140 0x00007ffff4788e48 in clang::TokenLexer::Init(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#141 0x00007ffff4759b03 in clang::Preprocessor::EnterMacro(clang::Token&, clang::SourceLocation, clang::MacroInfo*, clang::MacroArgs*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#142 0x00007ffff4768c7e in clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&, clang::MacroDefinition const&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#143 0x00007ffff477eb0e in clang::Preprocessor::HandleIdentifier(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#144 0x00007ffff471649a in clang::Lexer::LexIdentifier(clang::Token&, char const*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#145 0x00007ffff47189f6 in clang::Lexer::LexTokenInternal(clang::Token&, bool) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#146 0x00007ffff478303f in clang::Preprocessor::Lex(clang::Token&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#147 0x00007ffff4838cbb in clang::Parser::ExpectAndConsumeSemi(unsigned int) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#148 0x00007ffff4813b7d in clang::Parser::ParseExprStatement(clang::Parser::ParsedStmtContext) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#149 0x00007ffff481492b in clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#150 0x00007ffff4815759 in clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#151 0x00007ffff4819461 in clang::Parser::ParseCompoundStatementBody(bool) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#152 0x00007ffff481c473 in clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#153 0x00007ffff483b352 in clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#154 0x00007ffff47a9d37 in clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::SourceLocation*, clang::Parser::ForRangeInit*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#155 0x00007ffff4836d31 in clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#156 0x00007ffff4837361 in clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) [clone .part.262] () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#157 0x00007ffff483d780 in clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#158 0x00007ffff483e6b9 in clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, bool) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#159 0x00007ffff4789558 in clang::ParseAST(clang::Sema&, bool, bool) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#160 0x00007ffff5e02531 in clang::FrontendAction::Execute() () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#161 0x0000555555589251 in void llvm::function_ref<void ()>::callback_fn<ccls::idx::index(ccls::SemaManager*, ccls::WorkingFiles*, ccls::VFS*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, bool, bool&)::{lambda()#1}>(long) ()
#162 0x00007ffff67263e3 in llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) () from /home/lsteinert/usr/lib/libclang-cpp.so.10
#163 0x00005555555903a7 in ccls::idx::index(ccls::SemaManager*, ccls::WorkingFiles*, ccls::VFS*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, bool, bool&) ()
#164 0x00005555555ac258 in ccls::pipeline::(anonymous namespace)::indexer_Parse(ccls::SemaManager*, ccls::WorkingFiles*, ccls::Project*, ccls::VFS*, ccls::GroupMatch const&) ()
#165 0x00005555555af865 in ccls::pipeline::indexer_Main(ccls::SemaManager*, ccls::VFS*, ccls::Project*, ccls::WorkingFiles*) ()
#166 0x0000555555641eac in ccls::(anonymous namespace)::indexer(void*) ()
#167 0x00007ffff3a94fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#168 0x00007ffff36a24cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Expected behavior

indexing without a Segmentation fault

Steps to reproduce

  • just indexing the project

System information

  • ccls version (git describe --tags --long): 0.20190823.5-20-g24dd3bd4
  • clang version:
clang version 10.0.0 (https://github.com/llvm/llvm-project.git d32170dbd5b0d54436537b6b75beaf44324e0c28)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/lsteinert/usr/bin
  • OS: Linux emil 4.19.0-8-amd64 Thanks for your hard work #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux
  • Editor: none just ccls -index
  • Language client (and version): see editor
@MaskRay MaskRay added the clang clang bugs/enhancement label Apr 21, 2020
@MaskRay
Copy link
Owner

MaskRay commented Apr 21, 2020

This is a clang stack overflow which can't be protected by llvm::CrashRecoveryContext::RunSafely

Please try debugging the issue (https://github.com/MaskRay/ccls/wiki/Debugging) and at least report which file can cause problems.

@MaskRay
Copy link
Owner

MaskRay commented Oct 25, 2020

Assuming this is good with Clang 10 or 11. Closing.

@MaskRay MaskRay closed this as completed Oct 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang clang bugs/enhancement
Projects
None yet
Development

No branches or pull requests

2 participants