kdelibs comes from the Opensuse snapshots (rev. 1074631) Akonadiconsole crashes when changing the model on the browser tab. reliable way to reproduce: - click on the browser tab, click on the personal contact resource, - Change the model from 'Generic' to 'Contacts', - click on two different resources, akonadiconsole will assert when clicking on the 2nd one. BT: #3 0xb69cf774 in qt_message_output (msgType=QtFatalMsg, buf=0x6 <Address 0x6 out of bounds>) at global/qglobal.cpp:2250 #4 0xb69cf993 in qt_message (msgType=QtFatalMsg, msg=0xb6b4bbbc "ASSERT: \"%s\" in file %s, line %d", ap=0xbfffc4a4 ">\273\366\267P\266\366\267\257\001") at global/qglobal.cpp:2296 #5 0xb69cfab8 in qFatal (msg=0xb6b4bbbc "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2479 #6 0xb69cfb35 in qt_assert (assertion=0xb7f6bb3e "refCountMap.contains( id )", file=0xb7f6b650 "/kde/src/KDE/kdepimlibs/akonadi/monitor_p.cpp", line=431) at global/qglobal.cpp:2013 #7 0xb7f00aeb in Akonadi::MonitorPrivate::deref (this=0x834b388, id=5) at /kde/src/KDE/kdepimlibs/akonadi/monitor_p.cpp:431 #8 0xb7eb68f5 in Akonadi::EntityTreeModelPrivate::deref (this=0x834d0f8, id=5) at /kde/src/KDE/kdepimlibs/akonadi/entitytreemodel_p.cpp:1059 #9 0xb7eab218 in Akonadi::EntityTreeModel::setData (this=0x82055b0, index=..., value=..., role=53) at /kde/src/KDE/kdepimlibs/akonadi/entitytreemodel.cpp:681 #10 0xb7f16b5d in Akonadi::SelectionProxyModelPrivate::rootIndexAboutToBeRemoved (this=0x834f7f8, removedRootIndex=...) at /kde/src/KDE/kdepimlibs/akonadi/selectionproxymodel.cpp:60 #11 0xb7f168a1 in Akonadi::SelectionProxyModel::qt_metacall (this=0x834f748, _c=InvokeMetaMethod, _id=1, _a=0xbfffc6e8) at /kde/build/KDE/kdepimlibs/akonadi/selectionproxymodel.moc:76 #12 0xb6ae6eed in QMetaObject::metacall (object=0x834f748, cl=31974, idx=41, argv=0xbfffc6e8) at kernel/qmetaobject.cpp:237 #13 0xb6af5d1a in QMetaObject::activate (sender=0x834f748, m=0xb72fe044, local_signal_index=0, argv=0xbfffc6e8) at kernel/qobject.cpp:3267 #14 0xb70c9215 in KSelectionProxyModel::rootIndexAboutToBeRemoved (this=0x834f748, _t1=...) at /usr/src/debug/kdelibs-4.4.59svn1074631/build/kdeui/moc_kselectionproxymodel.cpp:141 #15 0xb70cef1e in KSelectionProxyModelPrivate::selectionChanged (this=0x834f718, selected=..., deselected=...) at /usr/src/debug/kdelibs-4.4.59svn1074631/kdeui/itemviews/kselectionproxymodel.cpp:807 #16 0xb70d018d in KSelectionProxyModel::qt_metacall (this=0x834f748, _c=InvokeMetaMethod, _id=38, _a=0xbfffc994) at /usr/src/debug/kdelibs-4.4.59svn1074631/build/kdeui/moc_kselectionproxymodel.cpp:128 #17 0xb7f16832 in Akonadi::SelectionProxyModel::qt_metacall (this=0x834f748, _c=InvokeMetaMethod, _id=38, _a=0xbfffc994) at /kde/build/KDE/kdepimlibs/akonadi/selectionproxymodel.moc:70 #18 0xb6ae6eed in QMetaObject::metacall (object=0x834f748, cl=31974, idx=38, argv=0xbfffc994) at kernel/qmetaobject.cpp:237 #19 0xb6af5d1a in QMetaObject::activate (sender=0x834f340, m=0xb696106c, local_signal_index=0, argv=0xbfffc994) at kernel/qobject.cpp:3267 #20 0xb662681d in QItemSelectionModel::selectionChanged (this=0x834f340, _t1=..., _t2=...) at .moc/release-shared/moc_qitemselectionmodel.cpp:152 #21 0xb6629eed in QItemSelectionModel::emitSelectionChanged (this=0x834f340, newSelection=..., oldSelection=...) at itemviews/qitemselectionmodel.cpp:1592 #22 0xb662ec5c in QItemSelectionModel::select (this=0x834f340, selection=..., command=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at itemviews/qitemselectionmodel.cpp:1099 #23 0xb6610868 in QTreeViewPrivate::select (this=0x833a2b0, topIndex=..., bottomIndex=..., command=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at itemviews/qtreeview.cpp:3682 #24 0xb66116f9 in QTreeView::setSelection (this=0xbfffcd54, rect=..., command=...) at itemviews/qtreeview.cpp:2246 #25 0xb65ce12b in QAbstractItemView::mousePressEvent (this=0x81ff828, event=0xbfffd7e0) at itemviews/qabstractitemview.cpp:1656 #26 0xb661a6d4 in QTreeView::mousePressEvent (this=0x81ff828, event=0xbfffd7e0) at itemviews/qtreeview.cpp:1810 #27 0xb60933cd in QWidget::event (this=0x81ff828, event=0xbfffd7e0) at kernel/qwidget.cpp:7975 #28 0xb647d495 in QFrame::event (this=0x81ff828, e=0xbfffd7e0) at widgets/qframe.cpp:557 #29 0xb651a241 in QAbstractScrollArea::viewportEvent (this=0x7ce6, e=0x6) at widgets/qabstractscrollarea.cpp:1036 #30 0xb65d2f2c in QAbstractItemView::viewportEvent (this=0x81ff828, event=0xbfffd7e0) at itemviews/qabstractitemview.cpp:1610 #31 0xb6613bcc in QTreeView::viewportEvent (this=0x81ff828, event=0xbfffd7e0) at itemviews/qtreeview.cpp:1248 #32 0xb651cb36 in viewportEvent (event=<value optimized out>, this=<value optimized out>) at widgets/qabstractscrollarea_p.h:100 #33 QAbstractScrollAreaFilter::eventFilter (event=<value optimized out>, this=<value optimized out>) at widgets/qabstractscrollarea_p.h:116 #34 0xb6ae0e4e in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x80cf570, receiver=0x81ee138, event=0xbfffd7e0) at kernel/qcoreapplication.cpp:819 #35 0xb603274d in QApplicationPrivate::notify_helper (this=0x80cf570, receiver=0x81ee138, e=0xbfffd7e0) at kernel/qapplication.cpp:4294 #36 0xb6039f8e in QApplication::notify (this=0xbfffd514, receiver=0x81ee138, e=0xbfffd7e0) at kernel/qapplication.cpp:3863 #37 0xb70e02a1 in KApplication::notify (this=0xbfffde9c, receiver=0x81ee138, event=0xbfffd7e0) at /usr/src/debug/kdelibs-4.4.59svn1074631/kdeui/kernel/kapplication.cpp:302 #38 0xb6ae1b7e in QCoreApplication::notifyInternal (this=0xbfffde9c, receiver=0x81ee138, event=0xbfffd7e0) at kernel/qcoreapplication.cpp:704 #39 0xb6038ed4 in sendSpontaneousEvent (event=<value optimized out>, receiver=<value optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:218 #40 QApplicationPrivate::sendMouseEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qapplication.cpp:2961 #41 0xb60c65ba in QETWidget::translateMouseEvent (this=0x81f96e8, event=0xbfffdcec) at kernel/qapplication_x11.cpp:4368 #42 0xb60c5b64 in QApplication::x11ProcessEvent (this=0xbfffde9c, event=0xbfffdcec) at kernel/qapplication_x11.cpp:3379 #43 0xb60f395b in QEventDispatcherX11::processEvents (this=0x80b98e8, flags=...) at kernel/qeventdispatcher_x11.cpp:132 #44 0xb6ae01ed in QEventLoop::processEvents (this=0xbfffde14, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece. ) at kernel/qeventloop.cpp:149 #45 0xb6ae0639 in QEventLoop::exec (this=0xbfffde14, flags=...) at kernel/qeventloop.cpp:201 #46 0xb6ae47b0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981 #47 0xb6032824 in QApplication::exec () at kernel/qapplication.cpp:3577 #48 0x080811cb in main (argc=1, argv=0xbfffdfc4) at /kde/src/KDE/kdepim/akonadiconsole/main.cpp:48
Created attachment 48625 [details] Test case to cause the assert This test case causes the crash at will. You need to adjust the collection id for 'CurrentIndex' to an id that exists in the akonadi server.
*** Bug 250584 has been marked as a duplicate of this bug. ***
SVN commit 1174597 by alexmerry: Use the incrementing index to emit the signal. Also changed what variable is being changed in two other similar loops to make what is going on more clear. BUG: 223487 M +6 -6 kselectionproxymodel.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1174597
SVN commit 1174598 by alexmerry: Backport r1174597: Use the incrementing index to emit the signal. CCBUG: 223487 M +6 -6 kselectionproxymodel.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1174598