Bug 178220 - akonadi kcal resource crash
Summary: akonadi kcal resource crash
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: KResource compat bridges (show other bugs)
Version: unspecified
Platform: Compiled Sources Unspecified
: NOR crash
Target Milestone: ---
Assignee: Volker Krause
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-19 20:43 UTC by Neal Becker
Modified: 2009-01-15 20:21 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
backtrace (5.05 KB, text/plain)
2008-12-19 20:44 UTC, Neal Becker
Details
trace from crash after receiving ical message in kmail (4.16 KB, text/plain)
2009-01-08 16:52 UTC, Neal Becker
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Neal Becker 2008-12-19 20:43:17 UTC
Version:            (using Devel)
Installed from:    Compiled sources

Crash from korganizer when trying to remove a akonadi resource source
Comment 1 Neal Becker 2008-12-19 20:44:12 UTC
Created attachment 29461 [details]
backtrace
Comment 2 Dario Andres 2008-12-19 21:32:06 UTC
Pasted backtrace from comment 1:

Application: Akonadi Resource (akonadi_kcal_resource), signal SIGSEGV
0x0000003840aa7f50 in __nanosleep_nocancel () from /lib64/libc.so.6
Current language:  auto; currently c
[Current thread is 1 (Thread 0x7f0bf6f70800 (LWP 870))]

Thread 1 (Thread 0x7f0bf6f70800 (LWP 870)):
[KCrash Handler]
#5  KCal::ResourceCalendar::incidence (this=0x0, uid=@0x7ffffefd6920) at /usr/src/debug/kdepimlibs-4.1.85/kcal/resourcecalendar.cpp:103
#6  0x0000000000407dfd in KCalResource::itemRemoved (this=0x1af0e30, item=@0x7ffffefd6ad0) at /usr/src/debug/kdepim-4.1.85/akonadi/resources/kcal/kcalresource.cpp:346
#7  0x000000364a446211 in Akonadi::AgentBasePrivate::qt_metacall (this=0x1af64a0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffefd6a50)
    at /usr/src/debug/kdepimlibs-4.1.85/x86_64-redhat-linux-gnu/akonadi/agentbase_p.moc:80
#8  0x000000384af56764 in QMetaObject::activate (sender=0x1af3150, from_signal_index=<value optimized out>, to_signal_index=7, argv=0x7ffffefd6a50) at kernel/qobject.cpp:3031
#9  0x000000364a48e535 in Akonadi::Monitor::itemRemoved (this=0x0, _t1=<value optimized out>) at /usr/src/debug/kdepimlibs-4.1.85/x86_64-redhat-linux-gnu/akonadi/monitor.moc:147
#10 0x000000364a490371 in Akonadi::MonitorPrivate::emitItemNotification (this=0x1af30c0, msg=@0x7ffffefd6cf0, item=@0x7ffffefd6c30, collection=<value optimized out>, collectionDest=@0x7ffffefd6aa0)
    at /usr/src/debug/kdepimlibs-4.1.85/akonadi/monitor_p.cpp:206
#11 0x000000364a49136a in Akonadi::MonitorPrivate::processNotification (this=0x1af30c0, msg=@0x7ffffefd6cf0) at /usr/src/debug/kdepimlibs-4.1.85/akonadi/monitor_p.cpp:111
#12 0x000000364a4591aa in Akonadi::ChangeRecorder::replayNext (this=<value optimized out>) at /usr/src/debug/kdepimlibs-4.1.85/akonadi/changerecorder.cpp:156
#13 0x000000364a459225 in Akonadi::ChangeRecorder::qt_metacall (this=0x1af3150, _c=QMetaObject::InvokeMetaMethod, _id=-16946912, _a=<value optimized out>)
    at /usr/src/debug/kdepimlibs-4.1.85/x86_64-redhat-linux-gnu/akonadi/changerecorder.moc:70
#14 0x000000384af56764 in QMetaObject::activate (sender=0x1af5e40, from_signal_index=<value optimized out>, to_signal_index=8, argv=0x7ffffefd6a50) at kernel/qobject.cpp:3031
#15 0x000000364a499370 in Akonadi::ResourceScheduler::executeNext (this=0x1af5e40) at /usr/src/debug/kdepimlibs-4.1.85/akonadi/resourcescheduler.cpp:120
#16 0x000000364a499480 in Akonadi::ResourceScheduler::qt_metacall (this=0x1af5e40, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffefd6f90)
    at /usr/src/debug/kdepimlibs-4.1.85/x86_64-redhat-linux-gnu/akonadi/resourcescheduler.moc:87
#17 0x000000384af56764 in QMetaObject::activate (sender=0x1ce3f50, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x7ffffefd6a50) at kernel/qobject.cpp:3031
#18 0x000000384af5c9cf in QSingleShotTimer::timerEvent (this=0x1ce3f50) at kernel/qtimer.cpp:294
#19 0x000000384af51073 in QObject::event (this=0x1ce3f50, e=0x7ffffefd6920) at kernel/qobject.cpp:1120
#20 0x00000037d4b8281d in QApplicationPrivate::notify_helper (this=0x1a60f30, receiver=0x1ce3f50, e=0x7ffffefd7650) at kernel/qapplication.cpp:3803
#21 0x00000037d4b8a5ca in QApplication::notify (this=0x7ffffefd7970, receiver=0x1ce3f50, e=0x7ffffefd7650) at kernel/qapplication.cpp:3768
#22 0x00000036466049ab in KApplication::notify (this=0x7ffffefd7970, receiver=0x1ce3f50, event=0x7ffffefd7650) at /usr/src/debug/kdelibs-4.1.85/kdeui/kernel/kapplication.cpp:307
#23 0x000000384af42391 in QCoreApplication::notifyInternal (this=0x7ffffefd7970, receiver=0x1ce3f50, event=0x7ffffefd7650) at kernel/qcoreapplication.cpp:587
#24 0x000000384af6e0d6 in QCoreApplication::sendEvent () at ../../src/corelib/kernel/qcoreapplication.h:209
#25 QTimerInfoList::activateTimers (this=0x1a64750) at kernel/qeventdispatcher_unix.cpp:557
#26 0x000000384af6a83d in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:160
#27 0x000000384223779b in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#28 0x000000384223af6d in ?? () from /lib64/libglib-2.0.so.0
#29 0x000000384223b12b in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#30 0x000000384af6a79f in QEventDispatcherGlib::processEvents (this=0x1a61280, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:319
#31 0x00000037d4c1319f in QGuiEventDispatcherGlib::processEvents (this=0x0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:198
#32 0x000000384af40cb2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:143
#33 0x000000384af40e3d in QEventLoop::exec (this=0x7ffffefd7900, flags=) at kernel/qeventloop.cpp:194
#34 0x000000384af432ed in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#35 0x000000364a495d72 in Akonadi::ResourceBase::init (r=0x1af0e30) at /usr/src/debug/kdepimlibs-4.1.85/akonadi/resourcebase.cpp:211
#36 0x0000000000408258 in Akonadi::ResourceBase::init<KCalResource> () at /usr/include/kde4/akonadi/resourcebase.h:182
#37 main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdepim-4.1.85/akonadi/resources/kcal/kcalresource.cpp:591

Comment 3 Neal Becker 2009-01-05 13:27:15 UTC
I have what looks like exactly the same thing here (at least, the first several lines of trace looks the same).
Comment 4 Neal Becker 2009-01-07 13:24:11 UTC
Ever since this first occured, now I get about 10!!!! notifications of this crash every time I start korganizer.  This is a major annoyance.  I hope it is repaired before 4.2 release.
Comment 5 Neal Becker 2009-01-08 16:52:12 UTC
Created attachment 30029 [details]
trace from crash after receiving ical message in kmail
Comment 6 Dario Andres 2009-01-08 21:14:20 UTC
Pasted backtrace from comment 5: (@Neal: please post the backtraces inline in the report instead as attaching them, it makes easy to find for duplicates, thanks:)
BTW, the backtrace seems to be the same as the first one.

Application: Akonadi Resource (akonadi_kcal_resource), signal SIGSEGV
0x0000003840aa7f50 in __nanosleep_nocancel () from /lib64/libc.so.6
Current language:  auto; currently c
[Current thread is 1 (Thread 0x7fff41bb9800 (LWP 22102))]

Thread 1 (Thread 0x7fff41bb9800 (LWP 22102)):
[KCrash Handler]
#5  KCal::ResourceCalendar::incidence (this=0x0, uid=@0x7fff49f838d0) at /usr/src/debug/kdepimlibs-4.1.85/kcal/resourcecalendar.cpp:103
#6  0x0000000000407dfd in KCalResource::itemRemoved (this=0x7a07a0, item=@0x7fff49f83a80) at /usr/src/debug/kdepim-4.1.85/akonadi/resources/kcal/kcalresource.cpp:346
#7  0x00000039fce46211 in Akonadi::AgentBasePrivate::qt_metacall (this=0x7a0800, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff49f83a00)
    at /usr/src/debug/kdepimlibs-4.1.85/x86_64-redhat-linux-gnu/akonadi/agentbase_p.moc:80
#8  0x00000039e6356764 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4
#9  0x00000039fce8e535 in Akonadi::Monitor::itemRemoved (this=0x0, _t1=<value optimized out>) at /usr/src/debug/kdepimlibs-4.1.85/x86_64-redhat-linux-gnu/akonadi/monitor.moc:147
#10 0x00000039fce90371 in Akonadi::MonitorPrivate::emitItemNotification (this=0x7ac0d0, msg=@0x7fff49f83ca0, item=@0x7fff49f83be0, collection=<value optimized out>, collectionDest=@0x7fff49f83a50)
    at /usr/src/debug/kdepimlibs-4.1.85/akonadi/monitor_p.cpp:206
#11 0x00000039fce9136a in Akonadi::MonitorPrivate::processNotification (this=0x7ac0d0, msg=@0x7fff49f83ca0) at /usr/src/debug/kdepimlibs-4.1.85/akonadi/monitor_p.cpp:111
#12 0x00000039fce591aa in Akonadi::ChangeRecorder::replayNext (this=<value optimized out>) at /usr/src/debug/kdepimlibs-4.1.85/akonadi/changerecorder.cpp:156
#13 0x00000039fce59225 in Akonadi::ChangeRecorder::qt_metacall (this=0x7ac040, _c=QMetaObject::InvokeMetaMethod, _id=1241004240, _a=<value optimized out>)
    at /usr/src/debug/kdepimlibs-4.1.85/x86_64-redhat-linux-gnu/akonadi/changerecorder.moc:70
#14 0x00000039e6356764 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4
#15 0x00000039fce99370 in Akonadi::ResourceScheduler::executeNext (this=0x7aad40) at /usr/src/debug/kdepimlibs-4.1.85/akonadi/resourcescheduler.cpp:120
#16 0x00000039fce99480 in Akonadi::ResourceScheduler::qt_metacall (this=0x7aad40, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff49f83f40)
    at /usr/src/debug/kdepimlibs-4.1.85/x86_64-redhat-linux-gnu/akonadi/resourcescheduler.moc:87
#17 0x00000039e6356764 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4
#18 0x00000039e635c9cf in ?? () from /usr/lib64/libQtCore.so.4
#19 0x00000039e6351073 in QObject::event () from /usr/lib64/libQtCore.so.4
#20 0x00000039e698281d in QApplicationPrivate::notify_helper () from /usr/lib64/libQtGui.so.4
#21 0x00000039e698a5ca in QApplication::notify () from /usr/lib64/libQtGui.so.4
#22 0x00000039e8c049ab in KApplication::notify (this=0x7fff49f84920, receiver=0x934ac0, event=0x7fff49f84600) at /usr/src/debug/kdelibs-4.1.85/kdeui/kernel/kapplication.cpp:307
#23 0x00000039e6342391 in QCoreApplication::notifyInternal () from /usr/lib64/libQtCore.so.4
#24 0x00000039e636e0d6 in ?? () from /usr/lib64/libQtCore.so.4
#25 0x00000039e636a83d in ?? () from /usr/lib64/libQtCore.so.4
#26 0x000000384223779b in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#27 0x000000384223af6d in ?? () from /lib64/libglib-2.0.so.0
#28 0x000000384223b12b in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#29 0x00000039e636a79f in QEventDispatcherGlib::processEvents () from /usr/lib64/libQtCore.so.4
#30 0x00000039e6a131cf in ?? () from /usr/lib64/libQtGui.so.4
#31 0x00000039e6340cb2 in QEventLoop::processEvents () from /usr/lib64/libQtCore.so.4
#32 0x00000039e6340e3d in QEventLoop::exec () from /usr/lib64/libQtCore.so.4
#33 0x00000039e63432ed in QCoreApplication::exec () from /usr/lib64/libQtCore.so.4
#34 0x00000039fce95d72 in Akonadi::ResourceBase::init (r=0x7a07a0) at /usr/src/debug/kdepimlibs-4.1.85/akonadi/resourcebase.cpp:211
#35 0x0000000000408258 in Akonadi::ResourceBase::init<KCalResource> () at /usr/include/kde4/akonadi/resourcebase.h:182
#36 main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdepim-4.1.85/akonadi/resources/kcal/kcalresource.cpp:591


Comment 7 Igor Trindade Oliveira 2009-01-15 15:12:37 UTC
what you want to say with "remove a akonadi resource source"? you remove it from akonadi resource lists using akonadiconsole? 
Comment 8 Neal Becker 2009-01-15 15:37:06 UTC
(In reply to comment #7)
> what you want to say with "remove a akonadi resource source"? you remove it
> from akonadi resource lists using akonadiconsole? 
> 

I did at some time in the past try to modify the resource list using one of the gui interfaces.  I am not now trying to do this.  Yet, I still get this crash (4 crash reports) every time kontact is started, and every time I try to accept an invite from kmail.

I tried to fix this by system settings/advanced/akonadi.  I know have entries for std.ics, birthdays, kde calendar, akonadi_kcal_resource_2 (these show green), but std.vcf and device-0.vcf say 'no file selected'.  Previously all said 'no file selected', and I wondered if this caused the crash.  Having selected sources for these first 4, I still have crashes.

Strangely, selecting the 'defaults' button doesn't seem to do anything (I still have the first 4 items green, and the last 2 red).
Comment 9 Kevin Krammer 2009-01-15 19:18:27 UTC
An error in communicating the resource state between Akonadi and the resource agent.
I'll try to fix that.

In the mean time anyone getting this can safely remove the Akonadi entry from systemsettings->advanced->kresources in categories "calendar" and "contact" and just activate the traditional resource which should also be listed there.

Thank you for testing and reporting!
Comment 10 Kevin Krammer 2009-01-15 20:19:04 UTC
SVN commit 911612 by krake:

Catch invalid resource state with an error instead of crashing.
Real reason for getting into this state yet unknown, but this behavior is more acceptable.

BUG: 178220


 M  +25 -1     kabc/kabcresource.cpp  
 M  +36 -0     kcal/kcalresource.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=911612
Comment 11 Kevin Krammer 2009-01-15 20:21:17 UTC
SVN commit 911614 by krake:

Backport of r911612

Catch invalid resource state with an error instead of crashing.
Real reason for getting into this state yet unknown, but this behavior is more acceptable.

CCBUG: 178220


 M  +18 -1     kabc/kabcresource.cpp  
 M  +36 -0     kcal/kcalresource.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=911614