Bug 186772 - kopete process still running after quitting
Summary: kopete process still running after quitting
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: Jabber Plugin (show other bugs)
Version: unspecified
Platform: Compiled Sources Unspecified
: NOR normal
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-10 13:18 UTC by Alessandro Guido
Modified: 2009-04-25 10:57 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 Alessandro Guido 2009-03-10 13:18:45 UTC
Version:            (using Devel)
Installed from:    Compiled sources

After having closed kopete using the "Quit" entry in the popup menu of the systray icon (or in File menu of the contact list window) I can still see a kopete process running on my system (however all kopete windows and the systray icon get closed).
This prevents further reopen of kopete and a manual "killall kopete" is needed.
Comment 1 Detlev Casanova 2009-03-10 19:56:09 UTC
Here's a backtrace of where it hangs.
I'm not familiar with threads and DNS, if anybody could look into that, that would be great.

#0  0x00007f56bc14f9b9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f56bc3d045b in QWaitConditionPrivate::wait (this=0x937780, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007f56bc3cffbb in QWaitCondition::wait (this=0xf2aa40, mutex=0xf2aa20, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f56bc3cf0d8 in QThread::wait (this=0x7fffc8402b20, time=18446744073709551615) at thread/qthread_unix.cpp:485
#4  0x00007f56ab8651ce in (anonymous namespace)::JDnsShutdown::waitForShutdown (this=0x7fffc8402b20, _list=@0x7fffc8402b80) at /home/kde4/src/kdenetwork/kopete/protocols/jabber/libiris/iris/irisnet/corelib/jdnsshared.cpp:287
#5  0x00007f56ab86027a in JDnsShared::waitForShutdown (instances=@0x7fffc8402b80) at /home/kde4/src/kdenetwork/kopete/protocols/jabber/libiris/iris/irisnet/corelib/jdnsshared.cpp:794
#6  0x00007f56ab88e591 in ~JDnsGlobal (this=0xf36510) at /home/kde4/src/kdenetwork/kopete/protocols/jabber/libiris/iris/irisnet/corelib/netnames_jdns.cpp:284
#7  0x00007f56ab88e1cb in ~JDnsProvider (this=0xf93c20) at /home/kde4/src/kdenetwork/kopete/protocols/jabber/libiris/iris/irisnet/corelib/netnames_jdns.cpp:2633
#8  0x00007f56ab86854d in ~PluginInstance (this=0xf358e0) at /home/kde4/src/kdenetwork/kopete/protocols/jabber/libiris/iris/irisnet/corelib/irisnetglobal.cpp:97
#9  0x00007f56ab8685c0 in qDeleteAll<QList<XMPP::PluginInstance*>::const_iterator> (begin=@0x7fffc8402c30, end=@0x7fffc8402c20) at /home/kde4/qt-copy/include/QtCore/qalgorithms.h:350
#10 0x00007f56ab868619 in qDeleteAll<QList<XMPP::PluginInstance*> > (c=@0x7fffc8402c60) at /home/kde4/qt-copy/include/QtCore/qalgorithms.h:358
#11 0x00007f56ab868679 in XMPP::PluginManager::unload (this=0x106cd98) at /home/kde4/src/kdenetwork/kopete/protocols/jabber/libiris/iris/irisnet/corelib/irisnetglobal.cpp:229
#12 0x00007f56ab8686b3 in ~PluginManager (this=0x106cd98) at /home/kde4/src/kdenetwork/kopete/protocols/jabber/libiris/iris/irisnet/corelib/irisnetglobal.cpp:146
#13 0x00007f56ab868702 in ~IrisNetGlobal (this=0x106cd90) at /home/kde4/src/kdenetwork/kopete/protocols/jabber/libiris/iris/irisnet/corelib/irisnetglobal.cpp:237
#14 0x00007f56ab867836 in deinit () at /home/kde4/src/kdenetwork/kopete/protocols/jabber/libiris/iris/irisnet/corelib/irisnetglobal.cpp:267
#15 0x00007f56bc4c14fd in qt_call_post_routines () at kernel/qcoreapplication.cpp:163
#16 0x00007f56bb3c62a0 in ~QApplication (this=0x7fffc8402ee0) at kernel/qapplication.cpp:985
#17 0x00007f56bd0fb643 in ~KApplication (this=0x7fffc8402ee0) at /home/kde4/src/kdelibs/kdeui/kernel/kapplication.cpp:928
#18 0x00007f56bd102e12 in ~KUniqueApplication (this=0x7fffc8402ee0) at /home/kde4/src/kdelibs/kdeui/kernel/kuniqueapplication.cpp:372
#19 0x0000000000450651 in ~KopeteApplication (this=0x7fffc8402ee0) at /home/kde4/src/kdenetwork/kopete/kopete/kopeteapplication.cpp:108
#20 0x000000000044f65a in main (argc=1, argv=0x7fffc8403d18) at /home/kde4/src/kdenetwork/kopete/kopete/main.cpp:104
Comment 2 Justin Karneges 2009-03-11 18:57:03 UTC
At first glance, I believe this is a bug in Qt 4.5.  However I'll try to do a more thorough investigation soon.
Comment 3 Detlev Casanova 2009-03-12 12:24:10 UTC
Yes, it's a Qt 4.5 bug, Psi behaves the same way (for me at least)
Comment 4 Detlev Casanova 2009-03-19 23:28:12 UTC
So, as this is caused by regressions in Qt 4.5, the current version of iris in trunk will not work correctly with Qt 4.5, let's hope those regressions in Qt will be solved in a quick 4.5.1 release.
(see Justin's mail archive : http://lists.affinix.com/pipermail/psi-devel-affinix.com/2009-March/008540.html )

So, either stick to Qt 4.4 or kill Kopete manually.

More news when Qt 4.5.1 will be out.

Setting the bug status to New.
Comment 5 Justin Karneges 2009-03-19 23:34:47 UTC
It looks like there's multiple bugs.  I worked with them and got one fixed (thanks to ogoffart).

http://www.qtsoftware.com/developer/task-tracker/index_html?id=248628&method=entry
Comment 6 Matt Rogers 2009-03-29 20:14:24 UTC
I can't reproduce this anymore. 'kopete --version' from the command line gives:
> kopete --version
Qt: 4.5.0
KDE: 4.2.1 (KDE 4.2.1)
Kopete: 0.70.0

Time to close it?
Comment 7 Detlev Casanova 2009-04-24 00:22:36 UTC
Matt, that's weird, the problem should be in Qt 4.5.0. As people seem to have this problem with the svn version, I don't think we should close it.

Alessandro, could you try kopete with the latest qt-copy (which is now Qt 4.5.1) ?
Comment 8 Alessandro Guido 2009-04-24 00:47:10 UTC
(In reply to comment #7)
> Alessandro, could you try kopete with the latest qt-copy (which is now Qt
> 4.5.1) ?

I'm using qt-4.5.1 (original, not qt-copy) and I'm still having the issue.
Comment 9 Justin Karneges 2009-04-24 01:04:06 UTC
There were two bugs involved.  One was fixed in Qt 4.5.1.  The other was due to a behavioral change in Qt 4.5.  Olivier made a compelling argument that in order to fix a nasty threading bug in Qt, this change had to be made.  I decided I'd simply adapt Iris to the new behavior rather than press the issue further.  I fixed this in Iris SVN about a week ago.  Sorry I forgot to mention it here.
Comment 10 Alessandro Guido 2009-04-25 09:45:50 UTC
I don't understand, you say it has been fixed for a week in SVN, but I recompile kde from SVN every night and still kopete doesn't quit completely. So is now kopete supposed to not do it?
Comment 11 Detlev Casanova 2009-04-25 10:28:23 UTC
No, it's been solved in Iris svn, not kopete, I'll add the patch in kopete today.
Comment 12 Detlev Casanova 2009-04-25 10:34:43 UTC
SVN commit 958947 by casanova:

Don't hang when quitting with jabber protocol and Qt >= 4.5.0
BUG:186772


 A             026_fix_qt4.5-hang.patch  
 M  +37 -11    iris/irisnet/corelib/jdnsshared.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=958947
Comment 13 Alessandro Guido 2009-04-25 10:57:08 UTC
Confirm fixed. thanks!