Bug 307899

Summary: Crash after re-adding an ICQ contact
Product: [Frameworks and Libraries] telepathy Reporter: Michal Donat <michal>
Component: contactlistAssignee: Telepathy Bugs <kde-telepathy-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: kde, mklapetek, vit
Priority: NOR    
Version: unspecified   
Target Milestone: Future   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 0.6.0

Description Michal Donat 2012-10-05 14:14:03 UTC
Application: ktp-contactlist (0.5)
KDE Platform Version: 4.9.2
Qt Version: 4.8.3
Operating System: Linux 3.5.4-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
In the "ICQ" group, I saw one contact displayed two times.
So I tried to remove one of them.
As I expected, both of them were deleted.
So I tried to add new contact (the same I removed before)
After that, it crashed

-- Backtrace:
Application: Seznam kontaktů KDE Telepathy (ktp-contactlist), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[KCrash Handler]
#5  0x0000000000000000 in ?? ()
#6  0x00007fa084807506 in ProxyTreeNode::data(int) const () from /usr/lib/libktpmodelsprivate.so.3
#7  0x00007fa084805629 in GroupsModel::data(QModelIndex const&, int) const () from /usr/lib/libktpmodelsprivate.so.3
#8  0x00007fa0847faef4 in AccountsFilterModel::filterAcceptsRow(int, QModelIndex const&) const () from /usr/lib/libktpmodelsprivate.so.3
#9  0x00007fa0847f94c6 in AccountsFilterModel::countContacts(QModelIndex const&) const () from /usr/lib/libktpmodelsprivate.so.3
#10 0x00007fa0847f9cce in ?? () from /usr/lib/libktpmodelsprivate.so.3
#11 0x00007fa08353dacf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#12 0x00007fa0835875c7 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/libQtCore.so.4
#13 0x00007fa0848059bb in GroupsModel::onItemChanged(TreeNode*) () from /usr/lib/libktpmodelsprivate.so.3
#14 0x00007fa084805a9e in GroupsModel::onItemsRemoved(TreeNode*, int, int) () from /usr/lib/libktpmodelsprivate.so.3
#15 0x00007fa08353dacf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#16 0x00007fa0848077dc in TreeNode::childrenRemoved(TreeNode*, int, int) () from /usr/lib/libktpmodelsprivate.so.3
#17 0x00007fa08353dacf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#18 0x00007fa0848077dc in TreeNode::childrenRemoved(TreeNode*, int, int) () from /usr/lib/libktpmodelsprivate.so.3
#19 0x00007fa08353dacf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#20 0x00007fa0848077dc in TreeNode::childrenRemoved(TreeNode*, int, int) () from /usr/lib/libktpmodelsprivate.so.3
#21 0x00007fa08353dacf in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#22 0x00007fa08353e50f in QObject::destroyed(QObject*) () from /usr/lib/libQtCore.so.4
#23 0x00007fa08353e603 in QObject::~QObject() () from /usr/lib/libQtCore.so.4
#24 0x00007fa084807b88 in TreeNode::~TreeNode() () from /usr/lib/libktpmodelsprivate.so.3
#25 0x00007fa084803919 in ContactModelItem::~ContactModelItem() () from /usr/lib/libktpmodelsprivate.so.3
#26 0x00007fa08353cfd8 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#27 0x00007fa08219008c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#28 0x00007fa08219450a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#29 0x00007fa0841aedf6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#30 0x00007fa0835285ee in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#31 0x00007fa08352bf51 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#32 0x00007fa0835565b3 in ?? () from /usr/lib/libQtCore.so.4
#33 0x00007fa07e072475 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#34 0x00007fa07e0727a8 in ?? () from /usr/lib/libglib-2.0.so.0
#35 0x00007fa07e072864 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#36 0x00007fa083556746 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#37 0x00007fa08223050e in ?? () from /usr/lib/libQtGui.so.4
#38 0x00007fa08352733f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#39 0x00007fa0835275c8 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#40 0x00007fa08352c268 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#41 0x000000000041d431 in ?? ()
#42 0x00007fa08193c725 in __libc_start_main () from /usr/lib/libc.so.6
#43 0x000000000041d4a1 in _start ()

Reported using DrKonqi
Comment 1 Martin Klapetek 2012-10-08 11:02:51 UTC
*** Bug 308067 has been marked as a duplicate of this bug. ***
Comment 2 Martin Klapetek 2013-01-04 15:19:09 UTC
Update on this bug: our models are undergoing a complete refactor, which should hopefully fix this. Is it possible to reliably reproduce this bug so we can have a testcase against the new models?
Comment 3 David Edmundson 2013-01-15 17:01:17 UTC
Git commit 3315e817fb1ce8fd802b9ff7e9aa665d352573ef by David Edmundson.
Committed on 15/01/2013 at 18:00.
Pushed by davidedmundson into branch 'master'.

Merge big model refactor.

Replace all the models used to power KTp

Subclass of Tp::Contact (KTp::Contact) to power the model
Create a list of contacts ContactListModel
Which can be grouped into AccountsTreeProxyModel or GroupsTreeProxyModel
Related: bug 304085, bug 282218, bug 279023

REVIEW: 107377
REVIEW: 107629

DIGEST:

M  +5    -0    KTp/CMakeLists.txt

http://commits.kde.org/telepathy-common-internals/3315e817fb1ce8fd802b9ff7e9aa665d352573ef