Bug 291964 - Crash on IMAP resource when loosing connection
Summary: Crash on IMAP resource when loosing connection
Status: RESOLVED FIXED
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: IMAP resource (show other bugs)
Version: 4.8
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Kevin Ottens
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-19 15:01 UTC by Alex Fiestas
Modified: 2012-01-19 23:47 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.8.1
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Fiestas 2012-01-19 15:01:11 UTC
Application: akonadi_imap_resource (4.8)
KDE Platform Version: 4.8.00 (4.8.0 (Compiled from sources)
Qt Version: 4.8.0
Operating System: Linux 3.2.1-1-ARCH x86_64

-- Information about the crash:
2 of 3 times I unplug the cable or I disable the wifi I'm getting this backtrace.

Using latest master.

The crash can be reproduced some of the time.

-- Backtrace:
Application: GMail of type IMAP E-Mail Server (akonadi_imap_resource), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f5ddbd39780 (LWP 10824))]

Thread 4 (Thread 0x7f5dc9e37700 (LWP 11480)):
#0  0x00007f5dd5a7ce83 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#1  0x00007f5dd5a7dbed in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f5dd5a7e219 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f5ddb157166 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f5ddb126e92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f5ddb1270e7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f5ddb027d47 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f5dd9b51949 in KIMAP::SessionThread::run (this=0x23619e0) at /home/afiestas/cod3s/cpp/kde/source/kdepimlibs/kimap/sessionthread.cpp:178
#8  0x00007f5ddb02ad6b in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f5ddad99e7a in start_thread () from /lib/libpthread.so.0
#10 0x00007f5dd6cd9bad in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f5dc9636700 (LWP 11771)):
#0  0x00007f5ddad9ce70 in __pthread_mutex_unlock_usercnt () from /lib/libpthread.so.0
#1  0x00007f5dd5a7cdd4 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#2  0x00007f5dd5a7dbed in ?? () from /usr/lib/libglib-2.0.so.0
#3  0x00007f5dd5a7e219 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0x00007f5ddb157166 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f5ddb126e92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f5ddb1270e7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x00007f5ddb027d47 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x00007f5dd9b51949 in KIMAP::SessionThread::run (this=0x2677870) at /home/afiestas/cod3s/cpp/kde/source/kdepimlibs/kimap/sessionthread.cpp:178
#9  0x00007f5ddb02ad6b in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007f5ddad99e7a in start_thread () from /lib/libpthread.so.0
#11 0x00007f5dd6cd9bad in clone () from /lib/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f5dc8c2f700 (LWP 11772)):
#0  0x00007f5ddad9df3e in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f5ddb02b1df in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f5ddb01e5ff in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f5ddb02ad6b in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f5ddad99e7a in start_thread () from /lib/libpthread.so.0
#5  0x00007f5dd6cd9bad in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f5ddbd39780 (LWP 10824)):
[KCrash Handler]
#6  QString (other=..., this=0x7fff40ae6d70) at /usr/include/QtCore/qstring.h:725
#7  ImapAccount::server (this=0x0) at /home/afiestas/cod3s/cpp/kde/source/kdepim-runtime/resources/imap/imapaccount.cpp:48
#8  0x0000000000457fdd in SessionPool::onLoginDone (this=0x23292d0, job=0x2e607b0) at /home/afiestas/cod3s/cpp/kde/source/kdepim-runtime/resources/imap/sessionpool.cpp:359
#9  0x000000000045850c in SessionPool::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/afiestas/cod3s/cpp/kde/build/kdepim-runtime/resources/imap/sessionpool.moc:95
#10 0x00007f5ddb13bf51 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#11 0x00007f5dd78f3e52 in KJob::result (this=<optimized out>, _t1=0x2e607b0) at /home/afiestas/cod3s/cpp/kde/build/kdelibs/kdecore/kjob.moc:208
#12 0x00007f5dd78f3e90 in KJob::emitResult (this=0x2e607b0) at /home/afiestas/cod3s/cpp/kde/source/kdelibs/kdecore/jobs/kjob.cpp:318
#13 0x00007f5dd9b43ecc in KIMAP::LoginJob::connectionLost (this=0x2e607b0) at /home/afiestas/cod3s/cpp/kde/source/kdepimlibs/kimap/loginjob.cpp:502
#14 0x00007f5dd9b4f84d in KIMAP::SessionPrivate::clearJobQueue (this=0x26a3aa0) at /home/afiestas/cod3s/cpp/kde/source/kdepimlibs/kimap/session.cpp:398
#15 0x00007f5ddb141116 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#16 0x00007f5dda296854 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#17 0x00007f5dda29b6d3 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#18 0x00007f5dd81565b6 in KApplication::notify (this=0x7fff40ae79e0, receiver=0x6da8230, event=0x7f5dbc003020) at /home/afiestas/cod3s/cpp/kde/source/kdelibs/kdeui/kernel/kapplication.cpp:311
#19 0x00007f5ddb1280ac in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#20 0x00007f5ddb12b94a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#21 0x00007f5ddb156cd3 in ?? () from /usr/lib/libQtCore.so.4
#22 0x00007f5dd5a7d84d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#23 0x00007f5dd5a7e048 in ?? () from /usr/lib/libglib-2.0.so.0
#24 0x00007f5dd5a7e219 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#25 0x00007f5ddb1570ff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#26 0x00007f5dda339f1e in ?? () from /usr/lib/libQtGui.so.4
#27 0x00007f5ddb126e92 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#28 0x00007f5ddb1270e7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#29 0x00007f5ddb12bc45 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#30 0x00007f5ddb861566 in Akonadi::ResourceBase::init (r=0x2487b60) at /home/afiestas/cod3s/cpp/kde/source/kdepimlibs/akonadi/resourcebase.cpp:405
#31 0x000000000041c1c6 in Akonadi::ResourceBase::init<ImapResource> (argc=<optimized out>, argv=<optimized out>) at /home/afiestas/cod3s/cpp/kde/bin/include/akonadi/resourcebase.h:188
#32 0x00007f5dd6c1838d in __libc_start_main () from /lib/libc.so.6
#33 0x0000000000416975 in _start ()

Reported using DrKonqi
Comment 1 Allen Winter 2012-01-19 23:42:41 UTC
Git commit 4356294397f197007cc054c03b638be024cddb79 by Allen Winter.
Committed on 20/01/2012 at 00:40.
Pushed by winterz into branch 'master'.

in onLoginDone(), deal properly with m_account being 0 when creating
the cancel sesssion creation message.
FIXED-IN: 4.8.1
MERGE: 4.8 (But carefully, since we need to be clever about a new string)

M  +12   -4    resources/imap/sessionpool.cpp

http://commits.kde.org/kdepim-runtime/4356294397f197007cc054c03b638be024cddb79
Comment 2 Allen Winter 2012-01-19 23:47:32 UTC
Git commit 78d9b59804606890d87b44f7162466cb76e4f487 by Allen Winter.
Committed on 20/01/2012 at 00:40.
Pushed by winterz into branch 'KDE/4.8'.

in onLoginDone(), deal properly with m_account being 0 when creating
the cancel sesssion creation message.
FIXED-IN: 4.8.1
MERGE: 4.8 (But carefully, since we need to be clever about a new string)
(cherry picked from commit 4356294397f197007cc054c03b638be024cddb79)

M  +12   -4    resources/imap/sessionpool.cpp

http://commits.kde.org/kdepim-runtime/78d9b59804606890d87b44f7162466cb76e4f487