Bug 176821 - Crash when setting jabber status to offline
Summary: Crash when setting jabber status to offline
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: Jabber Plugin (show other bugs)
Version: 0.60.81
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
: 175890 178048 178486 179885 180560 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-12-03 21:19 UTC by Balázs Béla
Modified: 2009-01-13 14:48 UTC (History)
10 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Patch for fixing the crash on Jabber-logout (583 bytes, patch)
2008-12-22 22:50 UTC, Tobias Doerffel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Balázs Béla 2008-12-03 21:19:13 UTC
Version:           0.60.81 (using Devel)
Compiler:          cmake version 2.6-patch 2  
OS:                Linux
Installed from:    Compiled sources

I compile QCA2 SSL plugin from source and it installed it to the qtdir (installed from kde svn, qt-copy).
I set up my gmail account (google talk), specifying port 5223, overriding server to talk.google.com and making it use SSL.

It connects, works, it retrieves avatars, I can chat, but if I set the status to offline kopete crashes.Everytime I set it offline.It doesn't crash when I exit kopete without going offline in Jabber, only when manually setting my status to offline.

I get this backtrace:

Application: Kopete (kopete), signal SIGSEGV
[Current thread is 0 (LWP 6103)]

Thread 4 (Thread 0xb1630b90 (LWP 6105)):
#0  0xb6b909ec in pthread_mutex_lock () from /lib/i686/cmov/libpthread.so.0
#1  0xb6bde0f0 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#2  0xb6bde53a in ?? () from /usr/lib/libglib-2.0.so.0
#3  0x0a34f4d8 in ?? ()
#4  0xb1630198 in ?? ()
#5  0x0a330a70 in ?? ()
#6  0x00000001 in ?? ()
#7  0xb6c56b08 in ?? () from /usr/lib/libglib-2.0.so.0
#8  0xb6c56758 in ?? () from /usr/lib/libglib-2.0.so.0
#9  0xb6b93ed5 in pthread_getspecific () from /lib/i686/cmov/libpthread.so.0
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 3 (Thread 0xb0e2fb90 (LWP 6106)):
#0  0xb7f9f424 in __kernel_vsyscall ()
#1  0xb6b93025 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/cmov/libpthread.so.0
#2  0xb6cd4f54 in QWaitConditionPrivate::wait (this=0xa509de8, time=4294967295) at thread/qwaitcondition_unix.cpp:82
#3  0xb6cd4a53 in QWaitCondition::wait (this=0xa507340, mutex=0xa50733c, time=4294967295) at thread/qwaitcondition_unix.cpp:154
#4  0xb6131e53 in QHostInfoAgent::run (this=0xa507330) at kernel/qhostinfo.cpp:241
#5  0xb6cd4631 in QThreadPrivate::start (arg=0xa507330) at thread/qthread_unix.cpp:185
#6  0xb6b8f4c0 in start_thread () from /lib/i686/cmov/libpthread.so.0
#7  0xb5ef661e in clone () from /lib/i686/cmov/libc.so.6

Thread 2 (Thread 0xb061bb90 (LWP 6107)):
#0  0xb7f9f424 in __kernel_vsyscall ()
#1  0xb5eee9f1 in select () from /lib/i686/cmov/libc.so.6
#2  0xb1929d8a in posix_timer_do () from /usr/lib/libortp.so.7
#3  0xb192a898 in rtp_scheduler_schedule () from /usr/lib/libortp.so.7
#4  0xb6b8f4c0 in start_thread () from /lib/i686/cmov/libpthread.so.0
#5  0xb5ef661e in clone () from /lib/i686/cmov/libc.so.6

Thread 1 (Thread 0xb595b6c0 (LWP 6103)):
[KCrash Handler]
#6  0xb6dd224e in QObject::killTimer (this=0xa2b5cf8, id=4) at kernel/qobject.cpp:1552
#7  0xb6de1a20 in QTimer::stop (this=0xa2b5cf8) at kernel/qtimer.cpp:243
#8  0xb614920d in QAbstractSocketPrivate::resetSocketLayer (this=0xa509710) at socket/qabstractsocket.cpp:453
#9  0xb61499a2 in QAbstractSocketPrivate::readFromSocket (this=0xa509710) at socket/qabstractsocket.cpp:989
#10 0xb6149b61 in QAbstractSocketPrivate::canReadNotification (this=0xa509710) at socket/qabstractsocket.cpp:543
#11 0xb614c3ad in QAbstractSocketPrivate::readNotification (this=0xa509710) at socket/qabstractsocket_p.h:73
#12 0xb613979d in QAbstractSocketEngine::readNotification (this=0xa4e3e80) at socket/qabstractsocketengine.cpp:136
#13 0xb613ac3f in QReadNotifier::event (this=0xa4d4bf8, e=0xbfabab38) at socket/qnativesocketengine.cpp:968
#14 0xb7029479 in QApplicationPrivate::notify_helper (this=0x95bda58, receiver=0xa4d4bf8, e=0xbfabab38) at kernel/qapplication.cpp:3803
#15 0xb702978e in QApplication::notify (this=0xbfabadac, receiver=0xa4d4bf8, e=0xbfabab38) at kernel/qapplication.cpp:3393
#16 0xb7c5cc8d in KApplication::notify (this=0xbfabadac, receiver=0xa4d4bf8, event=0xbfabab38) at /home/kde-devel/kde/src/kdelibs/kdeui/kernel/kapplication.cpp:307
#17 0xb6dc3a1b in QCoreApplication::notifyInternal (this=0xbfabadac, receiver=0xa4d4bf8, event=0xbfabab38) at kernel/qcoreapplication.cpp:583
#18 0xb702637f in QCoreApplication::sendEvent (receiver=0xa4d4bf8, event=0xbfabab38) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:209
#19 0xb6df259c in socketNotifierSourceDispatch (source=0x95bd0c0) at kernel/qeventdispatcher_glib.cpp:105
#20 0xb6bdb1b8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#21 0xb6bde853 in ?? () from /usr/lib/libglib-2.0.so.0
#22 0x095b7258 in ?? ()
#23 0x00000000 in ?? ()



Hope it's usefull.

Thanks.
Comment 1 Balázs Béla 2008-12-03 21:20:55 UTC
Forgot to mention that the same thing happens if I install the qca-tls package from apt (I'm using Debian) and copy the plugin manually to qt-copy directory.
Comment 2 George Kiagiadakis 2008-12-03 22:07:55 UTC
I can confirm that with kopete from today's trunk. When I set my gtalk account to offline, it crashes with the backtrace below. That doesn't happen with my jabber.org account, which doesn't use tls.

Εφαρμογή: Kopete (kopete), σήμα SIGSEGV
0x00007f8189257ff1 in nanosleep () from /lib/libc.so.6
[Current thread is 0 (LWP 894)]

Thread 3 (Thread 0x42fcd950 (LWP 1220)):
#0  0x00007f8189280b66 in poll () from /lib/libc.so.6
#1  0x00007f81871dbdf8 in g_main_context_iterate (context=0x1010c60, block=1, dispatch=1, self=<value optimized out>) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2954
#2  0x00007f81871dc11b in IA__g_main_context_iteration (context=0x1010c60, may_block=1) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2708
#3  0x00007f818999572e in QEventDispatcherGlib::processEvents (this=0xcc44c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:321
#4  0x00007f818996bca2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 1123864416}) at kernel/qeventloop.cpp:143
#5  0x00007f818996be2d in QEventLoop::exec (this=0xc6d400, flags={i = 1123864816}) at kernel/qeventloop.cpp:194
#6  0x00007f8176b94f9b in QCA::SyncThread::run () from /usr/lib/libqca.so.2
#7  0x00007f8189885162 in QThreadPrivate::start (arg=0xfff300) at thread/qthread_unix.cpp:185
#8  0x00007f8186f89fc7 in start_thread () from /lib/libpthread.so.0
#9  0x00007f81892895ad in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x427cc950 (LWP 1224)):
#0  0x00007f8186f8dd29 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f8189886159 in QWaitCondition::wait (this=0x10fecf0, mutex=0x10fece8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007f8185764f4c in QHostInfoAgent::run (this=0x10fecd0) at kernel/qhostinfo.cpp:241
#3  0x00007f8189885162 in QThreadPrivate::start (arg=0x10fecd0) at thread/qthread_unix.cpp:185
#4  0x00007f8186f89fc7 in start_thread () from /lib/libpthread.so.0
#5  0x00007f81892895ad in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f818d5696f0 (LWP 894)):
[KCrash Handler]
#5  0x0000000000000170 in ?? ()
#6  0x00007f8189975895 in QMetaObject::invokeMethod (obj=0x12d7dd0, member=<value optimized out>, type=Qt::DirectConnection, ret={<QGenericArgument> = {_data = 0x0, _name = 0x0}, <No data fields>}, 
    val0={_data = 0x0, _name = 0x0}, val1={_data = 0x0, _name = 0x0}, val2={_data = 0x0, _name = 0x0}, val3={_data = 0x0, _name = 0x0}, val4={_data = 0x0, _name = 0x0}, val5=
      {_data = 0x0, _name = 0x0}, val6={_data = 0x0, _name = 0x0}, val7={_data = 0x0, _name = 0x0}, val8={_data = 0x0, _name = 0x0}, val9={_data = 0x0, _name = 0x0}) at kernel/qmetaobject.cpp:945
#7  0x00007f818577a004 in QAbstractSocket::disconnectFromHost (this=0x12d7dd0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs.h:365
#8  0x00007f818577d678 in QAbstractSocketPrivate::canReadNotification (this=0x12d8220) at socket/qabstractsocket.cpp:547
#9  0x00007f818576e5e1 in QReadNotifier::event (this=<value optimized out>, e=0x23) at socket/qnativesocketengine.cpp:968
#10 0x00007f818bea2a5d in QApplicationPrivate::notify_helper (this=0x6b0ff0, receiver=0x11209f0, e=0x7fff956aef10) at kernel/qapplication.cpp:3803
#11 0x00007f818beaa7da in QApplication::notify (this=0x7fff956af200, receiver=0x11209f0, e=0x7fff956aef10) at kernel/qapplication.cpp:3768
#12 0x00007f818a56768b in ?? () from /usr/lib/libkdeui.so.5
#13 0x0000000000000003 in ?? ()
#14 0x00007f818987ce04 in QInternal::activateCallbacks (cb=19758544, parameters=0x23) at global/qglobal.cpp:2726
#15 0x00007f818996d381 in QCoreApplication::notifyInternal (this=0x7fff956af200, receiver=0x67a770, event=0x7fff956af200) at kernel/qcoreapplication.cpp:587
#16 0x00007f8189995989 in socketNotifierSourceDispatch (source=0x6c3d80) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:209
#17 0x00007f81871d878b in IA__g_main_context_dispatch (context=0x6b3220) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2012
#18 0x00007f81871dbf5d in g_main_context_iterate (context=0x6b3220, block=1, dispatch=1, self=<value optimized out>) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2645
#19 0x00007f81871dc11b in IA__g_main_context_iteration (context=0x6b3220, may_block=1) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2708
#20 0x00007f818999570f in QEventDispatcherGlib::processEvents (this=0x6afb30, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:319
#21 0x00007f818bf3444f in QGuiEventDispatcherGlib::processEvents (this=0x12d7dd0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:198
#22 0x00007f818996bca2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = -1788153552}) at kernel/qeventloop.cpp:143
#23 0x00007f818996be2d in QEventLoop::exec (this=0x7fff956af170, flags={i = -1788153472}) at kernel/qeventloop.cpp:194
#24 0x00007f818996e2dd in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#25 0x000000000044a03c in main (argc=3, argv=0x7fff956affb8) at ../../../kopete/kopete/main.cpp:102

Comment 3 Aleix Pol 2008-12-05 22:04:37 UTC
Same problem here
Comment 4 Dario Andres 2008-12-14 18:41:18 UTC
*** Bug 175890 has been marked as a duplicate of this bug. ***
Comment 5 Dario Andres 2008-12-18 18:53:13 UTC
*** Bug 178048 has been marked as a duplicate of this bug. ***
Comment 6 Jason 2008-12-20 20:01:08 UTC
Still happening - using kde unstable from opensuse (4.2 b2?)
Comment 7 Dario Andres 2008-12-22 22:42:22 UTC
*** Bug 178486 has been marked as a duplicate of this bug. ***
Comment 8 Dario Andres 2008-12-22 22:43:00 UTC
Look at bug 178486 for a proposed patch to fix this crash. (thanks to    	 Tobias Doerffel)
Comment 9 Tobias Doerffel 2008-12-22 22:50:35 UTC
Created attachment 29560 [details]
Patch for fixing the crash on Jabber-logout

As already mentioned by Darío, here's a little patch that I made and that fixes the crash for me.
Comment 10 George Kiagiadakis 2008-12-23 13:27:03 UTC
SVN commit 900642 by gkiagia:

Do not crash on logout.
Patch written by Tobias Doerffel. Thanks.
BUG: 176821


 M  +1 -1      jabberbytestream.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=900642
Comment 11 Dario Andres 2009-01-07 17:53:25 UTC
*** Bug 179885 has been marked as a duplicate of this bug. ***
Comment 12 George Kiagiadakis 2009-01-13 14:48:40 UTC
*** Bug 180560 has been marked as a duplicate of this bug. ***