Version: (using KDE Devel) Installed from: Compiled sources OS: Linux gideon crashes when it is closed while parsing files
Backtrace: [New Thread 1024 (LWP 7147)] 0x41548e89 in __wait4 () from /lib/libc.so.6 #0 0x41548e89 in __wait4 () from /lib/libc.so.6 #1 0x415c5270 in __DTOR_END__ () from /lib/libc.so.6 #2 0x413508de in waitpid (pid=10300, stat_loc=0x0, options=0) at wrapsyscall.c:172 #3 0x40ad7d04 in _ZN6KCrash19defaultCrashHandlerEi () at eval.c:41 #4 0x4134e4c7 in pthread_sighandler (signo=11, ctx={gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 49168, edi = 139035480, esi = 20, ebp = 3221221528, esp = 3221221520, ebx = 1103718384, edx = 3221221632, ecx = 1085822112, eax = 7078004, trapno = 14, err = 4, eip = 134767772, cs = 35, __csh = 0, eflags = 66182, esp_at_signal = 3221221520, ss = 43, __ssh = 0, fpstate = 0xbfffee10, oldmask = 2147483648, cr2 = 7078004}) at signals.c:97 #5 <signal handler called> #6 0x808649c in _ZN10KDevPlugin10classStoreEv () at eval.c:41 #7 0x41c25c00 in _ZN14CppSupportPart12parseProjectEv () from /usr/local/kde3/lib/kde3/libkdevcppsupport.so #8 0x41c24ecb in _ZN14CppSupportPart12initialParseEv () from /usr/local/kde3/lib/kde3/libkdevcppsupport.so #9 0x41c27c92 in _ZN14CppSupportPart9qt_invokeEiP8QUObject () from /usr/local/kde3/lib/kde3/libkdevcppsupport.so #10 0x40e028e9 in _ZN7QObject15activate_signalEP15QConnectionListP8QUObject () at eval.c:41 #11 0x410dbed2 in _ZN7QSignal6signalERK8QVariant () at eval.c:41 #12 0x40e1bfb8 in _ZN7QSignal8activateEv () at eval.c:41 #13 0x40e22cc3 in _ZN16QSingleShotTimer5eventEP6QEvent () at eval.c:41 #14 0x40daef34 in _ZN12QApplication14internalNotifyEP7QObjectP6QEvent () at eval.c:41 #15 0x40dae76c in _ZN12QApplication6notifyEP7QObjectP6QEvent () at eval.c:41 #16 0x40a5731f in _ZN12KApplication6notifyEP7QObjectP6QEvent () at eval.c:41 #17 0x40d8d203 in _ZN10QEventLoop14activateTimersEv () at eval.c:41 #18 0x40d6b397 in _ZN10QEventLoop13processEventsEj () at eval.c:41 #19 0x40dc18b0 in _ZN10QEventLoop9enterLoopEv () at eval.c:41 #20 0x40dc17bc in _ZN10QEventLoop4execEv () at eval.c:41 #21 0x40daf181 in _ZN12QApplication4execEv () at eval.c:41 #22 0x80638e8 in main () at eval.c:41 #23 0x414b1306 in __libc_start_main (main=0x8063350 <main>, argc=7, ubp_av=0xbffff904, init=0x805f584 <_init>, fini=0x808b54c <_fini>, rtld_fini=0x4000d2fc <_dl_fini>, stack_end=0xbffff8fc) at ../sysdeps/generic/libc-start.c:129
Here is another backtrace: #0 0x41b2681c in CClassParser::parseToplevel() (this=0x84a3168) at classparser.h:120 120 void getNextLexem() { lexem = lexer->yylex(); } gdb-t2>bt #0 0x41b2681c in CClassParser::parseToplevel() (this=0x84a3168) at classparser.h:120 #1 0x41b268d6 in CClassParser::parseFile(std::basic_ifstream<char, std::char_traits<char> >&) (this=0x84a3168, file=@0xbfffeae0) at classparser.cpp:2452 #2 0x41b26b04 in CClassParser::parse(QString const&) (this=0x84a3168, file=@0xbfffecf0) at classparser.cpp:2483 #3 0x41b1a59e in CppSupportPart::maybeParse(QString, ClassStore*, CClassParser*) (this=0x848c148, fileName=Cannot access memory at address 0x0 ) at cppsupportpart.cpp:972 #4 0x41b19eae in CppSupportPart::parseProject() (this=0x848c148) at /usr/lib/qt3/include/qvaluelist.h:110 #5 0x41b190de in CppSupportPart::initialParse() (this=0x848c148) at cppsupportpart.cpp:851 #6 0x41b1bee6 in CppSupportPart::qt_invoke(int, QUObject*) (this=0x848c148, _id=20, _o=0xbfffeeb0) at cppsupportpart.moc:167 #7 0x40dc60fb in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt3/lib/libqt-mt.so.3 #8 0x410eadad in QSignal::signal(QVariant const&) () from /usr/lib/qt3/lib/libqt-mt.so.3 #9 0x40de25b8 in QSignal::activate() () from /usr/lib/qt3/lib/libqt-mt.so.3 #10 0x40dea073 in QSingleShotTimer::event(QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3 #11 0x40d68c19 in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3 #12 0x40d684c1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/qt3/lib/libqt-mt.so.3 #13 0x40a216b6 in KApplication::notify(QObject*, QEvent*) (this=0x885e0f0, receiver=0x818f950, event=0xbffff1c0) at kapplication.cpp:421 #14 0x40d01dd2 in qt_activate_timers() () from /usr/lib/qt3/lib/libqt-mt.so.3 #15 0x40cff65e in QApplication::processNextEvent(bool) () from /usr/lib/qt3/lib/libqt-mt.so.3 #16 0x40d6a270 in QApplication::enter_loop() () from /usr/lib/qt3/lib/libqt-mt.so.3 #17 0x40cff32d in QApplication::exec() () from /usr/lib/qt3/lib/libqt-mt.so.3 #18 0x08062713 in main (argc=1, argv=0xbffff4d4) at main.cpp:78 #19 0x414a4082 in __libc_start_main () from /lib/i686/libc.so.6
*** Bug 52909 has been marked as a duplicate of this bug. ***
*** Bug 49928 has been marked as a duplicate of this bug. ***
Another backtrace for the same bug. (none of the others include ProblemReporter's destructor) Also, the procces is still running on my machine. If a developer wants more information from gdb, please contact me in the nest two or three days. Unfortunately gideon was not built with debuging symbols. (gdb) bt #0 0x4150ec69 in sigsuspend () from /lib/libc.so.6 #1 0x41385799 in __pthread_wait_for_restart_signal () from /lib/libpthread.so.0 #2 0x4138212b in pthread_cond_wait () from /lib/libpthread.so.0 #3 0x41095f19 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/qt/3/lib/libqt-mt.so.3 #4 0x40ddfb96 in QThread::wait(unsigned long) () from /usr/qt/3/lib/libqt-mt.so.3 #5 0x41bb04e6 in ProblemReporter::~ProblemReporter() () from /usr/lib/kde3/libkdevcppsupport.so #6 0x41b77b81 in CppSupportPart::~CppSupportPart() () from /usr/lib/kde3/libkdevcppsupport.so #7 0x08074eb5 in QValueListPrivate<KSharedPtr<KService> >::QValueListPrivate(QValueListPrivate<KSharedPtr<KService> > const&) () #8 0x0806e70a in QPtrList<QextMdiChildView>::deleteItem(void*) () #9 0x0806eb7c in QPtrList<QextMdiChildView>::deleteItem(void*) () #10 0x40e47659 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/qt/3/lib/libqt-mt.so.3 #11 0x41127542 in QSignal::signal(QVariant const&) () from /usr/qt/3/lib/libqt-mt.so.3 #12 0x40e617f8 in QSignal::activate() () from /usr/qt/3/lib/libqt-mt.so.3 #13 0x40e68793 in QSingleShotTimer::event(QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3 #14 0x40de9846 in QApplication::internalNotify(QObject*, QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3 #15 0x40de8e06 in QApplication::notify(QObject*, QEvent*) () from /usr/qt/3/lib/libqt-mt.so.3 #16 0x40a43459 in KApplication::notify(QObject*, QEvent*) () from /usr/kde/3.1/lib/libkdecore.so.4 #17 0x40dc4fe3 in QEventLoop::activateTimers() () from /usr/qt/3/lib/libqt-mt.so.3 #18 0x40da2a68 in QEventLoop::processEvents(unsigned) () from /usr/qt/3/lib/libqt-mt.so.3 #19 0x40dfd496 in QEventLoop::enterLoop() () from /usr/qt/3/lib/libqt-mt.so.3 #20 0x40dfd338 in QEventLoop::exec() () from /usr/qt/3/lib/libqt-mt.so.3 #21 0x40de9a91 in QApplication::exec() () from /usr/qt/3/lib/libqt-mt.so.3 #22 0x08066b32 in QGListIterator::~QGListIterator() () #23 0x414fae34 in __libc_start_main () from /lib/libc.so.6 (gdb)
(Continuation of comment #5)It might be a multithreading problem; these are the backtraces for the other two threads. (gdb) info threads 3 Thread 1277954 (LWP 5963) 0x41bcd039 in Parser::parseFunctionBody(std::auto_ptr<AST>&) () from /usr/lib/kde3/libkdevcppsupport.so 2 Thread 32769 (LWP 25016) 0x415b5fcb in poll () from /lib/libc.so.6 1 Thread 16384 (LWP 16096) 0x4150ec69 in sigsuspend () from /lib/libc.so.6 (gdb) thread 2 [Switching to thread 2 (Thread 32769 (LWP 25016))]#0 0x415b5fcb in poll () from /lib/libc.so.6 (gdb) bt #0 0x415b5fcb in poll () from /lib/libc.so.6 #1 0x41382d90 in __pthread_manager () from /lib/libpthread.so.0 (gdb) thread 3 [Switching to thread 3 (Thread 1277954 (LWP 5963))]#0 0x41bcd039 in Parser::parseFunctionBody(std::auto_ptr<AST>&) () from /usr/lib/kde3/libkdevcppsupport.so (gdb) bt #0 0x41bcd039 in Parser::parseFunctionBody(std::auto_ptr<AST>&) () from /usr/lib/kde3/libkdevcppsupport.so #1 0x41bcc61c in Parser::parseDeclaration(std::auto_ptr<DeclarationAST>&) () from /usr/lib/kde3/libkdevcppsupport.so #2 0x41bb87ee in Parser::parseDefinition(std::auto_ptr<DeclarationAST>&) () from /usr/lib/kde3/libkdevcppsupport.so #3 0x41bb81b7 in Parser::parseTranslationUnit(std::auto_ptr<TranslationUnitAST>&) () from /usr/lib/kde3/libkdevcppsupport.so #4 0x41bd3db8 in FileRepositoryData::parse(Unit*, bool) () from /usr/lib/kde3/libkdevcppsupport.so #5 0x41bd2717 in FileRepository::problems(QString const&, bool) () from /usr/lib/kde3/libkdevcppsupport.so #6 0x41bd1ee1 in BackgroundParser::run() () from /usr/lib/kde3/libkdevcppsupport.so #7 0x40ddef98 in start_thread () from /usr/qt/3/lib/libqt-mt.so.3 #8 0x41383180 in pthread_start_thread () from /lib/libpthread.so.0 (gdb)
This seems to be fixed with the new cpp parsing code (in cvs).
Moving all the bugs from the CPP Parser. It was not well defined the difference between it and C++ Language Support and people kept reporting in both places indistinctively