Bug 49678 - gideon crashes when it is closed while parsing files
Summary: gideon crashes when it is closed while parsing files
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: Language Support: CPP (old) (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: KDevelop Developers
URL:
Keywords:
: 49928 52909 (view as bug list)
Depends on:
Blocks:
 
Reported: 2002-10-25 16:02 UTC by Frederic Heem
Modified: 2013-03-31 00:44 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Frederic Heem 2002-10-25 16:02:28 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
OS:          Linux

gideon crashes when it is closed while parsing files
Comment 1 Caleb Tennis 2002-10-28 21:59:04 UTC
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 
 
Comment 2 Frederic Heem 2002-10-30 17:24:29 UTC
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 
 
Comment 3 Caleb Tennis 2003-01-13 04:14:01 UTC
*** Bug 52909 has been marked as a duplicate of this bug. ***
Comment 4 Caleb Tennis 2003-01-13 04:14:22 UTC
*** Bug 49928 has been marked as a duplicate of this bug. ***
Comment 5 Jeffrey McGee 2003-01-29 23:47:27 UTC
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)
Comment 6 Jeffrey McGee 2003-02-01 03:24:56 UTC
(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)
Comment 7 Caleb Tennis 2003-02-27 22:22:25 UTC
This seems to be fixed with the new cpp parsing code (in cvs). 
Comment 8 Aleix Pol 2013-03-31 00:44:15 UTC
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