Bug 182475 - kmail crashes at startup if there is no internet connection
Summary: kmail crashes at startup if there is no internet connection
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: KResource compat bridges (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Kevin Krammer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-30 19:45 UTC by Slobodan Simic
Modified: 2009-02-08 14:41 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 Slobodan Simic 2009-01-30 19:45:49 UTC
Version:           1.11.0 (using KDE 4.2.0)
OS:                Linux
Installed from:    Ubuntu Packages

Kmail crashes every time it starts if there is no internet connection available. It can be reproduced by just disabling wireless connection on my laptop and starting kmail. It crashes every time. When enabling internet connectivity and start kmail everything goes fine. This happens ONLY if Check mail on startup is checked in Accounts settings. If not, and there is no connection, kmail starts regulary and when check mail is clicked kmail just said Unknown host pop3.xxx.xxx
Here is backtrace...

Програм: KMail (kmail), сигнал SIGABRT
[Current thread is 0 (LWP 7872)]

Thread 3 (Thread 0xb0a90b90 (LWP 7875)):
#0  0xb7fc6430 in __kernel_vsyscall ()
#1  0xb515a3a2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5d3ca44 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb5f276cc in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#4  0xb5f1c886 in ?? () from /usr/lib/libQtCore.so.4
#5  0xb5f266ae in ?? () from /usr/lib/libQtCore.so.4
#6  0xb515650f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb5d2e7ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0xb027ab90 (LWP 7876)):
#0  0xb7fc6430 in __kernel_vsyscall ()
#1  0xb515a3a2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5d3ca44 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb5f276cc in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#4  0xb5f1c886 in ?? () from /usr/lib/libQtCore.so.4
#5  0xb5f266ae in ?? () from /usr/lib/libQtCore.so.4
#6  0xb515650f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb5d2e7ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb3eb36c0 (LWP 7872)):
[KCrash Handler]
#6  0xb7fc6430 in __kernel_vsyscall ()
#7  0xb5c78880 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0xb5c7a248 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0xb5cbc423 in ?? () from /lib/tls/i686/cmov/libc.so.6
#10 0xb5cbe3f5 in free () from /lib/tls/i686/cmov/libc.so.6
#11 0xb5e9a031 in operator delete () from /usr/lib/libstdc++.so.6
#12 0xb60158a5 in QEventLoop::~QEventLoop () from /usr/lib/libQtCore.so.4
#13 0xb60250ff in QObjectPrivate::deleteChildren () from /usr/lib/libQtCore.so.4
#14 0xb602dc43 in QObject::~QObject () from /usr/lib/libQtCore.so.4
#15 0xb7ab2c51 in KJob::~KJob () from /usr/lib/libkdecore.so.5
#16 0xb7ab1a58 in KCompositeJob::~KCompositeJob () from /usr/lib/libkdecore.so.5
#17 0xb0b4117c in Akonadi::Job::~Job () from /usr/lib/libakonadi-kde.so.4
#18 0xb0b0db6d in Akonadi::CollectionFetchJob::~CollectionFetchJob () from /usr/lib/libakonadi-kde.so.4
#19 0xb6024dec in qDeleteInEventHandler () from /usr/lib/libQtCore.so.4
#20 0xb60267a3 in QObject::event () from /usr/lib/libQtCore.so.4
#21 0xb62a68ec in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#22 0xb62ae72e in QApplication::notify () from /usr/lib/libQtGui.so.4
#23 0xb7ddc06d in KApplication::notify () from /usr/lib/libkdeui.so.5
#24 0xb6016e61 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#25 0xb6017ae5 in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib/libQtCore.so.4
#26 0xb6017cdd in QCoreApplication::sendPostedEvents () from /usr/lib/libQtCore.so.4
#27 0xb604182f in ?? () from /usr/lib/libQtCore.so.4
#28 0xb46366f8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0xb4639da3 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0xb4639f61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0xb6041478 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#32 0xb6340ea5 in ?? () from /usr/lib/libQtGui.so.4
#33 0xb601552a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#34 0xb60156ea in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#35 0xb6713987 in QDialog::exec () from /usr/lib/libQtGui.so.4
#36 0xb7d5534c in KMessageBox::createKMessageBox () from /usr/lib/libkdeui.so.5
#37 0xb7d567d1 in KMessageBox::createKMessageBox () from /usr/lib/libkdeui.so.5
#38 0xb7d5767f in KMessageBox::errorListWId () from /usr/lib/libkdeui.so.5
#39 0xb7d57891 in KMessageBox::error () from /usr/lib/libkdeui.so.5
#40 0xb74caf64 in ?? () from /usr/lib/libkmailprivate.so.4
#41 0xb74d5a54 in ?? () from /usr/lib/libkmailprivate.so.4
#42 0xb602ba60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#43 0xb602c7e2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#44 0xb6d6d40f in KIO::Scheduler::slaveError () from /usr/lib/libkio.so.5
#45 0xb6d6d661 in ?? () from /usr/lib/libkio.so.5
#46 0xb6d73f86 in KIO::Scheduler::qt_metacall () from /usr/lib/libkio.so.5
#47 0xb602ba60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#48 0xb602c7e2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#49 0xb6d89ae9 in KIO::SlaveInterface::error () from /usr/lib/libkio.so.5
#50 0xb6d8d917 in KIO::SlaveInterface::dispatch () from /usr/lib/libkio.so.5
#51 0xb6d89f37 in KIO::SlaveInterface::dispatch () from /usr/lib/libkio.so.5
#52 0xb6d7b32d in KIO::Slave::gotInput () from /usr/lib/libkio.so.5
#53 0xb6d7c4a3 in KIO::Slave::qt_metacall () from /usr/lib/libkio.so.5
#54 0xb602ba60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#55 0xb602c7e2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#56 0xb6c86507 in KIO::Connection::readyRead () from /usr/lib/libkio.so.5
#57 0xb6c885d9 in ?? () from /usr/lib/libkio.so.5
#58 0xb6c88766 in KIO::Connection::qt_metacall () from /usr/lib/libkio.so.5
#59 0xb6024bfb in QMetaCallEvent::placeMetaCall () from /usr/lib/libQtCore.so.4
#60 0xb6026771 in QObject::event () from /usr/lib/libQtCore.so.4
#61 0xb62a68ec in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#62 0xb62ae72e in QApplication::notify () from /usr/lib/libQtGui.so.4
#63 0xb7ddc06d in KApplication::notify () from /usr/lib/libkdeui.so.5
#64 0xb6016e61 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#65 0xb6017ae5 in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib/libQtCore.so.4
#66 0xb6017cdd in QCoreApplication::sendPostedEvents () from /usr/lib/libQtCore.so.4
#67 0xb604182f in ?? () from /usr/lib/libQtCore.so.4
#68 0xb46366f8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#69 0xb4639da3 in ?? () from /usr/lib/libglib-2.0.so.0
#70 0xb4639f61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#71 0xb6041478 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#72 0xb6340ea5 in ?? () from /usr/lib/libQtGui.so.4
#73 0xb601552a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#74 0xb60156ea in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#75 0xb6713987 in QDialog::exec () from /usr/lib/libQtGui.so.4
#76 0xb7d5534c in KMessageBox::createKMessageBox () from /usr/lib/libkdeui.so.5
#77 0xb7d567d1 in KMessageBox::createKMessageBox () from /usr/lib/libkdeui.so.5
#78 0xb7d5767f in KMessageBox::errorListWId () from /usr/lib/libkdeui.so.5
#79 0xb7d57891 in KMessageBox::error () from /usr/lib/libkdeui.so.5
#80 0xb74caf64 in ?? () from /usr/lib/libkmailprivate.so.4
#81 0xb74d5a54 in ?? () from /usr/lib/libkmailprivate.so.4
#82 0xb602ba60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#83 0xb602c7e2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#84 0xb6d6d40f in KIO::Scheduler::slaveError () from /usr/lib/libkio.so.5
#85 0xb6d6d661 in ?? () from /usr/lib/libkio.so.5
#86 0xb6d73f86 in KIO::Scheduler::qt_metacall () from /usr/lib/libkio.so.5
#87 0xb602ba60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#88 0xb602c7e2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#89 0xb6d89ae9 in KIO::SlaveInterface::error () from /usr/lib/libkio.so.5
#90 0xb6d8d917 in KIO::SlaveInterface::dispatch () from /usr/lib/libkio.so.5
#91 0xb6d89f37 in KIO::SlaveInterface::dispatch () from /usr/lib/libkio.so.5
#92 0xb6d7b32d in KIO::Slave::gotInput () from /usr/lib/libkio.so.5
#93 0xb6d7c4a3 in KIO::Slave::qt_metacall () from /usr/lib/libkio.so.5
#94 0xb602ba60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#95 0xb602c7e2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#96 0xb6c86507 in KIO::Connection::readyRead () from /usr/lib/libkio.so.5
#97 0xb6c885d9 in ?? () from /usr/lib/libkio.so.5
#98 0xb6c88766 in KIO::Connection::qt_metacall () from /usr/lib/libkio.so.5
#99 0xb6024bfb in QMetaCallEvent::placeMetaCall () from /usr/lib/libQtCore.so.4
#100 0xb6026771 in QObject::event () from /usr/lib/libQtCore.so.4
#101 0xb62a68ec in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#102 0xb62ae72e in QApplication::notify () from /usr/lib/libQtGui.so.4
#103 0xb7ddc06d in KApplication::notify () from /usr/lib/libkdeui.so.5
#104 0xb6016e61 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#105 0xb6017ae5 in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib/libQtCore.so.4
#106 0xb6017cdd in QCoreApplication::sendPostedEvents () from /usr/lib/libQtCore.so.4
#107 0xb604182f in ?? () from /usr/lib/libQtCore.so.4
#108 0xb46366f8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#109 0xb4639da3 in ?? () from /usr/lib/libglib-2.0.so.0
#110 0xb4639f61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#111 0xb6041478 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#112 0xb6340ea5 in ?? () from /usr/lib/libQtGui.so.4
#113 0xb601552a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#114 0xb60156ea in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#115 0xb7ab2ae1 in KJob::exec () from /usr/lib/libkdecore.so.5
#116 0xb0ba3290 in ?? () from /usr/lib/kde4/kabc_akonadi.so
#117 0xb6f5c2fa in KABC::AddressBook::asyncLoad () from /usr/lib/libkabc.so.4
#118 0xb6f8ad7a in KABC::StdAddressBook::Private::init () from /usr/lib/libkabc.so.4
#119 0xb6f8c242 in KABC::StdAddressBook::self () from /usr/lib/libkabc.so.4
#120 0xb754ed0c in ?? () from /usr/lib/libkmailprivate.so.4
#121 0xb73bfbbb in ?? () from /usr/lib/libkmailprivate.so.4
#122 0xb73c6c00 in ?? () from /usr/lib/libkmailprivate.so.4
#123 0xb73b3368 in ?? () from /usr/lib/libkmailprivate.so.4
#124 0xb73b3580 in ?? () from /usr/lib/libkmailprivate.so.4
#125 0xb73c1ce0 in ?? () from /usr/lib/libkmailprivate.so.4
#126 0xb602ba60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#127 0xb602c7e2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#128 0xb60667a7 in QTimer::timeout () from /usr/lib/libQtCore.so.4
#129 0xb603240e in QTimer::timerEvent () from /usr/lib/libQtCore.so.4
#130 0xb602653f in QObject::event () from /usr/lib/libQtCore.so.4
#131 0xb62a68ec in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#132 0xb62ae72e in QApplication::notify () from /usr/lib/libQtGui.so.4
#133 0xb7ddc06d in KApplication::notify () from /usr/lib/libkdeui.so.5
#134 0xb6016e61 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#135 0xb6044d81 in ?? () from /usr/lib/libQtCore.so.4
#136 0xb6041520 in ?? () from /usr/lib/libQtCore.so.4
#137 0xb46366f8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#138 0xb4639da3 in ?? () from /usr/lib/libglib-2.0.so.0
#139 0xb4639f61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#140 0xb6041478 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#141 0xb6340ea5 in ?? () from /usr/lib/libQtGui.so.4
#142 0xb601552a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#143 0xb60156ea in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#144 0xb6017da5 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#145 0xb62a6767 in QApplication::exec () from /usr/lib/libQtGui.so.4
#146 0x0804a7a0 in _start ()
Comment 1 Dario Andres 2009-01-31 14:02:46 UTC
Reassigning to Akonadi.
Comment 2 Kevin Krammer 2009-02-08 14:41:02 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