Bug 249505 - Random crash when running in the background
Summary: Random crash when running in the background
Status: RESOLVED WORKSFORME
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: IMAP resource (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Kevin Ottens
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-30 14:17 UTC by Christophe Marin
Modified: 2010-11-26 21:51 UTC (History)
2 users (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 Christophe Marin 2010-08-30 14:17:12 UTC
Using trunk,

The imap resource crash randomly. It seems it always happen with a gmx account.

Here's the backtrace, I'll try to get more information later:

Application: Akonadi Resource (akonadi_imap_resource), signal: Aborted
[Current thread is 1 (Thread 0x7f228554a760 (LWP 21629))]

Thread 3 (Thread 0x7f227e244710 (LWP 21633)):
#0  0x00007f228c329e13 in select () from /lib64/libc.so.6
#1  0x00007f228eeba611 in qt_safe_select (nfds=12, fdread=0x5f98a0, fdwrite=0x5f9b38, fdexcept=0x5f9dd0, orig_timeout=<value optimized out>) at kernel/qcore_unix.cpp:82
#2  0x00007f228eebf5ed in QEventDispatcherUNIXPrivate::doSelect (this=0x5f96e0, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:219
#3  0x00007f228eec068f in QEventDispatcherUNIX::processEvents (this=0x5f90c0, flags=...) at kernel/qeventdispatcher_unix.cpp:928
#4  0x00007f228ee91d82 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f228ee91f95 in QEventLoop::exec (this=0x7f227e243df0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007f228eda5034 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f228f86f825 in KIMAP::SessionThread::run (this=0x5f82d0) at /kde/src/KDE/kdepimlibs/kimap/sessionthread.cpp:166
#8  0x00007f228eda78ae in QThreadPrivate::start (arg=0x5f82d0) at thread/qthread_unix.cpp:274
#9  0x00007f228bde4a4f in start_thread () from /lib64/libpthread.so.0
#10 0x00007f228c33082d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f227da43710 (LWP 21650)):
#0  0xffffffffff600177 in ?? ()
#1  0x00007fff385007a1 in ?? ()
#2  0x00007f228b1342a3 in clock_gettime () from /lib64/librt.so.1
#3  0x00007f228edfa20f in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#5  0x00007f228eebdfad in QTimerInfoList::updateCurrentTime (this=0x601b60) at kernel/qeventdispatcher_unix.cpp:339
#6  0x00007f228eebf246 in QEventDispatcherUNIXPrivate::doSelect (this=0x6012f0, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:182
#7  0x00007f228eec068f in QEventDispatcherUNIX::processEvents (this=0x53f7e0, flags=...) at kernel/qeventdispatcher_unix.cpp:928
#8  0x00007f228ee91d82 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#9  0x00007f228ee91f95 in QEventLoop::exec (this=0x7f227da42df0, flags=...) at kernel/qeventloop.cpp:201
#10 0x00007f228eda5034 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#11 0x00007f228f86f825 in KIMAP::SessionThread::run (this=0x68d1d0) at /kde/src/KDE/kdepimlibs/kimap/sessionthread.cpp:166
#12 0x00007f228eda78ae in QThreadPrivate::start (arg=0x68d1d0) at thread/qthread_unix.cpp:274
#13 0x00007f228bde4a4f in start_thread () from /lib64/libpthread.so.0
#14 0x00007f228c33082d in clone () from /lib64/libc.so.6
#15 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f228554a760 (LWP 21629)):
[KCrash Handler]
#6  0x00007f228c2929e5 in raise () from /lib64/libc.so.6
#7  0x00007f228c293ee6 in abort () from /lib64/libc.so.6
#8  0x00007f228ed9f6f4 in qt_message_output (msgType=<value optimized out>, buf=<value optimized out>) at global/qglobal.cpp:2259
#9  0x00007f228ed9f8bd in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f228eef2538 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=
    0x7fff384b82f0) at global/qglobal.cpp:2305
#10 0x00007f228ed9fa55 in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2488
#11 0x00007f228ed9fa7e in qt_assert_x (where=0x547d <Address 0x547d out of bounds>, what=0x6 <Address 0x6 out of bounds>, file=0xffffffffffffffff <Address 0xffffffffffffffff out of bounds>, line=
    -2058049696) at global/qglobal.cpp:2012
#12 0x00007f228f855f64 in QList<KIMAP::Message::Part>::operator[] (this=0x61c900, i=2) at /usr/include/QtCore/qlist.h:459
#13 0x00007f228f85edbc in KIMAP::IdleJob::handleResponse (this=0x55cb70, response=...) at /kde/src/KDE/kdepimlibs/kimap/idlejob.cpp:88
#14 0x00007f228f86ba05 in KIMAP::SessionPrivate::responseReceived (this=0x5f8090, response=...) at /kde/src/KDE/kdepimlibs/kimap/session.cpp:258
#15 0x00007f228f86ca48 in KIMAP::Session::qt_metacall (this=0x5f7f90, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x673aa0) at /kde/build/KDE/kdepimlibs/kimap/session.moc:106
#16 0x00007f228eea678a in QObject::event (this=0x5f7f90, e=<value optimized out>) at kernel/qobject.cpp:1211
#17 0x00007f228e2766b4 in QApplicationPrivate::notify_helper (this=0x4ac230, receiver=0x5f7f90, e=0x5163b0) at kernel/qapplication.cpp:4399
#18 0x00007f228e27eaba in QApplication::notify (this=<value optimized out>, receiver=0x5f7f90, e=0x5163b0) at kernel/qapplication.cpp:4280
#19 0x00007f228d1b52f6 in KApplication::notify (this=0x7fff384b9070, receiver=0x5f7f90, event=0x5163b0) at /usr/src/debug/kdelibs-4.5.66svn1167746/kdeui/kernel/kapplication.cpp:310
#20 0x00007f228ee9294c in QCoreApplication::notifyInternal (this=0x7fff384b9070, receiver=0x5f7f90, event=0x5163b0) at kernel/qcoreapplication.cpp:732
#21 0x00007f228ee96145 in sendEvent (receiver=0x0, event_type=0, data=0x492470) at kernel/qcoreapplication.h:215
#22 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x492470) at kernel/qcoreapplication.cpp:1373
#23 0x00007f228e31b28d in sendPostedEvents (this=0x491b90, flags=...) at ../../src/corelib/kernel/qcoreapplication.h:220
#24 QEventDispatcherX11::processEvents (this=0x491b90, flags=...) at kernel/qeventdispatcher_x11.cpp:75
#25 0x00007f228ee91d82 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#26 0x00007f228ee91f95 in QEventLoop::exec (this=0x7fff384b8fe0, flags=...) at kernel/qeventloop.cpp:201
#27 0x00007f228ee963fb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#28 0x00007f228f596ef9 in Akonadi::ResourceBase::init (r=0x52ec70) at /kde/src/KDE/kdepimlibs/akonadi/resourcebase.cpp:245
#29 0x0000000000419b53 in Akonadi::ResourceBase::init<ImapResource> (argc=3, argv=0x7fff384b91c8) at /kde/inst/kdepimlibs/include/akonadi/resourcebase.h:186
#30 0x0000000000418818 in main (argc=3, argv=0x7fff384b91c8) at /kde/src/KDE/kdepim-runtime/resources/imap/imapresource.cpp:489
Comment 1 Christophe Marin 2010-08-30 17:12:55 UTC
ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/include/QtCore/qlist.h, line 459

from gdb:


#14 0x00007f2c0353ea05 in KIMAP::SessionPrivate::responseReceived (this=0x5f70d0, response=...) at /kde/src/KDE/kdepimlibs/kimap/session.cpp:258
258         currentJob->handleResponse( response );
(gdb) p response
$9 = (const KIMAP::Message &) @0x7f2bec095f50: {
  content = QList<KIMAP::Message::Part> = {
    [0] = {
      m_type = KIMAP::Message::Part::String, 
      m_string = "*" = {
        [0] = 42 '*'
      }, 
      m_list = empty QList<QByteArray>
    },
    [1] = {
      m_type = KIMAP::Message::Part::String, 
      m_string = "BYE" = {
        [0] = 66 'B',
        [1] = 89 'Y',
        [2] = 69 'E'
      }, 
      m_list = empty QList<QByteArray>
    }
  }, 
  responseCode = empty QList<KIMAP::Message::Part>
}
Comment 2 Christophe Marin 2010-08-30 21:55:10 UTC
mmh, it doesn't crash every time:

akonadi_imap_resource_4(30970) ImapResource::doSetOnline: online= false
A message was received from the server with no job to handle it: "* BYE " "(2a2042594520)" 
akonadi_imap_resource_4(30970) ImapResource::doSetOnline: online= true
akonadi_imap_resource_4(30970) ImapResource::doSetOnline: online= true
akonadi_imap_resource_4(30970) RetrieveCollectionsTask::onMailBoxesReceived: Something is wrong here, we already have created a collection for "/Kde" 
akonadi_imap_resource_4(30970)/libakonadi Akonadi::ItemSync::setFullSyncItems: Received:  1 In total:  1  Wanted:  -1
akonadi_imap_resource_4(30970)/libakonadi Akonadi::ItemSync::setFullSyncItems: Received:  42 In total:  43  Wanted:  -1

[...]

akonadi_imap_resource_4(30970) ImapResource::doSetOnline: online= false
ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/include/QtCore/qlist.h, line 459
Comment 3 Christophe Marin 2010-11-26 21:51:52 UTC
I Didn't see that for a while. Closing for now.