Bug 375458

Summary: Plasma crashes when enabling a calendar in the PIM Events Plugin
Product: [Plasma] plasmashell Reporter: court <courthicks1>
Component: CalendarAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: bhush94, notmart, plasma-bugs, rdieter
Priority: NOR Keywords: drkonqi
Version: 5.8.5   
Target Milestone: 1.0   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description court 2017-01-23 16:25:46 UTC
Application: plasmashell (5.8.5)

Qt Version: 5.7.1
Frameworks Version: 5.29.0
Operating System: Linux 4.9.4-201.fc25.x86_64 x86_64
Distribution: "Fedora release 25 (Twenty Five)"

-- Information about the crash:
- What I was doing when the application crashed:
I was adding a calendar to the digital clock widget on my toolbar via the PIM Events Plugin

- Unusual behavior I noticed:
Hitting apply would lock up plasma until it crashed and reloaded. The calendar still does not load into the plugin

- Custom settings of the application:
My own personal CalDAV to add to the clock widget, but that's it

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f42b48ef4c0 (LWP 1701))]

Thread 12 (Thread 0x7f41c7fff700 (LWP 2681)):
#0  0x00007f42bb7033de in g_private_get () at /lib64/libglib-2.0.so.0
#1  0x00007f42bb6e6000 in g_thread_self () at /lib64/libglib-2.0.so.0
#2  0x00007f42bb6be25d in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f42c372173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f42c36d273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f42c352f5f3 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f42c35339da in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f42c1c706ca in start_thread () at /lib64/libpthread.so.0
#8  0x00007f42c2926f7f in clone () at /lib64/libc.so.6

Thread 11 (Thread 0x7f41cdc6d700 (LWP 2674)):
#0  0x00007f42c291b01d in poll () at /lib64/libc.so.6
#1  0x00007f42bb6be156 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f42bb6be26c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f42c372173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f42c36d273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f42c352f5f3 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f42c67a04e5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#7  0x00007f42c35339da in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f42c1c706ca in start_thread () at /lib64/libpthread.so.0
#9  0x00007f42c2926f7f in clone () at /lib64/libc.so.6

Thread 10 (Thread 0x7f41e3ca9700 (LWP 2321)):
#0  0x00007f42bb703814 in g_mutex_unlock () at /lib64/libglib-2.0.so.0
#1  0x00007f42bb6bdffd in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f42bb6be26c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f42c372173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f42c36d273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f42c352f5f3 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f41daa402c7 in KCupsConnection::run() () at /lib64/libkcupslib.so
#7  0x00007f42c35339da in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f42c1c706ca in start_thread () at /lib64/libpthread.so.0
#9  0x00007f42c2926f7f in clone () at /lib64/libc.so.6

Thread 9 (Thread 0x7f41ea3e5700 (LWP 2193)):
#0  0x00007f42bb6bdba1 in g_main_context_check () at /lib64/libglib-2.0.so.0
#1  0x00007f42bb6be0f4 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f42bb6be26c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f42c372173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f42c36d273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f42c352f5f3 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f42c35339da in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f42c1c706ca in start_thread () at /lib64/libpthread.so.0
#8  0x00007f42c2926f7f in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f420b617700 (LWP 2190)):
#0  0x00007f42bb6bb1e7 in g_source_iter_next () at /lib64/libglib-2.0.so.0
#1  0x00007f42bb6bdac4 in g_main_context_check () at /lib64/libglib-2.0.so.0
#2  0x00007f42bb6be0f4 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#3  0x00007f42bb6be26c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#4  0x00007f42c372173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f42c36d273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f42c352f5f3 in QThread::exec() () at /lib64/libQt5Core.so.5
#7  0x00007f42c35339da in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f42c1c706ca in start_thread () at /lib64/libpthread.so.0
#9  0x00007f42c2926f7f in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f420ae16700 (LWP 2063)):
#0  0x00007f42c291b01d in poll () at /lib64/libc.so.6
#1  0x00007f42bb6be156 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f42bb6be26c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f42c372173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f42c36d273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f42c352f5f3 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f42c71298b6 in QQuickPixmapReader::run() () at /lib64/libQt5Quick.so.5
#7  0x00007f42c35339da in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f42c1c706ca in start_thread () at /lib64/libpthread.so.0
#9  0x00007f42c2926f7f in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f4294c94700 (LWP 2013)):
#0  0x00007f42c1c76460 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f42c8fdb2f4 in QTWTF::TCMalloc_PageHeap::scavengerThread() () at /lib64/libQt5Script.so.5
#2  0x00007f42c8fdb339 in  () at /lib64/libQt5Script.so.5
#3  0x00007f42c1c706ca in start_thread () at /lib64/libpthread.so.0
#4  0x00007f42c2926f7f in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f42a1987700 (LWP 1960)):
#0  0x00007f42c291b01d in poll () at /lib64/libc.so.6
#1  0x00007f42bb6be156 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f42bb6be26c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f42c372173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f42c36d273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f42c352f5f3 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f42c67a04e5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#7  0x00007f42c35339da in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f42c1c706ca in start_thread () at /lib64/libpthread.so.0
#9  0x00007f42c2926f7f in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f42a31e2700 (LWP 1836)):
#0  0x00007f42c2935712 in clock_gettime () at /lib64/libc.so.6
#1  0x00007f42c35caaf1 in qt_gettime() () at /lib64/libQt5Core.so.5
#2  0x00007f42c371fde9 in QTimerInfoList::updateCurrentTime() () at /lib64/libQt5Core.so.5
#3  0x00007f42c37201e5 in QTimerInfoList::timerWait(timespec&) () at /lib64/libQt5Core.so.5
#4  0x00007f42c37213dc in timerSourcePrepareHelper(GTimerSource*, int*) () at /lib64/libQt5Core.so.5
#5  0x00007f42c37214a5 in timerSourcePrepare(_GSource*, int*) () at /lib64/libQt5Core.so.5
#6  0x00007f42bb6bd699 in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#7  0x00007f42bb6be07b in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#8  0x00007f42bb6be26c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#9  0x00007f42c372173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#10 0x00007f42c36d273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#11 0x00007f42c352f5f3 in QThread::exec() () at /lib64/libQt5Core.so.5
#12 0x00007f42c67a04e5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#13 0x00007f42c35339da in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#14 0x00007f42c1c706ca in start_thread () at /lib64/libpthread.so.0
#15 0x00007f42c2926f7f in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f42a8e15700 (LWP 1784)):
#0  0x00007f42c291b01d in poll () at /lib64/libc.so.6
#1  0x00007f42bb6be156 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f42bb6be26c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f42c372173b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f42c36d273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f42c352f5f3 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f42c3dcf739 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#7  0x00007f42c35339da in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f42c1c706ca in start_thread () at /lib64/libpthread.so.0
#9  0x00007f42c2926f7f in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f42aa404700 (LWP 1741)):
#0  0x00007f42c291b01d in poll () at /lib64/libc.so.6
#1  0x00007f42c78e6d10 in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007f42c78e8aa9 in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007f42adc59d69 in QXcbEventReader::run() () at /lib64/libQt5XcbQpa.so.5
#4  0x00007f42c35339da in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f42c1c706ca in start_thread () at /lib64/libpthread.so.0
#6  0x00007f42c2926f7f in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f42b48ef4c0 (LWP 1701)):
[KCrash Handler]
#6  0x00007f42c285491f in raise () at /lib64/libc.so.6
#7  0x00007f42c285651a in abort () at /lib64/libc.so.6
#8  0x00007f42c319652d in __gnu_cxx::__verbose_terminate_handler() () at /lib64/libstdc++.so.6
#9  0x00007f42c31942d6 in  () at /lib64/libstdc++.so.6
#10 0x00007f42c3194321 in  () at /lib64/libstdc++.so.6
#11 0x00007f42c3194539 in  () at /lib64/libstdc++.so.6
#12 0x00007f42c3194afc in  () at /lib64/libstdc++.so.6
#13 0x00007f42c35875e1 in QHashData::rehash(int) () at /lib64/libQt5Core.so.5
#14 0x00007f41eb61da20 in EventDataVisitor::insertResult(CalendarEvents::EventData const&) () at /usr/lib64/qt5/plugins/plasmacalendarplugins/pimevents.so
#15 0x00007f41eb61e6a3 in EventDataVisitor::visit(QSharedPointer<KCalCore::Incidence> const&, CalendarEvents::EventData::EventType) () at /usr/lib64/qt5/plugins/plasmacalendarplugins/pimevents.so
#16 0x00007f41eb61ea68 in EventDataVisitor::visit(QSharedPointer<KCalCore::Todo> const&) () at /usr/lib64/qt5/plugins/plasmacalendarplugins/pimevents.so
#17 0x00007f41f1c715a0 in KCalCore::Todo::accept(KCalCore::Visitor&, QSharedPointer<KCalCore::IncidenceBase> const&) () at /lib64/libKF5CalendarCore.so.5
#18 0x00007f41eb61f24d in BaseEventDataVisitor::act(QSharedPointer<KCalCore::Incidence> const&) () at /usr/lib64/qt5/plugins/plasmacalendarplugins/pimevents.so
#19 0x00007f41eb618f09 in PimEventsPlugin::calendarIncidenceAdded(QSharedPointer<KCalCore::Incidence> const&) () at /usr/lib64/qt5/plugins/plasmacalendarplugins/pimevents.so
#20 0x00007f41f1c09fd8 in KCalCore::Calendar::notifyIncidenceAdded(QSharedPointer<KCalCore::Incidence> const&) () at /lib64/libKF5CalendarCore.so.5
#21 0x00007f41f1c50e80 in KCalCore::MemoryCalendar::addIncidence(QSharedPointer<KCalCore::Incidence> const&) () at /lib64/libKF5CalendarCore.so.5
#22 0x00007f41ead13ffd in Akonadi::CalendarBasePrivate::internalInsert(Akonadi::Item const&) () at /lib64/libKF5AkonadiCalendar.so.5
#23 0x00007f41ead14c09 in Akonadi::CalendarBasePrivate::slotCreateFinished(int, Akonadi::Item const&, Akonadi::IncidenceChanger::ResultCode, QString const&) () at /lib64/libKF5AkonadiCalendar.so.5
#24 0x00007f42c36faae6 in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#25 0x00007f41ead7f3a6 in Akonadi::IncidenceChanger::createFinished(int, Akonadi::Item const&, Akonadi::IncidenceChanger::ResultCode, QString const&) () at /lib64/libKF5AkonadiCalendar.so.5
#26 0x00007f41eb61ffc0 in EventModel::onItemsReceived(QVector<Akonadi::Item> const&) () at /usr/lib64/qt5/plugins/plasmacalendarplugins/pimevents.so
#27 0x00007f42c36faae6 in QMetaObject::activate(QObject*, int, int, void**) () at /lib64/libQt5Core.so.5
#28 0x00007f42095401b2 in Akonadi::ItemFetchJob::itemsReceived(QVector<Akonadi::Item> const&) () at /lib64/libKF5AkonadiCore.so.5
#29 0x00007f420954232b in Akonadi::ItemFetchJobPrivate::aboutToFinish() () at /lib64/libKF5AkonadiCore.so.5
#30 0x00007f420954a885 in Akonadi::JobPrivate::delayedEmitResult() () at /lib64/libKF5AkonadiCore.so.5
#31 0x00007f420954b619 in Akonadi::Job::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /lib64/libKF5AkonadiCore.so.5
#32 0x00007f42c36fb879 in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#33 0x00007f42c3f9fecc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#34 0x00007f42c3fa7671 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#35 0x00007f42c36d37aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#36 0x00007f42c36d5e90 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#37 0x00007f42c37216a3 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#38 0x00007f42bb6bde42 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#39 0x00007f42bb6be1c0 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#40 0x00007f42bb6be26c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#41 0x00007f42c372171f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#42 0x00007f42c36d273a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#43 0x00007f42c36da23c in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#44 0x00005637931d1452 in main ()

Reported using DrKonqi
Comment 1 court 2017-01-23 16:36:36 UTC
I should also add that after the crash, my CPU usage went to 100%, and my memory and swap filled up entirely
Comment 2 court 2017-01-26 04:37:34 UTC
I really want to jump on this one. I hope someone is looking at this. I just had the same thing happen on Fedora 24 with plasma 5.8.5 and I was able to watch what happens with ksysguard open:

RAM fills entirely (filled 16GB in a matter of seconds), CPU spikes to 100%, swap fills up entirely and then plasmashell crashes. I have the PIM events plugin enabled in the digital clock widget and now all I have to do is click it to pull up the calendar view and it does exactly what I described
Comment 3 court 2017-01-26 04:55:22 UTC
Did some more testing, and Nextcloud is the culprit. Tried doing CalDAV with my Google account and I didn't have the issue, tried with CalDAV from Nextcloud and it caused this
Comment 4 Marco Martin 2017-01-26 16:22:19 UTC

*** This bug has been marked as a duplicate of bug 375395 ***