Bug 360333

Summary: Kopete crashes when going online
Product: [openSUSE] openSUSE 10.3 Reporter: Bart Van Assche <bart.vanassche>
Component: KDEAssignee: Will Stephenson <wstephenson>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Critical    
Priority: P3 - Medium    
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 10.3   
Whiteboard:
Found By: Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Output of valgrind --trace-children=yes --log-file=kopete-valgrind-log.txt kopete

Description Bart Van Assche 2008-02-09 07:10:06 UTC
Starting Kopete and logging in to an MSN account makes Kopete crash. Backtrace:

$ gdb /opt/kde3/bin/kopete
(gdb) attach 4112
0x00002acffb1a1bc3 in select ()
   from /lib64/libc.so.6
(gdb) info threads
  1 Thread 0x2ad000f1e8b0 (LWP 4112)  0x00002acffb1a1bc3 in select ()
   from /lib64/libc.so.6
(gdb) cont
Continuing.
[New Thread 0x40800950 (LWP 4126)]
[New Thread 0x41001950 (LWP 4127)]
[New Thread 0x41802950 (LWP 4128)]
[Thread 0x41001950 (LWP 4127) exited]
[Thread 0x40800950 (LWP 4126) exited]
[Thread 0x41802950 (LWP 4128) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x2ad000f1e8b0 (LWP 4112)]
0x00002acff85390f5 in QMapPrivate<QString, Kopete::ContactProperty>::find ()
   from /opt/kde3/lib64/libkopete.so.1
(gdb) where
#0  0x00002acff85390f5 in QMapPrivate<QString, Kopete::ContactProperty>::find
    () from /opt/kde3/lib64/libkopete.so.1
#1  0x00002acff84e03ec in Kopete::Contact::hasProperty ()
   from /opt/kde3/lib64/libkopete.so.1
#2  0x00002acff851e317 in Kopete::Contact::property ()
   from /opt/kde3/lib64/libkopete.so.1
#3  0x00002ad0026d8b58 in MSNNotifySocket::parseCommand ()
   from /opt/kde3/lib64/libkopete_msn_shared.so.0
#4  0x00002ad0026c36ed in MSNSocket::parseLine ()
   from /opt/kde3/lib64/libkopete_msn_shared.so.0
#5  0x00002ad0026c5097 in MSNSocket::slotReadLine ()
   from /opt/kde3/lib64/libkopete_msn_shared.so.0
#6  0x00002ad0026c70d3 in MSNSocket::slotDataReceived ()
   from /opt/kde3/lib64/libkopete_msn_shared.so.0
#7  0x00002ad0026c94e2 in MSNSocket::qt_invoke ()
   from /opt/kde3/lib64/libkopete_msn_shared.so.0
#8  0x00002ad0026d5e77 in MSNNotifySocket::qt_invoke ()
   from /opt/kde3/lib64/libkopete_msn_shared.so.0
#9  0x00002acffa6ebe6c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#10 0x00002acffa6ec604 in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#11 0x00002acff9c88806 in KNetwork::KBufferedSocket::qt_invoke ()
   from /opt/kde3/lib64/libkdecore.so.4
#12 0x00002acffa6ebe6c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#13 0x00002acffa6ec524 in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#14 0x00002acffa705f4b in QSocketNotifier::event ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#15 0x00002acffa6956dd in QApplication::internalNotify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#16 0x00002acffa6963f8 in QApplication::notify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#17 0x00002acff9c513dd in KApplication::notify ()
   from /opt/kde3/lib64/libkdecore.so.4
#18 0x00002acffa68b4a3 in QEventLoop::activateSocketNotifiers ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#19 0x00002acffa64b854 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#20 0x00002acffa6a9f53 in QEventLoop::enterLoop ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#21 0x00002acffa6a9e02 in QEventLoop::exec ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#22 0x00000000004412ba in QWidget::setUpdatesEnabled ()
#23 0x00002acffb100b54 in __libc_start_main () from /lib64/libc.so.6
#24 0x0000000000431909 in QWidget::setUpdatesEnabled ()
#25 0x00007fffb2880718 in ?? ()
#26 0x0000000000000000 in ?? ()
(gdb)
Comment 1 Will Stephenson 2008-04-22 08:39:33 UTC
Please install kdenetwork3-debuginfo and supply another backtrace.
Comment 2 Bart Van Assche 2008-04-22 16:47:37 UTC
(In reply to comment #1 from William Stephenson)
> Please install kdenetwork3-debuginfo and supply another backtrace.
 
Here it is:

System configuration startup check disabled.

[?1034hUsing host libthread_db library "/lib64/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0x2b7054a9c8b0 (LWP 26890)]
[KCrash handler]
#5  0x00002b704e4f2916 in QString::QString ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#6  0x00002b704c05bef1 in Kopete::Contact::contactId (
    this=<value optimized out>) at ./kopete/libkopete/kopetecontact.cpp:483
#7  0x00002b70562a19e8 in MSNNotifySocket::parseCommand (this=0x9c79d0, 
    cmd=<value optimized out>, id=<value optimized out>, data=@0x7fff5ed02890)
    at /usr/src/debug/kdenetwork-3.5.7/kopete/protocols/msn/msnnotifysocket.cpp:369
#8  0x00002b705628c6ed in MSNSocket::parseLine (this=0x9c79d0, 
    str=@0x7fff5ed02970)
    at /usr/src/debug/kdenetwork-3.5.7/kopete/protocols/msn/msnsocket.cpp:526
#9  0x00002b705628e097 in MSNSocket::slotReadLine (this=0x9c79d0)
    at /usr/src/debug/kdenetwork-3.5.7/kopete/protocols/msn/msnsocket.cpp:456
#10 0x00002b705629252f in MSNSocket::qt_invoke (this=0x9c79d0, _id=13, 
    _o=0x7fff5ed02a90)
    at /usr/src/debug/kdenetwork-3.5.7/kopete/protocols/msn/msnsocket.moc:235
#11 0x00002b705629ee77 in MSNNotifySocket::qt_invoke (this=0x9c79d0, _id=13, 
    _o=0x7fff5ed02a90)
    at /usr/src/debug/kdenetwork-3.5.7/kopete/protocols/msn/msnnotifysocket.moc:391
#12 0x00002b704e269e9c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#13 0x00002b704e54f482 in QSignal::signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#14 0x00002b704e28221d in QSignal::activate ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#15 0x00002b704e288758 in QSingleShotTimer::event ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#16 0x00002b704e21370d in QApplication::internalNotify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#17 0x00002b704e214428 in QApplication::notify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#18 0x00002b704d7cf3dd in KApplication::notify ()
   from /opt/kde3/lib64/libkdecore.so.4
#19 0x00002b704e209da7 in QEventLoop::activateTimers ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#20 0x00002b704e1c99e5 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#21 0x00002b704e227f83 in QEventLoop::enterLoop ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#22 0x00002b704e227e32 in QEventLoop::exec ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#23 0x00000000004412ba in main (argc=<value optimized out>, 
    argv=<value optimized out>) at ./kopete/kopete/main.cpp:107
#24 0x00002b704ec7eb54 in __libc_start_main () from /lib64/libc.so.6
#25 0x0000000000431909 in _start ()


And Valgrind tells me Kopete is using dangling pointers (see also the attachment).
Comment 3 Bart Van Assche 2008-04-22 16:48:49 UTC
Created attachment 209663 [details]
Output of valgrind --trace-children=yes --log-file=kopete-valgrind-log.txt kopete
Comment 4 Will Stephenson 2008-09-26 08:13:59 UTC
I've added a safety check for the crash and fixed the valgrind errors in KDE 4.1 branch and trunk.