Bug 265287

Summary: plasma desktop/kdeinit4 crashes on login exactly when /var/tmp/kdecache-<login>/kcal/kresources/ is not empty [KCalCore::IncidenceBase::isReadOnly, CalendarSupport::Calendar::Private::dataChanged]
Product: [Unmaintained] plasma4 Reporter: mjjeff
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, martin
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 4.6.1
Sentry Crash Report:

Description mjjeff 2011-02-03 14:12:20 UTC
Application: plasma-desktop (0.4)
KDE Platform Version: 4.6.00 (4.6.0)
Qt Version: 4.7.1
Operating System: Linux 2.6.37-ARCH x86_64
Distribution (Platform): Archlinux Packages

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

Logged in from kdm.

- Custom settings of the application:

This happens exactly when /var/tmp/kdecache-<login>/kcal/kresources/ is not empty. Right now (just after a crash) it has 3 files which appear to be caches of the three remote calendar files (all referenced by URL) I have configured in my Akonadi Compatibility Resource, the only calendar resource I have enabled. When I delete these files, I can login without crash once, at which time the cach files are recreated.

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma Desktop Shell (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f8591484760 (LWP 19558))]

Thread 4 (Thread 0x7f856e98d700 (LWP 19562)):
#0  0x00007f858fd9e15e in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0x00007f858bbd00fb in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f858bbd066d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f8590137f66 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f859010c232 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f859010c47c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f8590021d54 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f85900ede18 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f859002452e in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f858fd9bcb0 in start_thread () from /lib/libpthread.so.0
#10 0x00007f858eb6baed in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f856db4b700 (LWP 19563)):
#0  0x00007f858fda079b in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f8590024b82 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f859001ac18 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f859002452e in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f858fd9bcb0 in start_thread () from /lib/libpthread.so.0
#5  0x00007f858eb6baed in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f8565eec700 (LWP 19664)):
#0  0x00007f858fda079b in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f8590024b82 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f859001ac18 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f859002452e in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f858fd9bcb0 in start_thread () from /lib/libpthread.so.0
#5  0x00007f858eb6baed in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f8591484760 (LWP 19558)):
[KCrash Handler]
#6  0x00007f8567100f80 in KCalCore::IncidenceBase::isReadOnly() const () from /usr/lib/libkcalcore.so.4
#7  0x00007f85677baff1 in ?? () from /usr/lib/kde4/plasma_engine_calendar.so
#8  0x00007f85677bcdc3 in ?? () from /usr/lib/kde4/plasma_engine_calendar.so
#9  0x00007f856779eb84 in ?? () from /usr/lib/kde4/plasma_engine_calendar.so
#10 0x00007f859012231f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#11 0x00007f8590169097 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/libQtCore.so.4
#12 0x00007f856744618a in ?? () from /usr/lib/libakonadi-kde.so.4
#13 0x00007f856744d0ef in ?? () from /usr/lib/libakonadi-kde.so.4
#14 0x00007f856743ae61 in Akonadi::EntityTreeModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4
#15 0x00007f859012231f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#16 0x00007f856748b967 in Akonadi::Monitor::itemChanged(Akonadi::Item const&, QSet<QByteArray> const&) () from /usr/lib/libakonadi-kde.so.4
#17 0x00007f856748f3a2 in ?? () from /usr/lib/libakonadi-kde.so.4
#18 0x00007f856748fa3b in ?? () from /usr/lib/libakonadi-kde.so.4
#19 0x00007f85673f3041 in ?? () from /usr/lib/libakonadi-kde.so.4
#20 0x00007f8567492304 in ?? () from /usr/lib/libakonadi-kde.so.4
#21 0x00007f856748bdd5 in Akonadi::Monitor::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4
#22 0x00007f85673f2ec8 in Akonadi::ChangeRecorder::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4
#23 0x00007f859012231f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#24 0x00007f85673f68c3 in ?? () from /usr/lib/libakonadi-kde.so.4
#25 0x00007f8567434383 in ?? () from /usr/lib/libakonadi-kde.so.4
#26 0x00007f859012231f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#27 0x00007f8590575ed2 in KJob::result(KJob*) () from /usr/lib/libkdecore.so.5
#28 0x00007f8590575f10 in KJob::emitResult() () from /usr/lib/libkdecore.so.5
#29 0x00007f856748339d in Akonadi::Job::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4
#30 0x00007f8567471df5 in Akonadi::ItemFetchJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libakonadi-kde.so.4
#31 0x00007f859012117a in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#32 0x00007f858f2ba2b4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#33 0x00007f858f2bedca in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#34 0x00007f8590e8ea46 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#35 0x00007f859010ce9c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#36 0x00007f85901106c5 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#37 0x00007f8590137d73 in ?? () from /usr/lib/libQtCore.so.4
#38 0x00007f858bbcfbf3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#39 0x00007f858bbd03d0 in ?? () from /usr/lib/libglib-2.0.so.0
#40 0x00007f858bbd066d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#41 0x00007f8590137f0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#42 0x00007f858f35f1ae in ?? () from /usr/lib/libQtGui.so.4
#43 0x00007f859010c232 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#44 0x00007f859010c47c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#45 0x00007f859011097b in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#46 0x00007f857fe3a868 in kdemain () from /usr/lib/libkdeinit4_plasma-desktop.so
#47 0x0000000000406bb3 in _start ()

This bug may be a duplicate of or related to bug 261593.

Possible duplicates by query: bug 264352, bug 263651, bug 261759.

Reported using DrKonqi
Comment 1 Aaron J. Seigo 2011-02-03 20:43:37 UTC
Git commit 7794e4718c16a512ad3b30f9a9bd130b74d32f5d by Aaron Seigo.
Committed on 03/02/11 at 20:40.
Pushed by aseigo into branch 'KDE/4.6'.

return, don't assert, on incidence fetch failure

these asserts get compiled out of production builds, and it is indeed
possible with Akonadi, at least currently, to get null results back.
so just live with that.

BUG:265287

M  +3    -1    plasma/generic/dataengines/calendar/akonadi/calendar.cpp     

http://commits.kde.org/kde-workspace/7794e4718c16a512ad3b30f9a9bd130b74d32f5d
Comment 2 Aaron J. Seigo 2011-02-03 20:43:38 UTC
Git commit d6ca7745810173aa7639c1a9f76dfe258c484857 by Aaron Seigo.
Committed on 03/02/11 at 20:40.
Pushed by aseigo into branch 'master'.

return, don't assert, on incidence fetch failure

these asserts get compiled out of production builds, and it is indeed
possible with Akonadi, at least currently, to get null results back.
so just live with that.

BUG:265287

M  +3    -1    plasma/generic/dataengines/calendar/akonadi/calendar.cpp     

http://commits.kde.org/kde-workspace/d6ca7745810173aa7639c1a9f76dfe258c484857
Comment 3 Dario Andres 2011-03-08 14:43:01 UTC
[Comment from a bug triager]
Note: the root cause on kdepimlibs is being tracked at bug 261593.
Comment 4 Dario Andres 2011-03-08 14:43:47 UTC
*** Bug 265376 has been marked as a duplicate of this bug. ***