Summary: | [testcase] The kontact process remains after quitting | ||
---|---|---|---|
Product: | [Applications] kontact | Reporter: | Christophe Marin <christophe> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | mcguire |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Christophe Marin
2008-07-12 13:52:39 UTC
so far I am unable to reproduce this on my Fedora 9 system with trunk. after many attempts, here's the bt if I attach gdb to the remaining process : 0xb7fdc430 in __kernel_vsyscall () (gdb) bt #0 0xb7fdc430 in __kernel_vsyscall () #1 0xb55f4b27 in poll () from /lib/i686/cmov/libc.so.6 #2 0xb53b97a2 in g_main_context_iterate (context=0x8bf1260, block=1, dispatch=1, self=0x8bee058) at /tmp/buildd/glib2.0-2.16.4/glib/gmain.c:2954 #3 0xb53b9ad1 in IA__g_main_context_iteration (context=0x8bf1260, may_block=1) at /tmp/buildd/glib2.0-2.16.4/glib/gmain.c:2708 #4 0xb6b7aed6 in QEventDispatcherGlib::processEvents (this=0x8bea2b8, flags={i = -1073776824}) at kernel/qeventdispatcher_glib.cpp:325 #5 0xb5a57118 in QGuiEventDispatcherGlib::processEvents (this=0x8bea2b8, flags={i = -1073776776}) at kernel/qguieventdispatcher_glib.cpp:204 #6 0xb6b4a2ac in QEventLoop::processEvents (this=0xbfff77f0, flags={i = -1073776716}) at kernel/qeventloop.cpp:149 #7 0xb6b4a4e9 in QEventLoop::exec (this=0xbfff77f0, flags={i = -1073776648}) at kernel/qeventloop.cpp:196 #8 0xb6b4da87 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845 #9 0xb59b2fa2 in QApplication::exec () at kernel/qapplication.cpp:3304 #10 0x0804b72d in main (argc=1, argv=0xbfff7a14) at /media/kde/src/KDE/kdepim/kontact/src/main.cpp:218 If I kill kontact at this point I get this btw : *** KMail got signal 15 (Exiting) kontact: /media/kde/src/KDE/kdepim/kmail/kmkernel.cpp:2096: static KMKernel* KMKernel::self(): assert « mySelf » failed. *** KMail got signal 6 (Crashing) kontact: /media/kde/src/KDE/kdepim/kmail/kmkernel.cpp:2096: static KMKernel* KMKernel::self(): assert « mySelf » failed. Reverting Thomas' commit (830027) seems to solve my problem. I don't see the ghost process anymore after that. After some more testing, reverting kdepim/kontact/src/main.cpp to 830026 is enough. SVN commit 831845 by tmcguire: Also quit the event loop when a part still holds a reference to a KGlobal object, probably by a KJob which wasn't properly deleted. This fixes that the Kontact process was still running (without a window) after viewing an article in Akregator. The real fix would be to fix Akregator, it should take care of properly cleaning up each KJob. @David: maybe KJob::allowQuitWhileJobsAreRunning(bool) wasn't such a bad idea after all? CCBUG: 163479 BUG: 166367 M +6 -0 mainwindow.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=831845 SVN commit 831851 by tmcguire: Backport r831845 by tmcguire to the 4.1 branch: Also quit the event loop when a part still holds a reference to a KGlobal object, probably by a KJob which wasn't properly deleted. This fixes that the Kontact process was still running (without a window) after viewing an article in Akregator. The real fix would be to fix Akregator, it should take care of properly cleaning up each KJob. @David: maybe KJob::allowQuitWhileJobsAreRunning(bool) wasn't such a bad idea after all? CCCCBUG: 163479 CCBUG: 166367 M +6 -0 mainwindow.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=831851 |