Version: unspecified (using KDE 4.7.0) OS: Linux Korganizer makes plasma crash when deleting a suspended reminder Reproducible: Always Steps to Reproduce: * Create an event that starts in 17 minutes * Add a reminder to bug you 15 min before the event * Wait until the reminder dialog pops up * When the dialog shows up suspend the reminder for 5 min * Click on the event and press the delete key and confirm you want to delete the event * See how plasma crashes Expected Results: * Plasma does not crash OS: Linux (x86_64) release 2.6.39-ARCH Compiler: gcc
I can't reproduce this. Tested archlinux packages and master. Can you try to reproduce without the korgac step ? I don't think plasma knows about the reminder daemon, so suspending shouldn't influence plasma.
Hmmm, i can also make it crash by adding and deleting events continously, attaching gdb doesn't give anything helpful #0 0x00007f7d1703b795 in raise () from /lib/libc.so.6 #1 0x00007f7d1703cc0b in abort () from /lib/libc.so.6 #2 0x00007f7d17426e6d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6 #3 0x00007f7d17425016 in ?? () from /usr/lib/libstdc++.so.6 #4 0x00007f7d17425043 in std::terminate() () from /usr/lib/libstdc++.so.6 #5 0x00007f7d17425186 in __cxa_rethrow () from /usr/lib/libstdc++.so.6 #6 0x00007f7d186680ee in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #7 0x00007f7d1866c1ab in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #8 0x00007f7d08735f83 in kdemain () from /usr/lib/libkdeinit4_plasma-desktop.so #9 0x0000000000408102 in _start ()
Starting plasma-desktop from the shell says Qt has caught an exception thrown from an event handler. Throwing exceptions from an event handler is not supported in Qt. You must reimplement QApplication::notify() and catch all exceptions there. terminate called after throwing an instance of 'Akonadi::PayloadException' what(): Akonadi::PayloadException: No payload set
Try starting plasma-desktop through gdb, and setting a breakpoint in __cxa_throw before making it crash.
#0 0x00007f84962020e0 in __cxa_throw () from /usr/lib/libstdc++.so.6 #1 0x00007f8478e278ba in Akonadi::Item::throwPayloadException(int, int) const () from /usr/lib/libakonadi-kde.so.4 #2 0x00007f84796c74cf in QSharedPointer<KCalCore::Incidence> Akonadi::Item::payload<QSharedPointer<KCalCore::Incidence> >() const () from /usr/lib/kde4/plasma_engine_calendar.so #3 0x00007f84796c0848 in ?? () from /usr/lib/kde4/plasma_engine_calendar.so #4 0x00007f84796c1b3d in ?? () from /usr/lib/kde4/plasma_engine_calendar.so #5 0x00007f84796a6464 in ?? () from /usr/lib/kde4/plasma_engine_calendar.so #6 0x00007f84974587fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #7 0x00007f84974a11e4 in QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) () from /usr/lib/libQtCore.so.4 #8 0x00007f84974400d8 in QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) () from /usr/lib/libQtCore.so.4 #9 0x00007f8478e0e13c in ?? () from /usr/lib/libakonadi-kde.so.4 #10 0x00007f8478dff527 in Akonadi::EntityTreeModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4 #11 0x00007f84974587fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #12 0x00007f8478e48935 in Akonadi::Monitor::itemRemoved(Akonadi::Item const&) () from /usr/lib/libakonadi-kde.so.4 #13 0x00007f8478e4d26c in ?? () from /usr/lib/libakonadi-kde.so.4 #14 0x00007f8478e4e2a2 in ?? () from /usr/lib/libakonadi-kde.so.4 #15 0x00007f8478db30d1 in ?? () from /usr/lib/libakonadi-kde.so.4 #16 0x00007f8478e4dfe5 in ?? () from /usr/lib/libakonadi-kde.so.4 #17 0x00007f8478e4ef84 in ?? () from /usr/lib/libakonadi-kde.so.4 #18 0x00007f8478db3397 in ?? () from /usr/lib/libakonadi-kde.so.4 #19 0x00007f8478e48f95 in Akonadi::Monitor::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4 #20 0x00007f8478db1628 in Akonadi::ChangeRecorder::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4 #21 0x00007f84974587fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #22 0x00007f8478ec4502 in ?? () from /usr/lib/libakonadi-kde.so.4 #23 0x00007f8478ec4551 in ?? () from /usr/lib/libakonadi-kde.so.4 #24 0x00007f84942bc7c2 in ?? () from /usr/lib/libQtDBus.so.4 #25 0x00007f84942c60bf in ?? () from /usr/lib/libQtDBus.so.4 #26 0x00007f849745c39e in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #27 0x00007f8496606174 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #28 0x00007f849660afe1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #29 0x00007f84981e3226 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #30 0x00007f8497445bbc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #31 0x00007f8497448f2f in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 #32 0x00007f8497470413 in ?? () from /usr/lib/libQtCore.so.4 #33 0x00007f8492efd29d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #34 0x00007f8492efda78 in ?? () from /usr/lib/libglib-2.0.so.0 #35 0x00007f8492efdd09 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #36 0x00007f8497470876 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #37 0x00007f84966a91be in ?? () from /usr/lib/libQtGui.so.4 #38 0x00007f8497444db2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #39 0x00007f8497444fb7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #40 0x00007f84974491ab in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #41 0x00007f8487512f83 in kdemain () from /usr/lib/libkdeinit4_plasma-desktop.so #42 0x0000000000408102 in _start () So probably needs to be reassinged?
When using the debug build of the plasma dataengine it asserts instead of throwing the exception ASSERT: "oldItem.hasPayload<KCalCore::Incidence::Ptr>()" in file /home/kdestable/kde-workspace/plasma/generic/dataengines/calendar/akonadi/calendar.cpp, line 591 Program received signal SIGABRT, Aborted. 0x00007ffff7619795 in raise () from /lib/libc.so.6 (gdb) bt #0 0x00007ffff7619795 in raise () from /lib/libc.so.6 #1 0x00007ffff761ac0b in abort () from /lib/libc.so.6 #2 0x00007ffff4497a2f in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4 #3 0x00007ffff4497baf in ?? () from /usr/lib/libQtCore.so.4 #4 0x00007ffff4497d54 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4 #5 0x00007fffd80979aa in CalendarSupport::Calendar::Private::itemsRemoved (this=0xf78970, items=...) at /home/kdestable/kde-workspace/plasma/generic/dataengines/calendar/akonadi/calendar.cpp:591 #6 0x00007fffd8093c48 in CalendarSupport::Calendar::Private::rowsAboutToBeRemoved (this=0xf78970, parent=..., start=0, end=0) at /home/kdestable/kde-workspace/plasma/generic/dataengines/calendar/akonadi/calendar.cpp:128 #7 0x00007fffd808527a in CalendarSupport::Calendar::Private::qt_metacall (this=0xf78970, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffffffca80) at /home/kdestable/build/kde-workspace/plasma/generic/dataengines/calendar/moc_calendar_p.cpp:152 #8 0x00007ffff459a7fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #9 0x00007ffff45e31e4 in QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) () from /usr/lib/libQtCore.so.4 #10 0x00007ffff45820d8 in QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) () from /usr/lib/libQtCore.so.4 #11 0x00007fffd7510a6f in Akonadi::EntityTreeModelPrivate::monitoredItemRemoved (this=0xf9da70, item=...) at /home/kdestable/kdepimlibs/akonadi/entitytreemodel_p.cpp:1020 #12 0x00007fffd7508267 in Akonadi::EntityTreeModel::qt_metacall (this=0xfb3360, _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0x7fffffffcd50) at /home/kdestable/build/kdepimlibs/akonadi/entitytreemodel.moc:168 #13 0x00007fffd8085476 in CalendarSupport::CalendarModel::qt_metacall (this=0xfb3360, _c=QMetaObject::InvokeMetaMethod, _id=50, _a=0x7fffffffcd50) at /home/kdestable/build/kde-workspace/plasma/generic/dataengines/calendar/moc_calendarmodel.cpp:66 #14 0x00007ffff459a7fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #15 0x00007fffd75515e5 in Akonadi::Monitor::itemRemoved (this=0xa8dbb0, _t1=...) at /home/kdestable/build/kdepimlibs/akonadi/monitor.moc:190 #16 0x00007fffd755521d in Akonadi::MonitorPrivate::emitItemNotification (this=0xfd8020, msg=..., item=..., collection=..., collectionDest=...) at /home/kdestable/kdepimlibs/akonadi/monitor_p.cpp:525 #17 0x00007fffd7553a9b in Akonadi::MonitorPrivate::emitNotification (this=0xfd8020, msg=...) at /home/kdestable/kdepimlibs/akonadi/monitor_p.cpp:284 #18 0x00007fffd74bd2fe in Akonadi::ChangeRecorderPrivate::emitNotification (this=0xfd8020, msg=...) at /home/kdestable/kdepimlibs/akonadi/changerecorder_p.h:60 #19 0x00007fffd755472c in Akonadi::MonitorPrivate::dispatchNotifications (this=0xfd8020) at /home/kdestable/kdepimlibs/akonadi/monitor_p.cpp:443 #20 0x00007fffd7554575 in Akonadi::MonitorPrivate::slotNotify (this=0xfd8020, msgs=...) at /home/kdestable/kdepimlibs/akonadi/monitor_p.cpp:414 #21 0x00007fffd74bd27e in Akonadi::ChangeRecorderPrivate::slotNotify (this=0xfd8020, msgs=...) at /home/kdestable/kdepimlibs/akonadi/changerecorder_p.h:51 #22 0x00007fffd7551432 in Akonadi::Monitor::qt_metacall (this=0xa8dbb0, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0x7fffffffd390) at /home/kdestable/build/kdepimlibs/akonadi/monitor.moc:155 #23 0x00007fffd74bcb5e in Akonadi::ChangeRecorder::qt_metacall (this=0xa8dbb0, _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0x7fffffffd390) at /home/kdestable/build/kdepimlibs/akonadi/changerecorder.moc:72 #24 0x00007ffff459a7fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #25 0x00007fffd75c7bf5 in OrgFreedesktopAkonadiNotificationSourceInterface::notify (this=0xc342c0, _t1=...) at /home/kdestable/build/kdepimlibs/akonadi/notificationsourceinterface.moc:91 #26 0x00007fffd75c7b41 in OrgFreedesktopAkonadiNotificationSourceInterface::qt_metacall (this=0xc342c0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffffd440) at /home/kdestable/build/kdepimlibs/akonadi/notificationsourceinterface.moc:77 #27 0x00007ffff48d77c2 in ?? () from /usr/lib/libQtDBus.so.4 #28 0x00007ffff48e10bf in ?? () from /usr/lib/libQtDBus.so.4 #29 0x00007ffff459e39e in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #30 0x00007ffff3748174 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #31 0x00007ffff374cfe1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #32 0x00007ffff530b81b in KApplication::notify (this=0x6ba6b0, receiver=0xc342c0, event=0x12a8860) at /home/kdestable/kdelibs/kdeui/kernel/kapplication.cpp:311 #33 0x00007ffff4587bbc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #34 0x00007ffff458af2f in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 #35 0x00007ffff45b2413 in ?? () from /usr/lib/libQtCore.so.4 #36 0x00007fffea85429d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #37 0x00007fffea854a78 in ?? () from /usr/lib/libglib-2.0.so.0 #38 0x00007fffea854d09 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #39 0x00007ffff45b2876 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #40 0x00007ffff37eb1be in ?? () from /usr/lib/libQtGui.so.4 #41 0x00007ffff4586db2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #42 0x00007ffff4586fb7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #43 0x00007ffff458b1ab in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #44 0x00007ffff7b98f83 in kdemain () from /usr/lib/libkdeinit4_plasma-desktop.so #45 0x00007ffff760617d in __libc_start_main () from /lib/libc.so.6 #46 0x0000000000400611 in _start ()
Albert, is this still happening?
Sadly i had to stop using korganizer as it did not work at all for me, but anyway now when adding and deleting events continously i get to a situation plasma says "Could not load personal calendar" instead of crashing.
so I will close this then since the original bug is not happening.