Skip to content

Segmentation fault on indexing #616

@L0ric0

Description

@L0ric0

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    clangclang bugs/enhancement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions