Bug 229996 - Kopete crash after deleting contact in response to contact deleting me
Summary: Kopete crash after deleting contact in response to contact deleting me
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash with 20 votes (vote)
Target Milestone: ---
Assignee: Pali Rohár
URL:
Keywords:
: 301989 307950 307986 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-03-08 21:20 UTC by sreque
Modified: 2012-11-09 17:43 UTC (History)
10 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.9.3


Attachments
Valgrind log of the crash (309.59 KB, application/x-gzip)
2012-10-07 17:16 UTC, Lamarque V. Souza
Details
New crash information added by DrKonqi (13.38 KB, text/plain)
2012-10-09 21:33 UTC, Oleg Atamanenko
Details
New crash information added by DrKonqi (7.20 KB, text/plain)
2012-10-12 17:04 UTC, DrHouse
Details
patch which fix crashing (2.86 KB, patch)
2012-10-24 16:38 UTC, Pali Rohár
Details

Note You need to log in before you can comment on or make changes to this bug.
Description sreque 2010-03-08 21:20:50 UTC
Application that crashed: kopete
Version of the application: 0.80.2
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.2
Operating System: Linux 2.6.31-20-generic x86_64
Distribution: Ubuntu 9.10

What I was doing when the application crashed:
Using the jabber protocol. I got a notification that a user removed me from their list. I chose to remove them as well and delete them off of my list. Kopete crashed at that point.

 -- Backtrace:
Application: Kopete (kopete), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f893ac3c750 (LWP 2727))]

Thread 3 (Thread 0x7f891b17f910 (LWP 2749)):
#0  0x00007f893725c3c3 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f8932cdf37c in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f8932cdf6c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f89385291fe in QEventDispatcherGlib::processEvents (this=0x2a56710, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#4  0x00007f89384ff532 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f89384ff904 in QEventLoop::exec (this=0x2976710, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f891bc43123 in QCA::SyncThread::run() () from /usr/lib/libqca.so.2
#7  0x00007f893841a445 in QThreadPrivate::start (arg=0x2a5e4b0) at thread/qthread_unix.cpp:188
#8  0x00007f8932a8aa04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f893726880d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f891a97e910 (LWP 2750)):
#0  0x00007f893725c3c3 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=2746) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f8932cdf37c in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f8932cdf6c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f89385291fe in QEventDispatcherGlib::processEvents (this=0x2959460, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#4  0x00007f89384ff532 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f89384ff904 in QEventLoop::exec (this=0x2b73f60, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f891c0937c2 in ?? () from /usr/lib/kde4/kopete_jabber.so
#7  0x00007f893841a445 in QThreadPrivate::start (arg=0x2b45550) at thread/qthread_unix.cpp:188
#8  0x00007f8932a8aa04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f893726880d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f893ac3c750 (LWP 2727)):
[KCrash Handler]
#5  0x00007f893a32ae34 in Kopete::Contact::account() const () from /usr/lib/libkopete.so.4
#6  0x00007f893a32b404 in Kopete::Contact::onlineStatus() const () from /usr/lib/libkopete.so.4
#7  0x00007f893a32b479 in Kopete::Contact::isOnline() const () from /usr/lib/libkopete.so.4
#8  0x00007f893a32b421 in Kopete::Contact::onlineStatus() const () from /usr/lib/libkopete.so.4
#9  0x00007f893a32b479 in Kopete::Contact::isOnline() const () from /usr/lib/libkopete.so.4
#10 0x00007f893a3461ef in Kopete::MetaContact::isOnline() const () from /usr/lib/libkopete.so.4
#11 0x00007f8939c34d53 in Kopete::UI::ContactListTreeModel::countConnected(Kopete::UI::GroupModelItem*) const () from /usr/lib/libkopetecontactlist.so.1
#12 0x00007f8939c381ab in Kopete::UI::ContactListTreeModel::data(QModelIndex const&, int) const () from /usr/lib/libkopetecontactlist.so.1
#13 0x00007f8937f00041 in QSortFilterProxyModel::data (this=<value optimized out>, index=..., role=0) at itemviews/qsortfilterproxymodel.cpp:1611
#14 0x00007f8937f243c6 in QModelIndex::data (this=<value optimized out>, option=0x7fff607aa280, index=...) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:378
#15 QStyledItemDelegate::initStyleOption (this=<value optimized out>, option=0x7fff607aa280, index=...) at itemviews/qstyleditemdelegate.cpp:379
#16 0x00007f8937f252ed in QStyledItemDelegate::paint (this=0x26a0d30, painter=0x7fff607aabd0, option=..., index=...) at itemviews/qstyleditemdelegate.cpp:419
#17 0x00007f8939c413ee in KopeteItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () from /usr/lib/libkopetecontactlist.so.1
#18 0x00007f8937eb6719 in QTreeView::drawRow (this=<value optimized out>, painter=<value optimized out>, option=<value optimized out>, index=<value optimized out>) at itemviews/qtreeview.cpp:1640
#19 0x00007f8937ebe2d4 in QTreeView::drawTree (this=0x2676720, painter=<value optimized out>, region=<value optimized out>) at itemviews/qtreeview.cpp:1403
#20 0x00007f8937ebed83 in QTreeView::paintEvent (this=0x2676720, event=0x7fff607ab700) at itemviews/qtreeview.cpp:1281
#21 0x00007f89379f77a0 in QWidget::event (this=0x2676720, event=0x7fff607ab700) at kernel/qwidget.cpp:7687
#22 0x00007f8937d532a6 in QFrame::event (this=0x2676720, e=0x7fff607ab700) at widgets/qframe.cpp:559
#23 0x00007f8937e8621b in QAbstractItemView::viewportEvent (this=0x2676720, event=0x7fff607ab700) at itemviews/qabstractitemview.cpp:1476
#24 0x00007f8937ebd420 in QTreeView::viewportEvent (this=0x2676720, event=0x7fff607ab700) at itemviews/qtreeview.cpp:1266
#25 0x00007f89384fff47 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x267aaf0, event=0x7fff607ab700) at kernel/qcoreapplication.cpp:726
#26 0x00007f89379a8ecc in QApplicationPrivate::notify_helper (this=0x240dc50, receiver=0x267aaf0, e=0x7fff607ab700) at kernel/qapplication.cpp:4052
#27 0x00007f89379b01ce in QApplication::notify (this=0x7fff607ada90, receiver=0x267aaf0, e=0x7fff607ab700) at kernel/qapplication.cpp:4021
#28 0x00007f8939114ab6 in KApplication::notify (this=0x7fff607ada90, receiver=0x267aaf0, event=0x7fff607ab700) at ../../kdeui/kernel/kapplication.cpp:302
#29 0x00007f8938500c2c in QCoreApplication::notifyInternal (this=0x7fff607ada90, receiver=0x267aaf0, event=0x7fff607ab700) at kernel/qcoreapplication.cpp:610
#30 0x00007f89379feb93 in QCoreApplication::sendSpontaneousEvent (this=0x26af5c0, pdev=0x2601b38, rgn=..., offset=<value optimized out>, flags=<value optimized out>, 
    sharedPainter=<value optimized out>, backingStore=0x2601c70) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#31 QWidgetPrivate::drawWidget (this=0x26af5c0, pdev=0x2601b38, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=<value optimized out>, backingStore=0x2601c70)
    at kernel/qwidget.cpp:5079
#32 0x00007f8937b70dbe in QWidgetBackingStore::sync (this=0x2601c70) at painting/qbackingstore.cpp:1261
#33 0x00007f8937b71159 in QWidgetBackingStore::sync (this=0x2601c70, exposedWidget=0x25f8190, exposedRegion=...) at painting/qbackingstore.cpp:1074
#34 0x00007f8937a072ca in QETWidget::translatePaintEvent (this=0x25f8190, event=<value optimized out>) at kernel/qapplication_x11.cpp:5109
#35 0x00007f8937a14abb in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff607ad6b0) at kernel/qapplication_x11.cpp:3450
#36 0x00007f8937a3dd0c in x11EventSourceDispatch (s=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#37 0x00007f8932cdbbce in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#38 0x00007f8932cdf598 in ?? () from /lib/libglib-2.0.so.0
#39 0x00007f8932cdf6c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#40 0x00007f89385291a6 in QEventDispatcherGlib::processEvents (this=0x23c6560, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#41 0x00007f8937a3d4be in QGuiEventDispatcherGlib::processEvents (this=0x289fea0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#42 0x00007f89384ff532 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#43 0x00007f89384ff904 in QEventLoop::exec (this=0x7fff607ad9e0, flags=) at kernel/qeventloop.cpp:201
#44 0x00007f8938501ab9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#45 0x00000000004157f6 in _start ()

Reported using DrKonqi
Comment 1 Jekyll Wu 2012-10-04 21:30:06 UTC
*** Bug 301989 has been marked as a duplicate of this bug. ***
Comment 2 Lamarque V. Souza 2012-10-06 22:16:37 UTC
*** Bug 307950 has been marked as a duplicate of this bug. ***
Comment 3 Lamarque V. Souza 2012-10-06 22:17:09 UTC
*** Bug 307986 has been marked as a duplicate of this bug. ***
Comment 4 Lamarque V. Souza 2012-10-06 22:36:12 UTC
*** Bug 298290 has been marked as a duplicate of this bug. ***
Comment 5 Lamarque V. Souza 2012-10-07 17:16:01 UTC
Created attachment 74390 [details]
Valgrind log of the crash

This is a valgrind log for the crash. It shows the crash but I could not see why it crases. I hope somebody else is able to interpret the valgrind log better than me.
Comment 6 Richard Homonnai 2012-10-09 08:21:04 UTC
This also happens when adding a contact to a metacontact :(
Comment 7 Oleg Atamanenko 2012-10-09 21:33:07 UTC
Created attachment 74448 [details]
New crash information added by DrKonqi

kopete (1.3.2) on KDE Platform 4.9.2 using Qt 4.8.2

- What I was doing when the application crashed:

Grouped contact to the meta-contact. Kopete crashed.

-- Backtrace (Reduced):
#6  0x00007fa6ec72f509 in QList (l=..., this=0x7fffbb751460) at /usr/include/qt4/QtCore/qlist.h:122
#7  QListIterator (container=..., this=0x7fffbb751460) at /usr/include/qt4/QtCore/qlist.h:902
#8  Kopete::MetaContact::isOnline (this=0x2d73260) at ../../../kopete/libkopete/kopetemetacontact.cpp:516
#9  0x00007fa6ec036e9e in Kopete::UI::ContactListTreeModel::countConnected (this=<optimized out>, gmi=<optimized out>) at ../../../../kopete/kopete/contactlist/contactlisttreemodel.cpp:233
#10 0x00007fa6ec0370f3 in Kopete::UI::ContactListTreeModel::data (this=0x22c41e0, index=..., role=138) at ../../../../kopete/kopete/contactlist/contactlisttreemodel.cpp:318
Comment 8 DrHouse 2012-10-12 17:04:37 UTC
Created attachment 74502 [details]
New crash information added by DrKonqi

kopete (1.3.2) on KDE Platform 4.9.2 using Qt 4.8.2

It happens when I add xmpp contact to kopete.

-- Backtrace (Reduced):
#6  0x00007f93f06bbdba in Kopete::MetaContact::isOnline() const () from /usr/lib64/libkopete.so.4
#7  0x00007f93effb33d6 in Kopete::UI::ContactListTreeModel::countConnected(Kopete::UI::GroupModelItem*) const () from /usr/lib64/libkopetecontactlist.so.1
#8  0x00007f93effb3635 in Kopete::UI::ContactListTreeModel::data(QModelIndex const&, int) const () from /usr/lib64/libkopetecontactlist.so.1
#9  0x00007f93effbcb29 in Kopete::UI::ContactListProxyModel::filterAcceptsRow(int, QModelIndex const&) const () from /usr/lib64/libkopetecontactlist.so.1
#10 0x00007f93ee059f45 in QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib64/qt4/libQtGui.so.4
Comment 9 Pali Rohár 2012-10-22 12:31:36 UTC
Relevant part of kopete svn1316028 backtrace crash when moving subcontact to another metacontact:
#6  0x00007fdbc4195529 in QList (l=..., this=0x7fffa9809e40) at /usr/include/qt4/QtCore/qlist.h:122
#7  QListIterator (container=..., this=0x7fffa9809e40) at /usr/include/qt4/QtCore/qlist.h:902
#8  Kopete::MetaContact::isOnline (this=0x2de17d0) at /build/buildd/kopete-4.10-svn1316028/kopete/libkopete/kopetemetacontact.cpp:516
#9  0x00007fdbc3a9ce4e in Kopete::UI::ContactListTreeModel::countConnected (this=<optimized out>, gmi=<optimized out>) at /build/buildd/kopete-4.10-svn1316028/kopete/kopete/contactlist/contactlisttreemodel.cpp:233
#10 0x00007fdbc3a9d0a3 in Kopete::UI::ContactListTreeModel::data (this=0x1f6d980, index=..., role=138) at /build/buildd/kopete-4.10-svn1316028/kopete/kopete/contactlist/contactlisttreemodel.cpp:318
#11 0x00007fdbc3aa640a in Kopete::UI::ContactListProxyModel::filterAcceptsRow (this=0x1f6f0c0, sourceRow=<optimized out>, sourceParent=...) at /build/buildd/kopete-4.10-svn1316028/kopete/kopete/contactlist/contactlistproxymodel.cpp:139
Comment 10 Pali Rohár 2012-10-24 16:38:49 UTC
Created attachment 74779 [details]
patch which fix crashing

With this patch I'm not able to reproduce crash again. Please test it if it really fixing this bug.
Comment 11 DrHouse 2012-10-24 17:09:15 UTC
(In reply to comment #10)
> Created attachment 74779 [details]
> patch which fix crashing
> 
> With this patch I'm not able to reproduce crash again. Please test it if it
> really fixing this bug.

I confirm. I can not reproduce crash with this patch on Gentoo Amd64 KDE 4.9.2/Kopete 1.3.2.
Thanks Pali for submitting your patch =:)
Comment 12 Pali Rohár 2012-10-25 12:19:33 UTC
SVN commit 1322413 by pali:

Fix crashing Kopete when moving or deleting contact



 M  +6 -3      contactlisttreemodel.cpp  
 M  +3 -1      contactlisttreemodel_p.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1322413
Comment 13 Pali Rohár 2012-10-25 12:22:14 UTC
SVN commit 1322414 by pali:

Backport r1322413 to 4.9 branch:

Fix crashing Kopete when moving or deleting contact



 M  +6 -3      contactlisttreemodel.cpp  
 M  +3 -1      contactlisttreemodel_p.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1322414