Bug 180007 - Crash after disabling/re-enabling a plugin
Summary: Crash after disabling/re-enabling a plugin
Status: RESOLVED FIXED
Alias: None
Product: kontact
Classification: Applications
Component: general (show other bugs)
Version: 1.3
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-08 10:59 UTC by Christophe Marin
Modified: 2009-05-24 01:16 UTC (History)
2 users (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 Christophe Marin 2009-01-08 10:59:46 UTC
Version:           1.3 (using Devel)
Compiler:          gcc
OS:                Linux (i686) release 2.6.27.7-9-default
Installed from:    Compiled sources

svn rev. 907493

Testcase :

1/ Open the Kontact settings,
2/ Disable Calendar + Apply
3/ Enable Calendar + Apply

(also valid for the other plugins)

=> Crash.

Application: Kontact (kontact), signal SIGSEGV
[?1034h[Thread debugging using libthread_db enabled]
[Current thread is 1 (Thread 0xb4a94700 (LWP 10685))]

Thread 1 (Thread 0xb4a94700 (LWP 10685)):
[KCrash Handler]
#6  0x087589c0 in ?? ()
#7  0xb7994f4b in Kontact::MainWindow::pluginActionWeightLessThan (left=0x83496d8, right=0x8842488) at /home/krop/kde/src/KDE/kdepim/kontact/src/mainwindow.cpp:292
#8  0xb799c1f3 in QAlgorithmsPrivate::qSortHelper<QList<QAction*>::iterator, QAction*, bool (*)(QAction const*, QAction const*)> (start={i = 0xbf8c76d0}, end={i = 0xbf8c76cc}, t=@0x8645440, 
    lessThan=0xb7994eea <Kontact::MainWindow::pluginActionWeightLessThan(QAction const*, QAction const*)>) at /usr/include/QtCore/qalgorithms.h:393
#9  0xb799c3b8 in qSort<QList<QAction*>::iterator, bool (*)(QAction const*, QAction const*)> (start={i = 0xbf8c776c}, end={i = 0xbf8c7768}, 
    lessThan=0xb7994eea <Kontact::MainWindow::pluginActionWeightLessThan(QAction const*, QAction const*)>) at /usr/include/QtCore/qalgorithms.h:200
#10 0xb7996550 in Kontact::MainWindow::addPlugin (this=0x80fd320, plugin=0x8792410) at /home/krop/kde/src/KDE/kdepim/kontact/src/mainwindow.cpp:663
#11 0xb7997b24 in Kontact::MainWindow::loadPlugins (this=0x80fd320) at /home/krop/kde/src/KDE/kdepim/kontact/src/mainwindow.cpp:551
#12 0xb7997c1a in Kontact::MainWindow::pluginsChanged (this=0x80fd320) at /home/krop/kde/src/KDE/kdepim/kontact/src/mainwindow.cpp:1015
#13 0xb799a4f1 in Kontact::MainWindow::qt_metacall (this=0x80fd320, _c=QMetaObject::InvokeMetaMethod, _id=19, _a=0xbf8c79b8) at /home/krop/kde/build/KDE/kdepim/kontact/src/mainwindow.moc:125
#14 0xb687e580 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#15 0xb687f302 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#16 0xb572b6e7 in KSettings::Dialog::pluginSelectionChanged() () from /usr/lib/libkutils.so.4
#17 0xb572bbe4 in ?? () from /usr/lib/libkutils.so.4
#18 0xb5730b16 in KSettings::Dialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkutils.so.4
#19 0xb687e580 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#20 0xb687f302 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#21 0xb6d72e97 in KDialog::applyClicked() () from /usr/lib/libkdeui.so.5
#22 0xb6d75805 in KDialog::slotButtonClicked(int) () from /usr/lib/libkdeui.so.5
#23 0xb6d76c74 in KDialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#24 0xb6e348ea in KPageDialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#25 0xb571975a in KCMultiDialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkutils.so.4
#26 0xb5730aaa in KSettings::Dialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkutils.so.4
#27 0xb687e580 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#28 0xb687f302 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#29 0xb6882393 in QSignalMapper::mapped(int) () from /usr/lib/libQtCore.so.4
#30 0xb6882c1d in QSignalMapper::map(QObject*) () from /usr/lib/libQtCore.so.4
#31 0xb6882e0e in QSignalMapper::map() () from /usr/lib/libQtCore.so.4
#32 0xb688374b in QSignalMapper::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#33 0xb687e580 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#34 0xb687e980 in QMetaObject::activate(QObject*, QMetaObject const*, int, int, void**) () from /usr/lib/libQtCore.so.4
#35 0xb63eb5e1 in QAbstractButton::clicked(bool) () from /usr/lib/libQtGui.so.4
#36 0xb613ed59 in ?? () from /usr/lib/libQtGui.so.4
#37 0xb61408d4 in ?? () from /usr/lib/libQtGui.so.4
#38 0xb6140b66 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#39 0xb5e56a62 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#40 0xb613ebfe in QAbstractButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#41 0xb61e52b0 in QPushButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#42 0xb5dfe8fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#43 0xb5e07111 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#44 0xb6e0592d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#45 0xb6869961 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#46 0xb5e0639e in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) () from /usr/lib/libQtGui.so.4
#47 0xb5e70746 in ?? () from /usr/lib/libQtGui.so.4
#48 0xb5e6faf5 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#49 0xb5e980ba in ?? () from /usr/lib/libQtGui.so.4
#50 0xb52159a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#51 0xb5219063 in ?? () from /usr/lib/libglib-2.0.so.0
#52 0xb5219221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#53 0xb6893fb8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#54 0xb5e977b5 in ?? () from /usr/lib/libQtGui.so.4
#55 0xb686801a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#56 0xb68681da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#57 0xb686a895 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#58 0xb5dfe777 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#59 0x0804babb in main (argc=-1265224288, argv=0xb49635a2) at /home/krop/kde/src/KDE/kdepim/kontact/src/main.cpp:218
Comment 1 Sergio Martins 2009-04-01 23:50:13 UTC
SVN commit 947994 by smartins:

Fix plugin loading and/or unloading segfault.

CCMAIL: ereslibre@kde.org
CCBUG: 180007


 M  +4 -6      mainwindow.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=947994
Comment 2 Dario Andres 2009-05-24 00:05:04 UTC
Here using:

Qt: 4.5.1 (qt-copy  958974)
KDE: 4.2.87 (KDE 4.2.87 (KDE 4.3 >= 20090519))
kdelibs svn rev. 971894 / kdebase svn rev. 971894
kdepim svn rev. 971976
on ArchLinux i686 - Kernel 2.6.29.3

I can't reproduce the crash with the provided steps. Can you confirm this?

Thanks
Comment 3 Christophe Marin 2009-05-24 01:16:05 UTC
No, looks fine now.