Bug 273676

Summary: Plasma-desktop crashes regularly (again suspect Akonadi and remote iCal)
Product: [Frameworks and Libraries] Akonadi Reporter: Matija Šuklje <matija>
Component: libakonadiAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: aseigo, david.narvaez, smartins
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Matija Šuklje 2011-05-19 22:55:22 UTC
Application: plasma-desktop (0.4)
KDE Platform Version: 4.6.2 (4.6.2)
Qt Version: 4.7.2
Operating System: Linux 2.6.36-gentoo-r5 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:

Just using KDE in a normal way or even let it idle. After a certain amount of time plasma-desktop crashes and restarts. After about the same amount of time this is repeated. Ths interval is somewhat correlating with the interval of my remote calendars refreshing.

When trying to replicate the crash I figured out that if in Akonadi Console I disconnect and (re)connect one of my remote calendars:
webcal://fsfe.org/events/events.en.ics

What's addtionally odd is that doing the same with my other remote calendar does *not* trigger the crash:
webcal://www.kiberpipa.org/sl/calendar/ical/

- Unusual behavior I noticed:

Just before plasma-desktop crashes, the Eventlist plasmoid seems like it is redrawing. That's why I suspect Akonadi has something to do with it.

- Custom settings of the application:

In Akonadi/Kontact/KOrganizer/Eventlist I have a few local iCal (including one generated by KMyMoney), two remote (see above) iCal loaded.

plasmoids in panels:
 * task timer
 * battery monitor
 * system 
 * analog clock
 * pastebin

plasmoids in activity:
 * eventlist
 * wallpaper clock

plasmoids in another activity, that happaned to be running at the same time when I wrote this crash, but I managed to replicate this bug many times with just the above activity:
 * tab group with a few tail plasmoids
 * akonotes
 * hardware monitor (stock KDE): temperature, CPU usage, RAM usage
 * uptime
 * load average
 * scripted image

relevant versions (all from Gentoo portage):
 * plasma-workspace (kde workspace) pulled from Git Revision 2ce0f3a5
https://projects.kde.org/projects/kde/kdebase/kde-workspace/repository/revisions/2ce0f3a54915742f929d52b81653f8fc153a8fb8 ← Gentoo's KDE repository
 * KDEPIM 4.5.96 ← Gentoo's KDE repository
 * rest of KDE 4.6.2 ← official Gentoo (stable) repository

The crash can be reproduced every time.

-- Backtrace:
Application: Delovno okolje Plasma Desktop (plasma-desktop), signal: Aborted
[Current thread is 1 (Thread 0x7f78e595d780 (LWP 30925))]

Thread 9 (Thread 0x7f78bfaab700 (LWP 30926)):
#0  0x00007f78e2004045 in __pthread_mutex_lock (mutex=0x3141ae8) at pthread_mutex_lock.c:61
#1  0x00007f78d91b73fe in g_main_context_iterate (context=0x3141ae0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3097
#2  0x00007f78d91b77ec in g_main_context_iteration (context=0x3141ae0, may_block=1) at gmain.c:3154
#3  0x00007f78e23b0e76 in QEventDispatcherGlib::processEvents (this=0x31179c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f78e2383a92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f78e2383e74 in QEventLoop::exec (this=0x7f78bfaaadc0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f78e229049d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#7  0x00007f78e2363aa8 in QInotifyFileSystemWatcherEngine::run (this=0x31168c0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f78e22934c5 in QThreadPrivate::start (arg=0x31168c0) at thread/qthread_unix.cpp:320
#9  0x00007f78e2001914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#10 0x00007f78e529341d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 8 (Thread 0x7f78b0175700 (LWP 30934)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f78e229408b in wait (this=<value optimized out>, mutex=0x3969c30, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x3969c30, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f78c8f1b92c in ?? () from /usr/lib64/python2.7/site-packages/PyQt4/QtCore.so
#4  0x00007f78c95b42e3 in call_function (f=0x3f01930, throwflag=<value optimized out>) at Python/ceval.c:4012
#5  PyEval_EvalFrameEx (f=0x3f01930, throwflag=<value optimized out>) at Python/ceval.c:2665
#6  0x00007f78c95b5bd0 in PyEval_EvalCodeEx (co=0x3d29eb0, globals=<value optimized out>, locals=<value optimized out>, args=0x0, argcount=0, kws=<value optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3252
#7  0x00007f78c9540e21 in function_call (func=0x3d332a8, arg=0x234c950, kw=0x0) at Objects/funcobject.c:526
#8  0x00007f78c9518542 in PyObject_Call (func=0x3d332a8, arg=0x80, kw=0xbb) at Objects/abstract.c:2529
#9  0x00007f78c952b17d in instancemethod_call (func=0x3d332a8, arg=0x234c950, kw=0x0) at Objects/classobject.c:2578
#10 0x00007f78c9518542 in PyObject_Call (func=0x1e9b5f0, arg=0x80, kw=0xbb) at Objects/abstract.c:2529
#11 0x00007f78c95adab2 in PyEval_CallObjectWithKeywords (func=0x1e9b5f0, arg=0x1d94050, kw=0xbb) at Python/ceval.c:3881
#12 0x00007f78c8c588eb in ?? () from /usr/lib64/python2.7/site-packages/sip.so
#13 0x00007f78c8efc4d7 in ?? () from /usr/lib64/python2.7/site-packages/PyQt4/QtCore.so
#14 0x00007f78c8f2f780 in ?? () from /usr/lib64/python2.7/site-packages/PyQt4/QtCore.so
#15 0x00007f78e22934c5 in QThreadPrivate::start (arg=0x338e3e0) at thread/qthread_unix.cpp:320
#16 0x00007f78e2001914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#17 0x00007f78e529341d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 7 (Thread 0x7f78bce75700 (LWP 32441)):
#0  0x00007f78d91b6a20 in g_main_context_check (context=0x436d720, max_priority=2147483647, fds=<value optimized out>, n_fds=<value optimized out>) at gmain.c:2963
#1  0x00007f78d91b73b3 in g_main_context_iterate (context=0x436d720, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3088
#2  0x00007f78d91b77ec in g_main_context_iteration (context=0x436d720, may_block=1) at gmain.c:3154
#3  0x00007f78e23b0e76 in QEventDispatcherGlib::processEvents (this=0x44c6ad0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f78e2383a92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f78e2383e74 in QEventLoop::exec (this=0x7f78bce74dc0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f78e229049d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#7  0x00007f78e2363aa8 in QInotifyFileSystemWatcherEngine::run (this=0x4cf3de0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f78e22934c5 in QThreadPrivate::start (arg=0x4cf3de0) at thread/qthread_unix.cpp:320
#9  0x00007f78e2001914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#10 0x00007f78e529341d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7f78ad4ad700 (LWP 32442)):
#0  0x00007f78e200557e in __pthread_mutex_unlock_usercnt (mutex=0x4d6a018, decr=<value optimized out>) at pthread_mutex_unlock.c:52
#1  0x00007f78d91b717d in g_main_context_iterate (context=0x4d6a010, block=0, dispatch=81174552, self=0x0) at gmain.c:3032
#2  0x00007f78d91b77ec in g_main_context_iteration (context=0x4d6a010, may_block=1) at gmain.c:3154
#3  0x00007f78e23b0e76 in QEventDispatcherGlib::processEvents (this=0x4a93070, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f78e2383a92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f78e2383e74 in QEventLoop::exec (this=0x7f78ad4acdc0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f78e229049d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#7  0x00007f78e2363aa8 in QInotifyFileSystemWatcherEngine::run (this=0x4a98390) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f78e22934c5 in QThreadPrivate::start (arg=0x4a98390) at thread/qthread_unix.cpp:320
#9  0x00007f78e2001914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#10 0x00007f78e529341d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7f78accac700 (LWP 32443)):
#0  0x00007f78e2004045 in __pthread_mutex_lock (mutex=0x4d71a28) at pthread_mutex_lock.c:61
#1  0x00007f78d91b73fe in g_main_context_iterate (context=0x4d71a20, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3097
#2  0x00007f78d91b77ec in g_main_context_iteration (context=0x4d71a20, may_block=1) at gmain.c:3154
#3  0x00007f78e23b0e76 in QEventDispatcherGlib::processEvents (this=0x4a95bc0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f78e2383a92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f78e2383e74 in QEventLoop::exec (this=0x7f78accabdc0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f78e229049d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#7  0x00007f78e2363aa8 in QInotifyFileSystemWatcherEngine::run (this=0x7f78b8010a20) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f78e22934c5 in QThreadPrivate::start (arg=0x7f78b8010a20) at thread/qthread_unix.cpp:320
#9  0x00007f78e2001914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#10 0x00007f78e529341d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7f78ac4ab700 (LWP 32444)):
#0  idleTimerSourcePrepare (source=<value optimized out>, timeout=0x7f78ac4aac2c) at kernel/qeventdispatcher_glib.cpp:207
#1  0x00007f78d91b6da8 in g_main_context_prepare (context=0x4d794d0, priority=<value optimized out>) at gmain.c:2761
#2  0x00007f78d91b7208 in g_main_context_iterate (context=0x4d794d0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3071
#3  0x00007f78d91b77ec in g_main_context_iteration (context=0x4d794d0, may_block=1) at gmain.c:3154
#4  0x00007f78e23b0e76 in QEventDispatcherGlib::processEvents (this=0x4c48210, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f78e2383a92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007f78e2383e74 in QEventLoop::exec (this=0x7f78ac4aadc0, flags=) at kernel/qeventloop.cpp:201
#7  0x00007f78e229049d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#8  0x00007f78e2363aa8 in QInotifyFileSystemWatcherEngine::run (this=0x7f78b8011160) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007f78e22934c5 in QThreadPrivate::start (arg=0x7f78b8011160) at thread/qthread_unix.cpp:320
#10 0x00007f78e2001914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#11 0x00007f78e529341d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7f78abcaa700 (LWP 32445)):
#0  0x00007f78d91b69e9 in g_main_context_check (context=0x4d814d0, max_priority=2147483647, fds=<value optimized out>, n_fds=<value optimized out>) at gmain.c:2959
#1  0x00007f78d91b73b3 in g_main_context_iterate (context=0x4d814d0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3088
#2  0x00007f78d91b77ec in g_main_context_iteration (context=0x4d814d0, may_block=1) at gmain.c:3154
#3  0x00007f78e23b0e76 in QEventDispatcherGlib::processEvents (this=0x4d76920, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f78e2383a92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f78e2383e74 in QEventLoop::exec (this=0x7f78abca9dc0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f78e229049d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#7  0x00007f78e2363aa8 in QInotifyFileSystemWatcherEngine::run (this=0x7f78b8036310) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f78e22934c5 in QThreadPrivate::start (arg=0x7f78b8036310) at thread/qthread_unix.cpp:320
#9  0x00007f78e2001914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#10 0x00007f78e529341d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7f78ab4a9700 (LWP 32446)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f78e086988d in WTF::TCMalloc_PageHeap::scavengerThread (this=<value optimized out>) at wtf/FastMalloc.cpp:2378
#2  0x00007f78e0869999 in WTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f78e101df34) at wtf/FastMalloc.cpp:1497
#3  0x00007f78e2001914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#4  0x00007f78e529341d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f78e595d780 (LWP 30925)):
[KCrash Handler]
#6  0x00007f78e51f4065 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007f78e51f52ff in abort () at abort.c:92
#8  0x00007f78e10fed95 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/libstdc++.so.6
#9  0x00007f78e10fd1c6 in ?? () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/libstdc++.so.6
#10 0x00007f78e10fd1f3 in std::terminate() () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/libstdc++.so.6
#11 0x00007f78e10fd275 in __cxa_rethrow () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/libstdc++.so.6
#12 0x00007f78e2383fc3 in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:214
#13 0x00007f78e2387eeb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#14 0x00007f78e555f583 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/kde-base/plasma-workspace-4.6.9999/work/plasma-workspace-4.6.9999/plasma/desktop/shell/main.cpp:120
#15 0x00007f78e51e0bbd in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fff43250468) at libc-start.c:226
#16 0x00000000004007a9 in _start ()

Possible duplicates by query: bug 273664, bug 273663, bug 273641, bug 273628, bug 273611.

Reported using DrKonqi
Comment 1 Matija Šuklje 2011-05-19 22:58:47 UTC
As requested by aseigo, adding him to CC.
Comment 2 Matija Šuklje 2011-05-22 16:19:05 UTC
The crash occured again after the same amount of time — 2h exactly.

I have both remote iCal sources set to refresh after 60 minutes.
Comment 3 Matija Šuklje 2011-05-23 22:45:18 UTC
Another BT from another crash:


Application: Delovno okolje Plasma Desktop (kdeinit4), signal: Aborted
[Current thread is 1 (Thread 0x7fdf49ecb760 (LWP 6943))]

Thread 3 (Thread 0x7fdf23a48700 (LWP 7052)):
#0  0xffffffffff600132 in ?? ()
#1  0x00007fffdf1ed771 in ?? ()
#2  0x00007fdf445e42f8 in clock_gettime (clock_id=597981984, tp=0x7fdf23a47b20) at ../sysdeps/unix/clock_gettime.c:100
#3  0x00007fdf48a50a72 in do_gettime () at tools/qelapsedtimer_unix.cpp:123
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#5  0x00007fdf48b1be8d in QTimerInfoList::updateCurrentTime (this=0x7fdf23a47b20) at kernel/qeventdispatcher_unix.cpp:339
#6  0x00007fdf48b1beb5 in QTimerInfoList::timerWait (this=0x7fdf23a47b20, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#7  0x00007fdf48b1a06d in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7fdf23a47c4c) at kernel/qeventdispatcher_glib.cpp:136
#8  0x00007fdf48b1a115 in timerSourcePrepare (source=0x7fdf23a47b20, timeout=0x7fdf23a47b20) at kernel/qeventdispatcher_glib.cpp:169
#9  0x00007fdf44312da8 in g_main_context_prepare (context=0x3369c80, priority=<value optimized out>) at gmain.c:2761
#10 0x00007fdf44313208 in g_main_context_iterate (context=0x3369c80, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3071
#11 0x00007fdf443137ec in g_main_context_iteration (context=0x3369c80, may_block=1) at gmain.c:3154
#12 0x00007fdf48b19e76 in QEventDispatcherGlib::processEvents (this=0x33587f0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#13 0x00007fdf48aeca92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#14 0x00007fdf48aece74 in QEventLoop::exec (this=0x7fdf23a47de0, flags=) at kernel/qeventloop.cpp:201
#15 0x00007fdf489f949d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#16 0x00007fdf48accaa8 in QInotifyFileSystemWatcherEngine::run (this=0x3302880) at io/qfilesystemwatcher_inotify.cpp:248
#17 0x00007fdf489fc4c5 in QThreadPrivate::start (arg=0x3302880) at thread/qthread_unix.cpp:320
#18 0x00007fdf4876a914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#19 0x00007fdf4751441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7fdf1a0ef700 (LWP 7063)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fdf489fd08b in wait (this=<value optimized out>, mutex=0x3515510, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x3515510, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fdf2cbe892c in ?? () from /usr/lib64/python2.7/site-packages/PyQt4/QtCore.so
#4  0x00007fdf2d2812e3 in call_function (f=0x3afa8d0, throwflag=<value optimized out>) at Python/ceval.c:4012
#5  PyEval_EvalFrameEx (f=0x3afa8d0, throwflag=<value optimized out>) at Python/ceval.c:2665
#6  0x00007fdf2d282bd0 in PyEval_EvalCodeEx (co=0x3d8beb0, globals=<value optimized out>, locals=<value optimized out>, args=0x0, argcount=0, kws=<value optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3252
#7  0x00007fdf2d20de21 in function_call (func=0x3d952a8, arg=0x2f4a910, kw=0x0) at Objects/funcobject.c:526
#8  0x00007fdf2d1e5542 in PyObject_Call (func=0x3d952a8, arg=0x80, kw=0xf3) at Objects/abstract.c:2529
#9  0x00007fdf2d1f817d in instancemethod_call (func=0x3d952a8, arg=0x2f4a910, kw=0x0) at Objects/classobject.c:2578
#10 0x00007fdf2d1e5542 in PyObject_Call (func=0x2a88640, arg=0x80, kw=0xf3) at Objects/abstract.c:2529
#11 0x00007fdf2d27aab2 in PyEval_CallObjectWithKeywords (func=0x2a88640, arg=0x29d0050, kw=0xf3) at Python/ceval.c:3881
#12 0x00007fdf2c9258eb in ?? () from /usr/lib64/python2.7/site-packages/sip.so
#13 0x00007fdf2cbc94d7 in ?? () from /usr/lib64/python2.7/site-packages/PyQt4/QtCore.so
#14 0x00007fdf2cbfc780 in ?? () from /usr/lib64/python2.7/site-packages/PyQt4/QtCore.so
#15 0x00007fdf489fc4c5 in QThreadPrivate::start (arg=0x3375390) at thread/qthread_unix.cpp:320
#16 0x00007fdf4876a914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#17 0x00007fdf4751441d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7fdf49ecb760 (LWP 6943)):
[KCrash Handler]
#6  0x00007fdf47475065 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007fdf474762ff in abort () at abort.c:92
#8  0x00007fdf47867d95 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/libstdc++.so.6
#9  0x00007fdf478661c6 in ?? () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/libstdc++.so.6
#10 0x00007fdf478661f3 in std::terminate() () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/libstdc++.so.6
#11 0x00007fdf47866275 in __cxa_rethrow () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/libstdc++.so.6
#12 0x00007fdf48aecfc3 in QEventLoop::exec (this=<value optimized out>, flags=<value optimized out>) at kernel/qeventloop.cpp:214
#13 0x00007fdf48af0eeb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#14 0x00007fdf39b82583 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/kde-base/plasma-workspace-4.6.9999/work/plasma-workspace-4.6.9999/plasma/desktop/shell/main.cpp:120
#15 0x0000000000407f33 in launch (argc=1, _name=<value optimized out>, args=<value optimized out>, cwd=<value optimized out>, envc=0, envs=<value optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x40b26b "0") at /var/tmp/portage/kde-base/kdelibs-4.6.2-r3/work/kdelibs-4.6.2/kinit/kinit.cpp:734
#16 0x0000000000408b30 in handle_launcher_request (sock=7, who=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.6.2-r3/work/kdelibs-4.6.2/kinit/kinit.cpp:1226
#17 0x000000000040905b in handle_requests (waitForPid=6342368) at /var/tmp/portage/kde-base/kdelibs-4.6.2-r3/work/kdelibs-4.6.2/kinit/kinit.cpp:1419
#18 0x0000000000409c01 in main (argc=2, argv=<value optimized out>, envp=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.6.2-r3/work/kdelibs-4.6.2/kinit/kinit.cpp:1907
Comment 4 Aaron J. Seigo 2011-05-26 13:59:38 UTC
given testing done (discussed with reporter on irc) this looks like an uncaught exception from kdepimlibs, likely libakonadi. there are no exceptions in plasma code, the 3rd party add-on being used does not throw exceptions either and where it is segfaulting is due to an uncaught signal in an event handler. to quote qcoreapplication.cpp:

        qWarning("Qt has caught an exception thrown from an event handler. Throwing\n"
                 "exceptions from an event handler is not supported in Qt. You must\n"
                 "reimplement QApplication::notify() and catch all exceptions there.\n");

exceptions should not be bubbling out of the library. kde apps do not generally catch exceptions, so this will cause issues for any such app that would wish to use this library.
Comment 5 Sergio Martins 2011-05-26 14:15:29 UTC
Which version of kdepim-runtime/kdepim are you using?
Which version of kdepimlibs are you using?
Comment 6 Matija Šuklje 2011-05-26 14:27:38 UTC
Bug was initially reported using these versions (all from Gentoo portage):
 * plasma-workspace (kde workspace) pulled from Git Revision 2ce0f3a5
https://projects.kde.org/projects/kde/kdebase/kde-workspace/repository/revisions/2ce0f3a54915742f929d52b81653f8fc153a8fb8
← Gentoo's KDE repository
 * KDEPIM 4.5.96 ← Gentoo's KDE repository
 * rest of KDE 4.6.2 ← official Gentoo (stable) repository

But I can still replicate it on yesterday's code from Git:
 * KDEPIM 4.6.9999 ← Gentoo's KDE repository, pulls code from KDEPIM Git:
   - kdepimlibs revision 2df008156da8295153a103c8ea56398369a7f9b8
   - kdepim-runtime revision 8700a77cd62096451534e34a018b7ab6b99d8fbe
Comment 7 Sergio Martins 2011-05-26 14:31:14 UTC
Did you/gentoo build tests?

Can you run:
build/kdepim-runtime/plugins/tests $ ./kcalcoreserializertest

Also, where do you have akonadi_serializer_kcalcore.desktop installed ?
Comment 8 Matija Šuklje 2011-05-26 14:54:44 UTC
(In reply to comment #7)
> Did you/gentoo build tests?

What do you mean with that?

If you mean debugging information, I do have debugging information compiled and use: CFLAGS="-march=native -O2 -pipe -ggdb"

If you mean debugging calls and tools, I have them disabled by default.

> Can you run:
> build/kdepim-runtime/plugins/tests $ ./kcalcoreserializertest

I don't see this file/folder anywhere.

> Also, where do you have akonadi_serializer_kcalcore.desktop installed ?

Yes, I do.
Comment 9 Sergio Martins 2011-05-26 18:58:27 UTC
If you open akonadiconsole, on the browser tab, can you see your events?

Then, if you select an event, what appears on the payload tab?
Comment 10 Matija Šuklje 2011-05-26 19:24:08 UTC
(In reply to comment #9)
> If you open akonadiconsole, on the browser tab, can you see your events?

I can see all events and todos from all my calendar resources — local (four, including a KMyMoney generated schedule) and remote (two, mentioned above in comment #1).

Also events and todos also show just as well in Kontact's summary view, KOrganizer and the Eventlist plasmoid.

> Then, if you select an event, what appears on the payload tab?

Again, all events and todos from all resources show as expected in the Payload tab.
Comment 11 Matija Šuklje 2011-05-26 19:28:41 UTC
Now I managed to recreate the crash even when I remove the two remote iCal resources from the Eventlist plasmoid.

I'll try again now with just an empty, recently created local iCal file to see if that still triggers it. If so, I'll try what happens now if I remove the Eventlist plasmoid altogether.
Comment 12 Matija Šuklje 2011-05-26 23:20:01 UTC
Crashes also when Eventlist only has an empty iCal loaded.

Oddly enough, (now) even when no Eventlist plasmoid is loaded it crashes after 2 hours ...I am genuinely confused now.
Comment 13 Sergio Martins 2011-05-27 00:59:03 UTC
Can you run it under gdb, and set a breakpoint at: __cxa_throw

Then, give us a new backtrace.
Comment 14 Matija Šuklje 2011-05-27 01:44:25 UTC
(In reply to comment #13)
> Can you run it under gdb, and set a breakpoint at: __cxa_throw

If you can tell me what exactly to run and what to type, I'd be glad to! I'm pretty new to gdb...
Comment 15 Matija Šuklje 2011-05-28 01:17:20 UTC
After I killed plasma with 'kquitapp plasma-desktop' I ran 'gdb plasma-desktop' and issued to it:
 * 'break __cxa_throw'
 * made breakpoint pending on future shared library load.
 * 'run'
 * after it crashed (seems unrelated to the breakpoint): 'stop'
 * 'bt' results in only "No stack"

But here are the last few lines of the output anyway:


QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::begin: Paint device returned engine == 0, type: 2
plasma-desktop(28492)/plasma Battery::dataUpdated: Remaining msecs on battery: 0
plasma-desktop(28492)/plasma Battery::dataUpdated: Remaining msecs on battery: 0
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
KCrash: Attempting to start /usr/bin/plasma-desktop from kdeinit
sock_file=/home/hook/.kde4/socket-faunus/kdeinit4__0
KCrash: Application 'plasma-desktop' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/home/hook/.kde4/socket-faunus/kdeinit4__0
QSocketNotifier: Invalid socket 17 and type 'Read', disabling...
Comment 16 Matija Šuklje 2011-05-28 23:53:02 UTC
I still didn't manage to pin-point the bug.

But just to be sure I tried (again) what happens if I try to replicate it with Akonadi stopped (I left Nepomuk to run). As expected the result is that even after more then 4 hours, Plasma has not crashed. After that I needed e-mail, so I started Akonadi again.

So at least, we can be sure that Akonadi has something to do with triggering the Plasma crash.
Comment 17 David E. Narvaez 2011-10-03 11:58:27 UTC
Hi Matija, what version of Plasma/Akonadi are you using now? Can you replicate this on your current version?

Thanks!
Comment 18 Matija Šuklje 2011-10-13 13:04:37 UTC
(In reply to comment #17)
> Hi Matija, what version of Plasma/Akonadi are you using now? Can you replicate
> this on your current version?

Currently I'm on a freshly re-emerged ('emerge -e system world'; David will know what that means):

app-office/akonadi-server-1.6.0-r1
kde-base/plasma-runtime-4.7.0

...the rest of KDE (including KDEPIM) is also 4.7.0

I am rather waiting for KDE 4.7.x to become stable in Gentoo. But if you give me a good reason to upgrade to 4.7.3, I'll do it by the end of the week.
Comment 19 David E. Narvaez 2011-10-13 13:10:57 UTC
(In reply to comment #18)
> Currently I'm on a freshly re-emerged ('emerge -e system world'; David will
> know what that means):
> 
> app-office/akonadi-server-1.6.0-r1
> kde-base/plasma-runtime-4.7.0
> 
> ...the rest of KDE (including KDEPIM) is also 4.7.0

Still having the problem reported here?
Comment 20 Matija Šuklje 2011-10-13 20:23:52 UTC
(In reply to comment #19)
> > app-office/akonadi-server-1.6.0-r1
> > kde-base/plasma-runtime-4.7.0
> > 
> > ...the rest of KDE (including KDEPIM) is also 4.7.0
> 
> Still having the problem reported here?

Plasma still crashes on rare occasions for no apparent reason and sometimes when I start KDE it still eats up 100% of CPU and needs to be killed and restarted several times before it runs normally...

But to be honest, I cannot replicate it anymore by the method I described above.
Comment 21 David E. Narvaez 2011-10-13 23:20:16 UTC
I'm marking this as FIXED then, but I'm currently having other types of issues with remote iCal so if this error pops up again, please let us know.

Thanks!
Comment 22 Matija Šuklje 2011-10-14 10:39:20 UTC
(In reply to comment #21)
> I'm marking this as FIXED then, but I'm currently having other types of issues
> with remote iCal so if this error pops up again, please let us know.

Just wanted to suggest the same thing.

Thank you for looking into this :)