KMess hangs using all CPU it can get when a chat window is opened or something like that. I believe the following code in kmess/network/msnnotificationconnection.cpp is responsible for the bug at hand: void MsnNotificationConnection::requestChat(QString handle) { QPtrListIterator<ChatInformation> it(openChats_); while( it.current() != 0 ) { if( it.current()->getContactHandle() == handle ) { #ifdef KMESSDEBUG_NOTIFICATION kdDebug() << "MsnNotificationConnection::requestChat: Already have a chatconversation with '" << handle << "' pending." << endl; #endif return; } } The iterator "it" is not being incremented!!! Here is the backtrace using GDB to attach to the hanged process: #0 0x00002b9d1368616d in QString::length (this=0xffe25a0) at ../include/qstring.h:880 #1 0x00002b9d13aea06d in operator== (s1=@0xffe25a0, s2=@0x7fff9a3f1330) at tools/qstring.cpp:6459 #2 0x00000000004ccfc8 in MsnNotificationConnection::requestChat () #3 0x00000000004d645b in MsnNotificationConnection::qt_invoke () #4 0x00002b9d137719bc in QObject::activate_signal (this=0x892fe0, clist=0x893430, o=0x7fff9a3f1510) at kernel/qobject.cpp:2356 #5 0x00002b9d1377209c in QObject::activate_signal (this=0x892fe0, signal=3, param=@0x7fff9a3f1560) at kernel/qobject.cpp:2451 #6 0x000000000045cfd7 in ChatMaster::requestChat () #7 0x000000000045d1e6 in ChatMaster::slotDeliverMimeMessage () #8 0x000000000045f0b9 in ChatMaster::qt_invoke () #9 0x00002b9d137719bc in QObject::activate_signal (this=0xa297c20, clist=0xa14f660, o=0x7fff9a3f1730) at kernel/qobject.cpp:2356 #10 0x00000000004a925e in ApplicationList::putMsg () #11 0x00000000004aacb6 in ApplicationList::sendMessage () #12 0x00000000004b01d0 in P2PApplication::sendP2PMessage () #13 0x00000000004b0fbf in P2PApplication::sendSlpMessage () #14 0x00000000004b1f36 in P2PApplication::sendSlpInvitation () #15 0x00000000004b21f3 in P2PApplication::sendSlpSessionInvitation () #16 0x00000000004a34a7 in PictureTransferP2P::userStarted1_UserInvitesContact () #17 0x00000000004a01fd in Application::start () #18 0x000000000045db37 in ChatMaster::startMsnObjectDownload () #19 0x000000000045e02c in ChatMaster::slotContactJoinedChat () #20 0x000000000045f013 in ChatMaster::qt_invoke () #21 0x00002b9d13771ae5 in QObject::activate_signal (this=0x101405a0, clist=0x10140fc0, o=0x7fff9a3f20b0) at kernel/qobject.cpp:2380 #22 0x00000000004db0cf in MsnSwitchboardConnection::contactJoinedChat () #23 0x00000000004df174 in MsnSwitchboardConnection::contactJoined () #24 0x00000000004df409 in MsnSwitchboardConnection::gotIro () #25 0x00000000004df5ab in MsnSwitchboardConnection::parseCommand () #26 0x00000000004c9d73 in MsnConnection::dataReceived () #27 0x00000000004ca88e in MsnConnection::qt_invoke () #28 0x00000000004e0928 in MsnSwitchboardConnection::qt_invoke () #29 0x00002b9d137719bc in QObject::activate_signal (this=0x101408b0, clist=0x10140c80, o=0x7fff9a3f2990) at kernel/qobject.cpp:2356 #30 0x00002b9d137728f3 in QObject::activate_signal (this=0x101408b0, signal=2) at kernel/qobject.cpp:2325 #31 0x00002b9d127410ad in KExtendedSocket::socketActivityRead () from /usr/kde/3.5/lib64/libkdecore.so.4 #32 0x00002b9d127413ab in KExtendedSocket::qt_invoke () from /usr/kde/3.5/lib64/libkdecore.so.4 #33 0x00002b9d137719bc in QObject::activate_signal (this=0x10166640, clist=0x10166480, o=0x7fff9a3f2f70) at kernel/qobject.cpp:2356 #34 0x00002b9d1377267a in QObject::activate_signal (this=0x10166640, signal=2, param=17) at kernel/qobject.cpp:2449 #35 0x00002b9d13b63a34 in QSocketNotifier::activated (this=0x10166640, t0=17) at .moc/debug-shared-mt/moc_qsocketnotifier.cpp:85 #36 0x00002b9d137988cc in QSocketNotifier::event (this=0x10166640, e=0x7fff9a3f3480) at kernel/qsocketnotifier.cpp:258 #37 0x00002b9d136feb5a in QApplication::internalNotify (this=0x7fff9a3f3850, receiver=0x10166640, e=0x7fff9a3f3480) at kernel/qapplication.cpp:2635 #38 0x00002b9d13700aa9 in QApplication::notify (this=0x7fff9a3f3850, receiver=0x10166640, e=0x7fff9a3f3480) at kernel/qapplication.cpp:2358 #39 0x00002b9d1267de6e in KApplication::notify () from /usr/kde/3.5/lib64/libkdecore.so.4 #40 0x00002b9d13687144 in QApplication::sendEvent (receiver=0x10166640, event=0x7fff9a3f3480) at ../include/qapplication.h:496 #41 0x00002b9d136ef992 in QEventLoop::activateSocketNotifiers (this=0x6a0c80) at kernel/qeventloop_unix.cpp:578 #42 0x00002b9d1369d4d4 in QEventLoop::processEvents (this=0x6a0c80, flags=4) at kernel/qeventloop_x11.cpp:383 #43 0x00002b9d1371c6aa in QEventLoop::enterLoop (this=0x6a0c80) at kernel/qeventloop.cpp:198 #44 0x00002b9d1371c4b3 in QEventLoop::exec (this=0x6a0c80) at kernel/qeventloop.cpp:145 #45 0x00002b9d137007ae in QApplication::exec (this=0x7fff9a3f3850) at kernel/qapplication.cpp:2758 #46 0x000000000044d669 in main (argc=<value optimized out>, argv=<value optimized out>) at main.cpp:158 #47 0x00002b9d15e23374 in __libc_start_main () from /lib/libc.so.6 #48 0x00000000004246a9 in _start () PS: KMess-1.5-pre2 is also out, but it appears that the requestChat function still contains the same bug in their CVS.
Created attachment 114216 [details, diff] Proposed patch #1. Works for both _pre1 and _pre2.
Created attachment 114218 [details] Proposed new ebuild for kmess-1.5_pre1. Just remove the "mv" line in src_unpack and you've also got an ebuild for kmess-1.5_pre2.
Thanks Jaak, but please take it to the KMess developers. We're understaffed and I'm tired of dealing with bugs for prereleases, betas, etc.. Drop a note about pre3 or the release and I'll add it to the tree. Masked. >=net-im/kmess-1.5_pre1
Reported upstream at http://www.kmess.org/board/viewtopic.php?p=3955 I'll try to remember to file a bug in case I discover a new release.
Fixed upstream. Closing.