Bug 183187 - korganizer crashes when importing Lotus Notes generated vcalendar invitation (Akonadi event loops)
Summary: korganizer crashes when importing Lotus Notes generated vcalendar invitation ...
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: KResource compat bridges (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: Kevin Krammer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-04 15:37 UTC by Gunter Ohrner
Modified: 2009-02-08 14:40 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Invitation Mail causing the crash. (6.07 KB, application/x-bzip)
2009-02-04 15:48 UTC, Gunter Ohrner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gunter Ohrner 2009-02-04 15:37:32 UTC
Version:            (using KDE 4.2.0)
OS:                Linux
Installed from:    Debian testing/unstable Packages

I'll attach the invitation mail causing the crash below.

Backtrace

Anwendung: KOrganizer (korganizer), Signal SIGABRT

Thread 1 (Thread 0xb51cb6c0 (LWP 6142)):
[KCrash Handler]
#6  0xb8095424 in __kernel_vsyscall ()
#7  0xb67d9640 in raise () from /lib/i686/cmov/libc.so.6
#8  0xb67db018 in abort () from /lib/i686/cmov/libc.so.6
#9  0xb681c653 in malloc_printerr () from /lib/i686/cmov/libc.so.6
#10 0xb681e7c5 in free () from /lib/i686/cmov/libc.so.6
#11 0xb69c1401 in operator delete () from /usr/lib/libstdc++.so.6
#12 0xb743ab25 in ~QEventLoop (this=0xbf8af210) at kernel/qeventloop.cpp:120
#13 0xb744a27f in QObjectPrivate::deleteChildren (this=0x87a84f0) at kernel/qobject.cpp:1884
#14 0xb7452dc3 in ~QObject (this=0x87a4e08) at kernel/qobject.cpp:884
#15 0xb75f8541 in ~KJob (this=0x87a4e08) at ../../kdecore/jobs/kjob.cpp:72
#16 0xb75f7378 in ~KCompositeJob (this=0x87a4e08) at ../../kdecore/jobs/kcompositejob.cpp:44
#17 0xb36844bc in ~Job (this=0x87a4e08) at ../../akonadi/job.cpp:169
#18 0xb3650ebd in ~CollectionFetchJob (this=0x87a4e08) at ../../akonadi/collectionfetchjob.cpp:100
#19 0xb7449f6c in qDeleteInEventHandler (o=0x6) at kernel/qobject.cpp:3659
#20 0xb744b923 in QObject::event (this=0x87a4e08, e=0x88b3750) at kernel/qobject.cpp:1139
#21 0xb6b3179c in QApplicationPrivate::notify_helper (this=0x8220648, receiver=0x87a4e08, e=0x88b3750) at kernel/qapplication.cpp:3803
#22 0xb6b3961e in QApplication::notify (this=0xbf8b0030, receiver=0x87a4e08, e=0x88b3750) at kernel/qapplication.cpp:3393
#23 0xb7ec477d in KApplication::notify (this=0xbf8b0030, receiver=0x87a4e08, event=0x88b3750) at ../../kdeui/kernel/kapplication.cpp:307
#24 0xb743c0e1 in QCoreApplication::notifyInternal (this=0xbf8b0030, receiver=0x87a4e08, event=0x88b3750) at kernel/qcoreapplication.cpp:587
#25 0xb743cd65 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x82073a0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:209
#26 0xb743cf5d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1091
#27 0xb746699f in postEventSourceDispatch (s=0x8225518) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:214
#28 0xb589b1b8 in IA__g_main_context_dispatch (context=0x8225490) at /tmp/buildd/glib2.0-2.16.6/glib/gmain.c:2012
#29 0xb589e853 in g_main_context_iterate (context=0x8225490, block=1, dispatch=1, self=0x8220738) at /tmp/buildd/glib2.0-2.16.6/glib/gmain.c:2645
#30 0xb589ea11 in IA__g_main_context_iteration (context=0x8225490, may_block=1) at /tmp/buildd/glib2.0-2.16.6/glib/gmain.c:2708
#31 0xb74665e8 in QEventDispatcherGlib::processEvents (this=0x8219d80, flags={i = -1081416744}) at kernel/qeventdispatcher_glib.cpp:319
#32 0xb6bcad75 in QGuiEventDispatcherGlib::processEvents (this=0x8219d80, flags={i = -1081416696}) at kernel/qguieventdispatcher_glib.cpp:198
#33 0xb743a7aa in QEventLoop::processEvents (this=0xbf8ae47c, flags={i = -1081416632}) at kernel/qeventloop.cpp:143
#34 0xb743a96a in QEventLoop::exec (this=0xbf8ae47c, flags={i = -1081416572}) at kernel/qeventloop.cpp:194
#35 0xb6f9a647 in QDialog::exec (this=0xbf8ae578) at dialogs/qdialog.cpp:447
#36 0xb345994d in KCal::ResourceAkonadi::doSave (this=0x83ce908, syncCache=false, incidence=0x885b8a0) at ../../../../kresources/akonadi/kcal/resourceakonadi.cpp:756
#37 0xb7b909d8 in KCal::ResourceCalendar::save (this=0x83ce908, incidence=0x885b8a0) at ../../kcal/resourcecalendar.cpp:228
#38 0xb7ba03d1 in KCal::CalendarResources::save (this=0x848ccd8, ticket=0x87a7b20, incidence=0x885b8a0) at ../../kcal/calendarresources.cpp:817
#39 0xb7ba71e2 in KCal::CalendarResources::endChange (this=0x848ccd8, incidence=0x885b8a0) at ../../kcal/calendarresources.cpp:868
#40 0xb7ba6987 in KCal::CalendarResources::addIncidence (this=0x848ccd8, incidence=0x885b8a0) at ../../kcal/calendarresources.cpp:414
#41 0xb7b846a1 in KCal::Scheduler::acceptRequest (this=0xbf8ae95c, newIncBase=0x885b8a0) at ../../kcal/scheduler.cpp:287
#42 0xb7b87371 in KCal::Scheduler::acceptTransaction (this=0xbf8ae95c, incidence=0x885b8a0, method=KCal::iTIPRequest, status=KCal::ScheduleMessage::Unknown) at ../../kcal/scheduler.cpp:147
#43 0xb791f175 in KOGroupware::incomingDirChanged (this=0x875f3e0, path=@0xbf8aeaa4) at ../../korganizer/kogroupware.cpp:205
#44 0xb791fb49 in KOGroupware::initialCheckForChanges (this=0x875f3e0) at ../../korganizer/kogroupware.cpp:97
#45 0xb791ff8b in KOGroupware::qt_metacall (this=0x875f3e0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbf8aeb58) at ./kogroupware.moc:71
#46 0xb7450be0 in QMetaObject::activate (sender=0x8753c30, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3031
#47 0xb7451962 in QMetaObject::activate (sender=0x8753c30, m=0xb751e0c8, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3101
#48 0xb7456f37 in QSingleShotTimer::timeout (this=0x8753c30) at .moc/release-shared/qtimer.moc:74
#49 0xb745705c in QSingleShotTimer::timerEvent (this=0x8753c30) at kernel/qtimer.cpp:294
#50 0xb744b6bf in QObject::event (this=0x8753c30, e=0xbf8aefec) at kernel/qobject.cpp:1120
#51 0xb6b3179c in QApplicationPrivate::notify_helper (this=0x8220648, receiver=0x8753c30, e=0xbf8aefec) at kernel/qapplication.cpp:3803
#52 0xb6b3961e in QApplication::notify (this=0xbf8b0030, receiver=0x8753c30, e=0xbf8aefec) at kernel/qapplication.cpp:3393
#53 0xb7ec477d in KApplication::notify (this=0xbf8b0030, receiver=0x8753c30, event=0xbf8aefec) at ../../kdeui/kernel/kapplication.cpp:307
#54 0xb743c0e1 in QCoreApplication::notifyInternal (this=0xbf8b0030, receiver=0x8753c30, event=0xbf8aefec) at kernel/qcoreapplication.cpp:587
#55 0xb746a041 in QTimerInfoList::activateTimers (this=0x8226104) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:209
#56 0xb7466690 in timerSourceDispatch (source=0x82260d0) at kernel/qeventdispatcher_glib.cpp:160
#57 0xb589b1b8 in IA__g_main_context_dispatch (context=0x8225490) at /tmp/buildd/glib2.0-2.16.6/glib/gmain.c:2012
#58 0xb589e853 in g_main_context_iterate (context=0x8225490, block=1, dispatch=1, self=0x8220738) at /tmp/buildd/glib2.0-2.16.6/glib/gmain.c:2645
#59 0xb589ea11 in IA__g_main_context_iteration (context=0x8225490, may_block=1) at /tmp/buildd/glib2.0-2.16.6/glib/gmain.c:2708
#60 0xb74665e8 in QEventDispatcherGlib::processEvents (this=0x8219d80, flags={i = -1081413272}) at kernel/qeventdispatcher_glib.cpp:319
#61 0xb6bcad75 in QGuiEventDispatcherGlib::processEvents (this=0x8219d80, flags={i = -1081413224}) at kernel/qguieventdispatcher_glib.cpp:198
#62 0xb743a7aa in QEventLoop::processEvents (this=0xbf8af210, flags={i = -1081413160}) at kernel/qeventloop.cpp:143
#63 0xb743a96a in QEventLoop::exec (this=0xbf8af210, flags={i = -1081413096}) at kernel/qeventloop.cpp:194
#64 0xb75f83d1 in KJob::exec (this=0x87a4e08) at ../../kdecore/jobs/kjob.cpp:195
#65 0xb3463cad in KCal::ResourceAkonadi::doLoad (this=0x83ce908, syncCache=false) at ../../../../kresources/akonadi/kcal/resourceakonadi.cpp:675
#66 0xb7b902cf in KCal::ResourceCalendar::load (this=0x83ce908) at ../../kcal/resourcecalendar.cpp:168
#67 0xb7ba2d91 in KCal::CalendarResources::load (this=0x848ccd8) at ../../kcal/calendarresources.cpp:272
#68 0x08053135 in KOrganizerApp::processCalendar (this=0xbf8b0030, url=@0xbf8af4e0) at ../../korganizer/koapp.cpp:146
#69 0x08053582 in KOrganizerApp::newInstance (this=0xbf8b0030) at ../../korganizer/koapp.cpp:93
#70 0xb7ecda46 in KUniqueApplicationAdaptor::newInstance (this=0x822a168, asn_id=@0x828ab20, args=@0x828a7e0) at ../../kdeui/kernel/kuniqueapplication_p.h:77
#71 0xb7ecbc3e in KUniqueApplicationAdaptor::qt_metacall (this=0x822a168, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbf8af6b8) at ./kuniqueapplication_p.moc:74
#72 0xb65cf19b in QDBusConnectionPrivate::deliverCall (this=0x8216578, object=0x822a168, msg=@0x828ab10, metaTypes=@0xbf8af7f8, slotIdx=4) at qdbusintegrator.cpp:849
#73 0xb65d0337 in QDBusConnectionPrivate::activateCall (this=0x8216578, object=0x822a168, flags=337, msg=@0x828ab10) at qdbusintegrator.cpp:754
#74 0xb65d0841 in QDBusConnectionPrivate::activateObject (this=0x8216578, node=@0x828aafc, msg=@0x828ab10, pathStartPos=16) at qdbusintegrator.cpp:1306
#75 0xb65d0d3a in QDBusActivateObjectEvent::placeMetaCall (this=0x828aad0) at qdbusintegrator.cpp:1400
#76 0xb744b8f1 in QObject::event (this=0xbf8b0030, e=0x828aad0) at kernel/qobject.cpp:1155
#77 0xb743ba4b in QCoreApplication::event (this=0xbf8b0030, e=0x828aad0) at kernel/qcoreapplication.cpp:1385
#78 0xb6b370b6 in QApplication::event (this=0xbf8b0030, e=0x828aad0) at kernel/qapplication.cpp:2187
#79 0xb6b3179c in QApplicationPrivate::notify_helper (this=0x8220648, receiver=0xbf8b0030, e=0x828aad0) at kernel/qapplication.cpp:3803
#80 0xb6b3961e in QApplication::notify (this=0xbf8b0030, receiver=0xbf8b0030, e=0x828aad0) at kernel/qapplication.cpp:3393
#81 0xb7ec477d in KApplication::notify (this=0xbf8b0030, receiver=0xbf8b0030, event=0x828aad0) at ../../kdeui/kernel/kapplication.cpp:307
#82 0xb743c0e1 in QCoreApplication::notifyInternal (this=0xbf8b0030, receiver=0xbf8b0030, event=0x828aad0) at kernel/qcoreapplication.cpp:587
#83 0xb743cd65 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x82073a0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:209
#84 0xb743cf5d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1091
#85 0xb746699f in postEventSourceDispatch (s=0x8225518) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:214
#86 0xb589b1b8 in IA__g_main_context_dispatch (context=0x8225490) at /tmp/buildd/glib2.0-2.16.6/glib/gmain.c:2012
#87 0xb589e853 in g_main_context_iterate (context=0x8225490, block=1, dispatch=1, self=0x8220738) at /tmp/buildd/glib2.0-2.16.6/glib/gmain.c:2645
#88 0xb589ea11 in IA__g_main_context_iteration (context=0x8225490, may_block=1) at /tmp/buildd/glib2.0-2.16.6/glib/gmain.c:2708
#89 0xb74665e8 in QEventDispatcherGlib::processEvents (this=0x8219d80, flags={i = -1081409736}) at kernel/qeventdispatcher_glib.cpp:319
#90 0xb6bcad75 in QGuiEventDispatcherGlib::processEvents (this=0x8219d80, flags={i = -1081409688}) at kernel/qguieventdispatcher_glib.cpp:198
#91 0xb743a7aa in QEventLoop::processEvents (this=0xbf8affe0, flags={i = -1081409624}) at kernel/qeventloop.cpp:143
#92 0xb743a96a in QEventLoop::exec (this=0xbf8affe0, flags={i = -1081409560}) at kernel/qeventloop.cpp:194
#93 0xb743d025 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#94 0xb6b31617 in QApplication::exec () at kernel/qapplication.cpp:3331
#95 0x08051000 in main (argc=) at ../../korganizer/main.cpp:58
Comment 1 Gunter Ohrner 2009-02-04 15:48:21 UTC
Created attachment 30960 [details]
Invitation Mail causing the crash.
Comment 2 Gunter Ohrner 2009-02-04 15:49:34 UTC
Note that kOrganizer removed the mail from my mailstore but did not manage to save the appointment before crashing, thus leading to data loss!
Comment 3 Kevin Krammer 2009-02-08 14:40:53 UTC
SVN commit 923208 by krake:

Using nested event loops to achieve synchronous call behavior while doing Akonadi jobs has created way to many issues due to unexpected re-entrancy.

This is basically backport of a series of changes in trunk which replace this form of blocking with real blocking of the caller and delegating the Akonadi job execution to a worker thread.

This should fix all the bugs this is sent to. If they remain with 4.2.1 once it is released, please re-open.

Darío, in case I missed some of the eventloop related bugs, please feel free to close them as well.

BUG: 177294
BUG: 158129
BUG: 182475
BUG: 178869
BUG: 179577
BUG: 179838
BUG: 180384
BUG: 181153
BUG: 181966
BUG: 182833
BUG: 182956
BUG: 183187


 M  +210 -55   kabc/resourceakonadi.cpp  
 M  +202 -54   kcal/resourceakonadi.cpp  


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