Bug 163442 - removing the feeds tab always makes kontact crash
Summary: removing the feeds tab always makes kontact crash
Status: RESOLVED FIXED
Alias: None
Product: kontact
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-07 13:01 UTC by Riccardo Iaconelli
Modified: 2008-06-09 20:27 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Riccardo Iaconelli 2008-06-07 13:01:29 UTC
Version:           unknown (using 4.00.81 (KDE 4.0.81 >= 20080527), compiled sources)
Compiler:          gcc
OS:                Linux (i686) release 2.6.24-16-generic

If I remove the feeds tab from the lateral sidebar (through Settings->Configure Kontact, unchecking the 'Feeds' checkbox), and click on Ok or Apply, kontact crashes.
Backtrace:
http://pastebin.com/f292a1b19

The tab works perfectly fine, it's just removing it that causes the problem.
I haven't tried to remove other tabs.
Comment 1 Christophe Marin 2008-06-09 14:07:26 UTC
Confirmed with 2 different backtraces depending on the testcase :

Test 1 :
-Run kontact but don't start the embedded akregator
- Uncheck the box => you get the bt linked above.

Test 2 : 
- Run kontact, click on the feed icon
- Uncheck the box => 

Application: Kontact (kontact), signal SIGSEGV
[Thread debugging using libthread_db enabled]
[New Thread 0xb4ff6940 (LWP 24286)]
[New Thread 0xb4b3fb90 (LWP 3436)]
[KCrash handler]
#6  QString (this=0xbfac5a74, other=@0x1d)
    at /opt/qt4/include/QtCore/qstring.h:676
#7  0xb7a23fcf in Kontact::Plugin::icon (this=0xaa8d218)
    at /media/kde/src/KDE/kdepim/kontactinterfaces/plugin.cpp:113
#8  0xb7f7665b in Kontact::Model::data (this=0x90334b0, index=@0xbfac5ab0, 
    role=1) at /media/kde/src/KDE/kdepim/kontact/src/iconsidepane.cpp:100
#9  0xb5f0d219 in QSortFilterProxyModel::data (this=0x8f5a9c0, 
    index=@0xbfac6068, role=1) at itemviews/qsortfilterproxymodel.cpp:1505
#10 0xb5d2e387 in QModelIndex::data (this=0xbfac6068, arole=1)
    at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:373
#11 0xb5f300b0 in QStyledItemDelegate::initStyleOption (this=0x90332c0, 
    option=0xbfac5c54, index=@0xbfac6068)
    at itemviews/qstyleditemdelegate.cpp:332
#12 0xb5f2fc5e in QStyledItemDelegate::sizeHint (this=0x90332c0, 
    option=@0xbfac5d1c, index=@0xbfac6068)
    at itemviews/qstyleditemdelegate.cpp:437
#13 0xb7f76373 in Kontact::Delegate::sizeHint (this=0x90332c0, 
    option=@0xbfac5e88, index=@0xbfac6068)
    at /media/kde/src/KDE/kdepim/kontact/src/iconsidepane.cpp:162
#14 0xb5ea9b21 in QListViewPrivate::itemSize (this=0x9051470, 
    option=@0xbfac5e88, index=@0xbfac6068) at itemviews/qlistview.cpp:2062
#15 0xb5eb5c3f in QCommonListViewBase::itemSize (this=0x907e620, 
    opt=@0xbfac5e88, idx=@0xbfac6068)
    at ../../include/QtGui/private/../../../src/gui/itemviews/qlistview_p.h:420
#16 0xb5eaa200 in QStaticListViewBase::indexToListViewItem (this=0x907e620, 
    index=@0xbfac6068) at itemviews/qlistview.cpp:2209
#17 0xb5eaa457 in QListViewPrivate::indexToListViewItem (this=0x9051470, 
    index=@0xbfac6068) at itemviews/qlistview.cpp:1994
#18 0xb5eacb80 in QListView::rectForIndex (this=0x9051428, index=@0xbfac6068)
    at itemviews/qlistview.cpp:1407
#19 0xb5eacbfb in QListView::visualRect (this=0x9051428, index=@0xbfac6068)
    at itemviews/qlistview.cpp:566
#20 0xb5eaf2f9 in QListView::visualRegionForSelection (this=0x9051428, 
    selection=@0xbfac63b4) at itemviews/qlistview.cpp:1597
#21 0xb5e8ce02 in QAbstractItemView::selectionChanged (this=0x9051428, 
    selected=@0xbfac63b0, deselected=@0xbfac63b4)
    at itemviews/qabstractitemview.cpp:3002
#22 0xb5eaa62a in QListView::selectionChanged (this=0x9051428, 
    selected=@0xbfac63b0, deselected=@0xbfac63b4)
    at itemviews/qlistview.cpp:2950
#23 0xb5e94488 in QAbstractItemView::qt_metacall (this=0x9051428, 
    _c=QMetaObject::InvokeMetaMethod, _id=19, _a=0xbfac6378)
    at .moc/debug-shared/moc_qabstractitemview.cpp:226
#24 0xb5fae701 in QListView::qt_metacall (this=0x9051428, 
    _c=QMetaObject::InvokeMetaMethod, _id=50, _a=0xbfac6378)
    at .moc/debug-shared/moc_qlistview.cpp:104
#25 0xb7f73dca in Kontact::Navigator::qt_metacall (this=0x9051428, 
    _c=QMetaObject::InvokeMetaMethod, _id=50, _a=0xbfac6378)
    at /media/kde/build/KDE/kdepim/kontact/src/iconsidepane.moc:67
#26 0xb6b4d86c in QMetaObject::activate (sender=0x8f680a8, 
    from_signal_index=4, to_signal_index=4, argv=0xbfac6378)
    at kernel/qobject.cpp:3007
#27 0xb6b4dcf9 in QMetaObject::activate (sender=0x8f680a8, m=0xb607fbb0, 
    local_signal_index=0, argv=0xbfac6378) at kernel/qobject.cpp:3080
#28 0xb5edc8e1 in QItemSelectionModel::selectionChanged (this=0x8f680a8, 
    _t1=@0xbfac63b0, _t2=@0xbfac63b4)
    at .moc/debug-shared/moc_qitemselectionmodel.cpp:144
#29 0xb5ee0614 in QItemSelectionModel::emitSelectionChanged (this=0x8f680a8, 
    newSelection=@0xbfac6408, oldSelection=@0xbfac640c)
    at itemviews/qitemselectionmodel.cpp:1457
#30 0xb5ee1f41 in QItemSelectionModel::select (this=0x8f680a8, 
    selection=@0xbfac6468, command={i = -1079221140})
    at itemviews/qitemselectionmodel.cpp:1018
#31 0xb5ee2332 in QItemSelectionModel::select (this=0x8f680a8, 
    index=@0xaff8ca8, command={i = -1079221080})
    at itemviews/qitemselectionmodel.cpp:906
#32 0xb5edd34e in QItemSelectionModel::setCurrentIndex (this=0x8f680a8, 
    index=@0xbfac6548, command={i = -1079220876})
    at itemviews/qitemselectionmodel.cpp:1086
#33 0xb7f743da in Kontact::Navigator::setCurrentPlugin (this=0x9051428, 
    plugin=@0xbfac667c)
    at /media/kde/src/KDE/kdepim/kontact/src/iconsidepane.cpp:266
#34 0xb7f6a8f7 in Kontact::MainWindow::selectPlugin (this=0x8f94550, 
    plugin=0xaa38880)
    at /media/kde/src/KDE/kdepim/kontact/src/mainwindow.cpp:687
#35 0xb7f6ba5a in Kontact::MainWindow::removePlugin (this=0x8f94550, 
    info=@0xb9f02c8)
    at /media/kde/src/KDE/kdepim/kontact/src/mainwindow.cpp:561
#36 0xb7f6bb83 in Kontact::MainWindow::unloadPlugins (this=0x8f94550)
    at /media/kde/src/KDE/kdepim/kontact/src/mainwindow.cpp:520
#37 0xb7f6c7b6 in Kontact::MainWindow::pluginsChanged (this=0x8f94550)
    at /media/kde/src/KDE/kdepim/kontact/src/mainwindow.cpp:887
#38 0xb7f6e9ac in Kontact::MainWindow::qt_metacall (this=0x8f94550, 
    _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0xbfac68d4)
    at /media/kde/build/KDE/kdepim/kontact/src/mainwindow.moc:119
#39 0xb6b4d86c in QMetaObject::activate (sender=0xaf5fcd8, 
    from_signal_index=83, to_signal_index=83, argv=0x0)
    at kernel/qobject.cpp:3007
#40 0xb6b4dcf9 in QMetaObject::activate (sender=0xaf5fcd8, m=0xb57e8c84, 
    local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3080
#41 0xb57d50f7 in KSettings::Dialog::pluginSelectionChanged (this=0xaf5fcd8)
    at /media/kde/build/KDE/kdelibs/kutils/dialog.moc:86
#42 0xb57d59aa in KSettings::DialogPrivate::_k_syncConfiguration (
    this=0xc00c058)
    at /media/kde/src/KDE/kdelibs/kutils/ksettings/dialog.cpp:405
#43 0xb57d5ab3 in KSettings::Dialog::qt_metacall (this=0xaf5fcd8, 
    _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfac6a34)
    at /media/kde/build/KDE/kdelibs/kutils/dialog.moc:75
#44 0xb6b4d86c in QMetaObject::activate (sender=0xaf5fcd8, 
    from_signal_index=42, to_signal_index=42, argv=0x0)
    at kernel/qobject.cpp:3007
#45 0xb6b4dcf9 in QMetaObject::activate (sender=0xaf5fcd8, m=0xb736a9e4, 
    local_signal_index=7, argv=0x0) at kernel/qobject.cpp:3080
#46 0xb718d907 in KDialog::applyClicked (this=0xaf5fcd8)
    at /media/kde/build/KDE/kdelibs/kdeui/kdialog.moc:235
#47 0xb718ef25 in KDialog::slotButtonClicked (this=0xaf5fcd8, button=8)
    at /media/kde/src/KDE/kdelibs/kdeui/dialogs/kdialog.cpp:903
#48 0xb71915e4 in KDialog::qt_metacall (this=0xaf5fcd8, 
    _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0xbfac6cac)
    at /media/kde/build/KDE/kdelibs/kdeui/kdialog.moc:181
#49 0xb724740a in KPageDialog::qt_metacall (this=0xaf5fcd8, 
    _c=QMetaObject::InvokeMetaMethod, _id=68, _a=0xbfac6cac)
    at /media/kde/build/KDE/kdelibs/kdeui/kpagedialog.moc:63
#50 0xb57c310a in KCMultiDialog::qt_metacall (this=0xaf5fcd8, 
    _c=QMetaObject::InvokeMetaMethod, _id=68, _a=0xbfac6cac)
    at /media/kde/build/KDE/kdelibs/kutils/kcmultidialog.moc:77
#51 0xb57d5a0a in KSettings::Dialog::qt_metacall (this=0xaf5fcd8, 
    _c=QMetaObject::InvokeMetaMethod, _id=68, _a=0xbfac6cac)
    at /media/kde/build/KDE/kdelibs/kutils/dialog.moc:68
#52 0xb6b4d86c in QMetaObject::activate (sender=0xc00c0a8, 
    from_signal_index=4, to_signal_index=4, argv=0xbfac6cac)
    at kernel/qobject.cpp:3007
#53 0xb6b4dcf9 in QMetaObject::activate (sender=0xc00c0a8, m=0xb6be39d8, 
    local_signal_index=0, argv=0xbfac6cac) at kernel/qobject.cpp:3080
#54 0xb6b53e58 in QSignalMapper::mapped (this=0xc00c0a8, _t1=8)
    at .moc/debug-shared/moc_qsignalmapper.cpp:93
#55 0xb6b53f1b in QSignalMapper::map (this=0xc00c0a8, sender=0xb9cc460)
    at kernel/qsignalmapper.cpp:277
#56 0xb6b5401c in QSignalMapper::map (this=0xc00c0a8)
    at kernel/qsignalmapper.cpp:268
#57 0xb6b5416f in QSignalMapper::qt_metacall (this=0xc00c0a8, 
    _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfac6e1c)
    at .moc/debug-shared/moc_qsignalmapper.cpp:80
#58 0xb6b4d86c in QMetaObject::activate (sender=0xb9cc460, 
    from_signal_index=29, to_signal_index=30, argv=0xbfac6e1c)
    at kernel/qobject.cpp:3007
#59 0xb6b4da84 in QMetaObject::activate (sender=0xb9cc460, m=0xb60845e4, 
    from_local_signal_index=2, to_local_signal_index=3, argv=0xbfac6e1c)
    at kernel/qobject.cpp:3100
#60 0xb5fa6a70 in QAbstractButton::clicked (this=0xb9cc460, _t1=false)
    at .moc/debug-shared/moc_qabstractbutton.cpp:185
#61 0xb5d090ae in QAbstractButtonPrivate::emitClicked (this=0xc072a28)
    at widgets/qabstractbutton.cpp:543
#62 0xb5d0a296 in QAbstractButtonPrivate::click (this=0xc072a28)
    at widgets/qabstractbutton.cpp:536
#63 0xb5d0a542 in QAbstractButton::mouseReleaseEvent (this=0xb9cc460, 
    e=0xbfac75a4) at widgets/qabstractbutton.cpp:1112
#64 0xb59f83c4 in QWidget::event (this=0xb9cc460, event=0xbfac75a4)
    at kernel/qwidget.cpp:6927
#65 0xb5d09049 in QAbstractButton::event (this=0xb9cc460, e=0xbfac75a4)
    at widgets/qabstractbutton.cpp:1074
#66 0xb5db8191 in QPushButton::event (this=0xb9cc460, e=0xbfac75a4)
    at widgets/qpushbutton.cpp:658
#67 0xb599c269 in QApplicationPrivate::notify_helper (this=0x8f34738, 
    receiver=0xb9cc460, e=0xbfac75a4) at kernel/qapplication.cpp:3772
#68 0xb599cde7 in QApplication::notify (this=0xbfac7d58, receiver=0xb9cc460, 
    e=0xbfac75a4) at kernel/qapplication.cpp:3501
#69 0xb721ba11 in KApplication::notify (this=0xbfac7d58, receiver=0xb9cc460, 
    event=0xbfac75a4)
    at /media/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:311
#70 0xb6b3926b in QCoreApplication::notifyInternal (this=0xbfac7d58, 
    receiver=0xb9cc460, event=0xbfac75a4) at kernel/qcoreapplication.cpp:583
#71 0xb7b6e1c3 in QCoreApplication::sendSpontaneousEvent (receiver=0xb9cc460, 
    event=0xbfac75a4)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#72 0xb59a0bb0 in QApplicationPrivate::sendMouseEvent (receiver=0xb9cc460, 
    event=0xbfac75a4, alienWidget=0xb9cc460, nativeWidget=0xaf5fcd8, 
    buttonDown=0xb6091c20, lastMouseReceiver=@0xb6091c24)
    at kernel/qapplication.cpp:2766
#73 0xb5a167d2 in QETWidget::translateMouseEvent (this=0xaf5fcd8, 
    event=0xbfac7a90) at kernel/qapplication_x11.cpp:4133
#74 0xb5a174f7 in QApplication::x11ProcessEvent (this=0xbfac7d58, 
    event=0xbfac7a90) at kernel/qapplication_x11.cpp:3133
#75 0xb5a408de in x11EventSourceDispatch (s=0x8f37590, callback=0, 
    user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#76 0xb53ac978 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#77 0xb53afbce in ?? () from /usr/lib/libglib-2.0.so.0
#78 0x08f36860 in ?? ()
#79 0x00000000 in ?? ()
#0  0xb7fad430 in __kernel_vsyscall ()
Comment 2 Rafael Fernández López 2008-06-09 20:27:53 UTC
SVN commit 818811 by ereslibre:

Add some useful checks on the model. The most important thing here is that Kontact now doesn't crash when a module is unloaded, even if it is the current one which is loaded. The most important change
in here is the deleteLater(), which will delete the plugin after the model has been updated and the model won't try to access to an invalid pointer.

BUG: 163442


 M  +14 -1     iconsidepane.cpp  
 M  +1 -1      mainwindow.cpp  


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