Bug 181153 - Crash after clicking both mouse buttons over the Summary button
Summary: Crash after clicking both mouse buttons over the Summary button
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: KResource compat bridges (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Kevin Krammer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-18 11:30 UTC by auxsvr
Modified: 2009-02-08 14:40 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description auxsvr 2009-01-18 11:30:40 UTC
Version:           Version 4.1.96 (KDE 4.1.96 (KDE 4.2 RC1)) "release 76.2" (using Devel)
Compiler:          gcc (SUSE Linux) 4.3.2 [gcc-4_3-branch revision 141291] 
OS:                Linux
Installed from:    Compiled sources

It might be relevant that a POP kioslave failed after the first mail check. I cannot reproduce this any more, here's the backtrace:

Application: Kontact (kontact), signal SIGABRT
[Current thread is 1 (Thread 0xb49f0700 (LWP 6644))]

Thread 3 (Thread 0xb0671b90 (LWP 6648)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb5a8e3e1 in select () from /lib/libc.so.6
#2  0xb67b2dc7 in QProcessManager::run (this=0x8074460) at io/qprocess_unix.cpp:301
#3  0xb66e385e in QThreadPrivate::start (arg=0x8074460) at thread/qthread_unix.cpp:185
#4  0xb66801b5 in start_thread () from /lib/libpthread.so.0
#5  0xb5a9538e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xafdecb90 (LWP 19415)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb6683f62 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb66e484c in QWaitCondition::wait (this=0x885fbc8, mutex=0x885fbc4, time=30000) at thread/qwaitcondition_unix.cpp:80
#3  0xb66d99c6 in QThreadPoolThread::run (this=0x86e30a0) at concurrent/qthreadpool.cpp:135
#4  0xb66e385e in QThreadPrivate::start (arg=0x86e30a0) at thread/qthread_unix.cpp:185
#5  0xb66801b5 in start_thread () from /lib/libpthread.so.0
#6  0xb5a9538e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb49f0700 (LWP 6644)):
[KCrash Handler]
#6  0xffffe430 in __kernel_vsyscall ()
#7  0xb59ee990 in raise () from /lib/libc.so.6
#8  0xb59f02c8 in abort () from /lib/libc.so.6
#9  0xb5a30683 in ?? () from /lib/libc.so.6
#10 0xb5a31edb in free () from /lib/libc.so.6
#11 0xb5c12ec1 in operator delete(void*) () from /usr/lib/libstdc++.so.6
#12 0xb67d2395 in ~QEventLoop (this=0xbfe9d4e0) at kernel/qeventloop.cpp:120
#13 0xb67e1c1f in QObjectPrivate::deleteChildren (this=0xa3fc690) at kernel/qobject.cpp:1884
#14 0xb67ea763 in ~QObject (this=0x9b4dcf0) at kernel/qobject.cpp:884
#15 0xb69f33c1 in KJob::~KJob() () from /usr/lib/libkdecore.so.5
#16 0xb69f21f8 in KCompositeJob::~KCompositeJob() () from /usr/lib/libkdecore.so.5
#17 0xb0af6bdc in Akonadi::Job::~Job() () from /usr/lib/libakonadi-kde.so.4
#18 0xb0ac7d3d in Akonadi::CollectionFetchJob::~CollectionFetchJob() () from /usr/lib/libakonadi-kde.so.4
#19 0xb67e190c in qDeleteInEventHandler (o=0x6) at kernel/qobject.cpp:3659
#20 0xb67e32b3 in QObject::event (this=0x9b4dcf0, e=0xa0f1f28) at kernel/qobject.cpp:1139
#21 0xb5d688fc in QApplicationPrivate::notify_helper (this=0x806fa80, receiver=0x9b4dcf0, e=0xa0f1f28) at kernel/qapplication.cpp:3803
#22 0xb5d7075e in QApplication::notify (this=0xbfe9f098, receiver=0x9b4dcf0, e=0xa0f1f28) at kernel/qapplication.cpp:3393
#23 0xb6d708fd in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#24 0xb67d3961 in QCoreApplication::notifyInternal (this=0xbfe9f098, receiver=0x9b4dcf0, event=0xa0f1f28) at kernel/qcoreapplication.cpp:587
#25 0xb67d45d5 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8050000) at kernel/qcoreapplication.h:209
#26 0xb67d47cd in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1091
#27 0xb67fe36f in postEventSourceDispatch (s=0x8071920) at kernel/qcoreapplication.h:214
#28 0xb517d9a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0xb5181063 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0xb5181221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0xb67fdfb8 in QEventDispatcherGlib::processEvents (this=0x806b360, flags={i = -1075198952}) at kernel/qeventdispatcher_glib.cpp:319
#32 0xb5e01785 in QGuiEventDispatcherGlib::processEvents (this=0x806b360, flags={i = -1075198904}) at kernel/qguieventdispatcher_glib.cpp:198
#33 0xb67d201a in QEventLoop::processEvents (this=0xbfe9c4bc, flags={i = -1075198840}) at kernel/qeventloop.cpp:143
#34 0xb67d21da in QEventLoop::exec (this=0xbfe9c4bc, flags={i = -1075198780}) at kernel/qeventloop.cpp:194
#35 0xb6141a51 in QMenu::exec (this=0xbfe9c508, p=@0xbfe9ccd8, action=0x0) at widgets/qmenu.cpp:1938
#36 0xb6141b47 in QMenu::exec (actions={{p = {static shared_null = {ref = {_q_value = 37185}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0xbfe9c5e8}, d = 0xbfe9c5e8}}, 
    pos=@0xbfe9ccd8, at=0x0) at widgets/qmenu.cpp:1972
#37 0xb5dc0dd4 in QWidget::event (this=0x8149880, event=0xbfe9ccc0) at kernel/qwidget.cpp:7328
#38 0xb60f6a83 in QFrame::event (this=0x8149880, e=0xbfe9ccc0) at widgets/qframe.cpp:651
#39 0xb618d1bf in QAbstractScrollArea::viewportEvent (this=0x8149880, e=0x6) at widgets/qabstractscrollarea.cpp:943
#40 0xb6237f3f in QAbstractItemView::viewportEvent (this=0x8149880, event=0xbfe9ccc0) at itemviews/qabstractitemview.cpp:1429
#41 0xb618f765 in QAbstractScrollAreaFilter::eventFilter (this=0x8146458, o=0x80612f8, e=0xbfe9ccc0) at widgets/qabstractscrollarea_p.h:96
#42 0xb67d2b3a in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x806fa80, receiver=0x80612f8, event=0xbfe9ccc0) at kernel/qcoreapplication.cpp:694
#43 0xb5d688da in QApplicationPrivate::notify_helper (this=0x806fa80, receiver=0x80612f8, e=0xbfe9ccc0) at kernel/qapplication.cpp:3799
#44 0xb5d70c85 in QApplication::notify (this=0xbfe9f098, receiver=0x80612f8, e=0xbfe9ccc0) at kernel/qapplication.cpp:3614
#45 0xb6d708fd in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#46 0xb67d3961 in QCoreApplication::notifyInternal (this=0xbfe9f098, receiver=0x80612f8, event=0xbfe9ccc0) at kernel/qcoreapplication.cpp:587
#47 0xb5d7389e in QCoreApplication::sendSpontaneousEvent (receiver=0x80612f8, event=0x6) at ../../src/corelib/kernel/qcoreapplication.h:212
#48 0xb5ddaeff in QETWidget::translateMouseEvent (this=0x814ea80, event=0xbfe9d27c) at kernel/qapplication_x11.cpp:4046
#49 0xb5dd9ac5 in QApplication::x11ProcessEvent (this=0xbfe9f098, event=0xbfe9d27c) at kernel/qapplication_x11.cpp:3036
#50 0xb5e0208a in x11EventSourceDispatch (s=0x8073e40, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:142
#51 0xb517d9a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#52 0xb5181063 in ?? () from /usr/lib/libglib-2.0.so.0
#53 0xb5181221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#54 0xb67fdfb8 in QEventDispatcherGlib::processEvents (this=0x806b360, flags={i = -1075194824}) at kernel/qeventdispatcher_glib.cpp:319
#55 0xb5e01785 in QGuiEventDispatcherGlib::processEvents (this=0x806b360, flags={i = -1075194776}) at kernel/qguieventdispatcher_glib.cpp:198
#56 0xb67d201a in QEventLoop::processEvents (this=0xbfe9d4e0, flags={i = -1075194712}) at kernel/qeventloop.cpp:143
#57 0xb67d21da in QEventLoop::exec (this=0xbfe9d4e0, flags={i = -1075194648}) at kernel/qeventloop.cpp:194
#58 0xb69f3251 in KJob::exec() () from /usr/lib/libkdecore.so.5
#59 0xafe5c73d in KCal::ResourceAkonadi::doLoad(bool) () from /usr/lib/kde4/kcal_akonadi.so
#60 0xb73eb2ed in KCal::ResourceCalendar::load() () from /usr/lib/libkcal.so.4
#61 0xb73fd5d1 in KCal::CalendarResources::load() () from /usr/lib/libkcal.so.4
#62 0xb1c702e3 in SDSummaryWidget::SDSummaryWidget(Kontact::Plugin*, QWidget*) () from /usr/lib/kde4/kontact_specialdatesplugin.so
#63 0xb1c6a8db in SpecialdatesPlugin::createSummaryWidget(QWidget*) () from /usr/lib/kde4/kontact_specialdatesplugin.so
#64 0xb15570a5 in SummaryViewPart::updateWidgets() () from /usr/lib/kde4/kontact_summaryplugin.so
#65 0xb1557e10 in SummaryViewPart::initGUI(Kontact::Core*) () from /usr/lib/kde4/kontact_summaryplugin.so
#66 0xb15583fb in SummaryViewPart::SummaryViewPart(Kontact::Core*, char const*, KAboutData const*, QObject*) () from /usr/lib/kde4/kontact_summaryplugin.so
#67 0xb15543e5 in SummaryView::createPart() () from /usr/lib/kde4/kontact_summaryplugin.so
#68 0xb7911192 in Kontact::Plugin::part() () from /usr/lib/libkontactinterfaces.so.4
#69 0xb7930228 in Kontact::MainWindow::selectPlugin(Kontact::Plugin*) () from /usr/lib/libkontactprivate.so.4
#70 0xb79300b4 in Kontact::MainWindow::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkontactprivate.so.4
#71 0xb67e8580 in QMetaObject::activate (sender=0x814ea80, from_signal_index=27, to_signal_index=27, argv=0xbfe9dcbc) at kernel/qobject.cpp:3031
#72 0xb67e9302 in QMetaObject::activate (sender=0x814ea80, m=0xb793f564, local_signal_index=0, argv=0xbfe9dcbc) at kernel/qobject.cpp:3101
#73 0xb7932a23 in Kontact::SidePaneBase::pluginSelected(Kontact::Plugin*) () from /usr/lib/libkontactprivate.so.4
#74 0xb7932abf in Kontact::SidePaneBase::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkontactprivate.so.4
#75 0xb7932d6a in Kontact::IconSidePane::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkontactprivate.so.4
#76 0xb67e8580 in QMetaObject::activate (sender=0x8149880, from_signal_index=69, to_signal_index=69, argv=0xbfe9ddec) at kernel/qobject.cpp:3031
#77 0xb67e9302 in QMetaObject::activate (sender=0x8149880, m=0xb793f690, local_signal_index=0, argv=0xbfe9ddec) at kernel/qobject.cpp:3101
#78 0xb7932e53 in Kontact::Navigator::pluginActivated(Kontact::Plugin*) () from /usr/lib/libkontactprivate.so.4
#79 0xb79337fd in Kontact::Navigator::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkontactprivate.so.4
#80 0xb67e8580 in QMetaObject::activate (sender=0x813c300, from_signal_index=5, to_signal_index=5, argv=0xbfe9dee8) at kernel/qobject.cpp:3031
#81 0xb67e9302 in QMetaObject::activate (sender=0x813c300, m=0xb6529850, local_signal_index=1, argv=0xbfe9dee8) at kernel/qobject.cpp:3101
#82 0xb627f779 in QItemSelectionModel::currentChanged (this=0x813c300, _t1=@0x81936b8, _t2=@0x8ca9998) at .moc/release-shared/moc_qitemselectionmodel.cpp:151
#83 0xb627f91d in QItemSelectionModel::setCurrentIndex (this=0x813c300, index=@0x81936b8, command={i = -1075191792}) at itemviews/qitemselectionmodel.cpp:1082
#84 0xb623193a in QAbstractItemView::mousePressEvent (this=0x8149880, event=0xbfe9e7c8) at itemviews/qabstractitemview.cpp:1470
#85 0xb5dc0a49 in QWidget::event (this=0x8149880, event=0xbfe9e7c8) at kernel/qwidget.cpp:7159
#86 0xb60f6a83 in QFrame::event (this=0x8149880, e=0xbfe9e7c8) at widgets/qframe.cpp:651
#87 0xb618d1bf in QAbstractScrollArea::viewportEvent (this=0x8149880, e=0x6) at widgets/qabstractscrollarea.cpp:943
#88 0xb6237f3f in QAbstractItemView::viewportEvent (this=0x8149880, event=0xbfe9e7c8) at itemviews/qabstractitemview.cpp:1429
#89 0xb618f765 in QAbstractScrollAreaFilter::eventFilter (this=0x8146458, o=0x80612f8, e=0xbfe9e7c8) at widgets/qabstractscrollarea_p.h:96
#90 0xb67d2b3a in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x806fa80, receiver=0x80612f8, event=0xbfe9e7c8) at kernel/qcoreapplication.cpp:694
#91 0xb5d688da in QApplicationPrivate::notify_helper (this=0x806fa80, receiver=0x80612f8, e=0xbfe9e7c8) at kernel/qapplication.cpp:3799
#92 0xb5d71111 in QApplication::notify (this=0xbfe9f098, receiver=0x80612f8, e=0xbfe9e7c8) at kernel/qapplication.cpp:3528
#93 0xb6d708fd in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#94 0xb67d3961 in QCoreApplication::notifyInternal (this=0xbfe9f098, receiver=0x80612f8, event=0xbfe9e7c8) at kernel/qcoreapplication.cpp:587
#95 0xb5d7039e in QApplicationPrivate::sendMouseEvent (receiver=0x80612f8, event=0xbfe9e7c8, alienWidget=0x80612f8, nativeWidget=0x814ea80, buttonDown=0xb6534cb0, lastMouseReceiver=@0xb6534cb4)
    at ../../src/corelib/kernel/qcoreapplication.h:212
#96 0xb5dda716 in QETWidget::translateMouseEvent (this=0x814ea80, event=0xbfe9edac) at kernel/qapplication_x11.cpp:4040
#97 0xb5dd9ac5 in QApplication::x11ProcessEvent (this=0xbfe9f098, event=0xbfe9edac) at kernel/qapplication_x11.cpp:3036
#98 0xb5e0208a in x11EventSourceDispatch (s=0x8073e40, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:142
#99 0xb517d9a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#100 0xb5181063 in ?? () from /usr/lib/libglib-2.0.so.0
#101 0xb5181221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#102 0xb67fdfb8 in QEventDispatcherGlib::processEvents (this=0x806b360, flags={i = -1075187864}) at kernel/qeventdispatcher_glib.cpp:319
#103 0xb5e01785 in QGuiEventDispatcherGlib::processEvents (this=0x806b360, flags={i = -1075187816}) at kernel/qguieventdispatcher_glib.cpp:198
#104 0xb67d201a in QEventLoop::processEvents (this=0xbfe9f010, flags={i = -1075187752}) at kernel/qeventloop.cpp:143
#105 0xb67d21da in QEventLoop::exec (this=0xbfe9f010, flags={i = -1075187688}) at kernel/qeventloop.cpp:194
#106 0xb67d4895 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#107 0xb5d68777 in QApplication::exec () at kernel/qapplication.cpp:3331
#108 0x0804bf8f in main ()
Comment 1 Kevin Krammer 2009-02-08 14:40:50 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