| Summary: | Kopete crashes when presented with large roster | ||
|---|---|---|---|
| Product: | [Unmaintained] kopete | Reporter: | Eric Pullen <epullen> |
| Component: | Jabber Plugin | Assignee: | Kopete Developers <kopete-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | blade.runner, marcin, sven.burmeister |
| Priority: | NOR | ||
| Version First Reported In: | 0.50.0 | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Eric Pullen
2008-02-11 21:39:25 UTC
I think I see the same crash while importing my roster the first time. This is still valid for today's SVN.
Application: Kopete (kopete), signal SIGSEGV
[?1034hUsing host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb5a5d6d0 (LWP 1212)]
[New Thread 0xb31ebb90 (LWP 1240)]
[KCrash handler]
#6 0xb5ff66cc in memcpy () from /lib/libc.so.6
#7 0xb7d1fd42 in KNetwork::Internal::KSocketBuffer::sendTo (this=0x8142e48,
dev=0x8394b60, len=-1)
at /home/kde-devel/kde/src/KDE/kdelibs/kdecore/network/k3socketbuffer.cpp:256
#8 0xb7d09ba5 in KNetwork::KBufferedSocket::slotWriteActivity (this=0x8111970)
at /home/kde-devel/kde/src/KDE/kdelibs/kdecore/network/k3bufferedsocket.cpp:349
#9 0xb7d09a0d in KNetwork::KBufferedSocket::qt_metacall (this=0x8111970,
_c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbff6576c)
at /home/kde-devel/kde/build/KDE/kdelibs/kdecore/k3bufferedsocket.moc:67
#10 0xb7f195b6 in QMetaObject::activate (sender=0x84f9358,
from_signal_index=4, to_signal_index=4, argv=0xbff6576c)
at kernel/qobject.cpp:3087
#11 0xb7f19fc1 in QMetaObject::activate (sender=0x84f9358, m=0xb7f8c8f0,
local_signal_index=0, argv=0xbff6576c) at kernel/qobject.cpp:3149
#12 0xb7f3f738 in QSocketNotifier::activated (this=0x84f9358, _t1=24)
at .moc/debug-shared/moc_qsocketnotifier.cpp:80
#13 0xb7f21ab1 in QSocketNotifier::event (this=0x84f9358, e=0xbff65c68)
at kernel/qsocketnotifier.cpp:317
#14 0xb6f519c7 in QApplicationPrivate::notify_helper (this=0x80c2d78,
receiver=0x84f9358, e=0xbff65c68) at kernel/qapplication.cpp:3556
#15 0xb6f51ce0 in QApplication::notify (this=0xbff67cc0, receiver=0x84f9358,
e=0xbff65c68) at kernel/qapplication.cpp:3115
#16 0xb798fcf5 in KApplication::notify (this=0xbff67cc0, receiver=0x84f9358,
event=0xbff65c68)
at /home/kde-devel/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:311
#17 0xb7f054a4 in QCoreApplication::notifyInternal (this=0xbff67cc0,
receiver=0x84f9358, event=0xbff65c68) at kernel/qcoreapplication.cpp:530
#18 0xb7f087f1 in QCoreApplication::sendEvent (receiver=0x84f9358,
event=0xbff65c68)
at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:200
#19 0xb7f2feec in socketNotifierSourceDispatch (source=0x80c2e68)
at kernel/qeventdispatcher_glib.cpp:102
#20 0xb5f075d6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#21 0xb5f0a972 in ?? () from /usr/lib/libglib-2.0.so.0
#22 0x080c5098 in ?? ()
#23 0x00000000 in ?? ()
#0 0xffffe410 in __kernel_vsyscall ()
I have this problem too (62 users in roster). After adding Jabber account in Kopete and Login, Kopete crash. 53 users in roster and crashing too - Kopete 4.0.1 from Debian adds myself to Cc: *** Bug 161937 has been marked as a duplicate of this bug. *** Same backtrace here but it does not happen when retrieving the roster. It happen when I send this stanza : <iq from="kopete@localhost/Kopete" type="set" to="cazou88@localhost/Kopete" id="aabfa" > <jingle xmlns="urn:xmpp:tmp:jingle" initiator="cazou88@localhost/Kopete" action="session-info" sid="a99d8" > <trying xmlns="urn:xmpp:tmp:jingle:transports:ice-udp:info"/> </jingle> </iq> I really don't know why... Also, it does not happen every time but very often. (gdb) print item.data() $10 = 0x8482188 "<iq from=\"kopete@localhost/Kopete\" type=\"set\" to=\"cazou88@localhost/Kopete\" id=\"aac4a\" >\n<jingle xmlns=\"urn:xmpp:tmp:jingle\" initiator=\"cazou88@localhost/Kopete\" action=\"session-info\" sid=\"afbee\" >\n<t"... (gdb) print item.data()+100 $11 = 0x84821ec "ns=\"urn:xmpp:tmp:jingle\" initiator=\"cazou88@localhost/Kopete\" action=\"session-info\" sid=\"afbee\" >\n<trying xmlns=\"urn:xmpp:tmp:jingle:transports:ice-udp:info\"/>\n</jingle>\n</iq>\n" (gdb) print buf.data() $12 = 0x84839d0 "" (gdb) p count $14 = 0 (gdb) p offset $15 = 424 (gdb) p item.length() $16 = 276 (gdb) p item.size() - offset $18 = -148 here's what I can get from gdb, I don't know that code at all so, I don't know what might cause any problem. The empty buffer tells no memory has been copied yet. How come item.length() is 276 and offset is 424 ? Kopete crashes with this line : memcpy(buf.data() + count, item.data() + offset, item.size() - offset); item.data() + offset is outbounds and size (3rd argument to memcpy) is negative (-148). Resolved in r831170 |