Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 172018

Summary: net-im/kmess-1.5-pre1 hangs (infinite loop)
Product: Gentoo Linux Reporter: Jaak Ristioja <jaak>
Component: [OLD] KDEAssignee: Gentoo KDE team <kde>
Status: VERIFIED WONTFIX    
Severity: critical    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Proposed patch #1.
Proposed new ebuild for kmess-1.5_pre1.

Description Jaak Ristioja 2007-03-24 09:52:49 UTC
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.
Comment 1 Jaak Ristioja 2007-03-24 10:31:43 UTC
Created attachment 114216 [details, diff]
Proposed patch #1.

Works for both _pre1 and _pre2.
Comment 2 Jaak Ristioja 2007-03-24 10:33:42 UTC
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.
Comment 3 Carsten Lohrke (RETIRED) gentoo-dev 2007-04-04 20:26:19 UTC
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
Comment 4 Jaak Ristioja 2007-04-07 16:44:49 UTC
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.
Comment 5 Jaak Ristioja 2008-06-05 17:52:23 UTC
Fixed upstream. Closing.