| Summary: | KDevelop crashed with virtual clang::Parser::~Parser(): Assertion `TemplateIds.empty() && "Still alive TemplateIdAnnotations around?"' failed | ||
|---|---|---|---|
| Product: | [Applications] kdevelop | Reporter: | Petros <petross404> |
| Component: | Code completion | Assignee: | kdevelop-bugs-null |
| Status: | CLOSED UPSTREAM | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | git master | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
kcrash [1]
output of console [2] |
||
|
Description
Petros
2017-04-04 16:51:50 UTC
Created attachment 104876 [details]
output of console [2]
Pasting relevant stack trace inline so it doesn't get lost: Thread 11 (Thread 0x7f4a2d109700 (LWP 8487)): [KCrash Handler] #6 0x00007f4a7d5ac6ce in raise () from /lib64/libc.so.6 #7 0x00007f4a7d5adbdd in abort () from /lib64/libc.so.6 #8 0x00007f4a7d5a5377 in ?? () from /lib64/libc.so.6 #9 0x00007f4a7d5a5422 in __assert_fail () from /lib64/libc.so.6 #10 0x00007f4a2fabcea0 in clang::Parser::~Parser() () from /usr/lib64/llvm/4/lib64/../lib64/../lib64/libclangParse.so.4 #11 0x00007f4a2fabcea9 in clang::Parser::~Parser() () from /usr/lib64/llvm/4/lib64/../lib64/../lib64/libclangParse.so.4 #12 0x00007f4a698979d1 in llvm::CrashRecoveryContext::~CrashRecoveryContext() () from /usr/lib/llvm/4/lib64/libLLVMSupport.so.4 #13 0x00007f4a4d78760d in clang_reparseTranslationUnit () from /usr/lib64/llvm/4/lib64/libclang.so.4 #14 0x00007f4a4f13eb81 in ParseSession::reparse(QVector<UnsavedFile> const&, ClangParsingEnvironment const&) () from /usr/lib64/libKDevClangPrivate.so.27 #15 0x00007f4a5d4289c4 in ?? () from /usr/lib64/qt5/plugins/kdevplatform/27/kdevclangsupport.so #16 0x00007f4a7948cf8f in ThreadWeaver::IdDecorator::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () from /usr/lib64/libKF5ThreadWeaver.so.5 #17 0x00007f4a7948d5d6 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () from /usr/lib64/libKF5ThreadWeaver.so.5 #18 0x00007f4a7948bf80 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () from /usr/lib64/libKF5ThreadWeaver.so.5 #19 0x00007f4a7948ba0e in ThreadWeaver::Thread::run() () from /usr/lib64/libKF5ThreadWeaver.so.5 #20 0x00007f4a7dc5dcdb in ?? () from /usr/lib64/libQt5Core.so.5 #21 0x00007f4a7b0d9286 in start_thread () from /lib64/libpthread.so.0 #22 0x00007f4a7d66347f in clone () from /lib64/libc.so.6 @Petros: FYI: We don't recommend using a Clang/LLVM build which has assertions enabled. KDevelop crashed once again when I enabled the Background Parser and removed the comment (//) from infront of text line. It seems clang parser has a certain problem with uncommented text. (In reply to Kevin Funk from comment #3) > @Petros: FYI: We don't recommend using a Clang/LLVM build which has > assertions enabled. Not sure what you mean. I build Kdevelop with GCC 6.3 and not Clang if that is what you are asking for. Please provide an exact way to reproduce this: e.g. file contents before/after. Reduce the test case as much as possible. (In reply to Kevin Funk from comment #6) > Please provide an exact way to reproduce this: e.g. file contents > before/after. > > Reduce the test case as much as possible. Before... // Each new term in the Fibonacci sequence is generated by adding the previous two terms. //By starting with 1 and 2, the first 10 terms will be: //1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... //By considering the terms in the Fibonacci sequence whose values do not exceed four million, //find the sum of the even-valued terms #include "headers/eul_2_facilities.h" int main ( int argc, char** argv ) { vector<int> v{0, 1}; return ( 0 ); } After that, just remove *any* comment, with Background Parser enabled. I copied and pasted the text from a website, but when I tried to actually write text (without comments) in another source file (and project) I also got a crash. So it's not that I pasted some incompatible character or newline... Parser just doesn't like normal text. I took one screenshot of a DDD backtrace of kdevelop. I can't save it to a text unfortunatelly. http://imgur.com/a/3RZVC LLVM/Clang-4.0.0-r1 solved for me this issue. KDevelop no longer crashes if I remove the comment (//) infront of text. |