Bug 290773

Summary: Akonadi IMAP Agent crashes upon toggling it "offline"
Product: [Frameworks and Libraries] Akonadi Reporter: Georg Greve <greve>
Component: IMAP resourceAssignee: Kevin Ottens <ervin>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kdepim-bugs, vkrause
Priority: NOR    
Version: 4.7   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:

Description Georg Greve 2012-01-06 08:52:50 UTC
Application: akonadi_imap_resource (4.7)
KDE Platform Version: 4.7.4 (4.7.4)
Qt Version: 4.8.0
Operating System: Linux 3.1.6-1.fc16.x86_64 x86_64
Distribution: "Fedora release 16 (Verne)"

-- Information about the crash:
My Akonadi IMAP agents regularly hang throughout the night, e.g. because the connection to the IMAP server got dropped temporarily. The workaround for this is to toggle it offline and then turn it back online. When turning it offline, it crashes every single time for the same accounts, see backtrace. 

Sometimes Akonadi then manages to restart the agent, sometimes I have to log out/back in at the very least.

The crash can be reproduced every time.

-- Backtrace:
Application: 0: Kolab Systems of type IMAP E-Mail Server (akonadi_imap_resource), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
82	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f2d85caa840 (LWP 1958))]

Thread 2 (Thread 0x7f2d7b77a700 (LWP 2059)):
#0  0x00000035c8ce6af3 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00000035cb044f88 in g_main_context_poll (n_fds=1, fds=0x7f2d741a6dc0, priority=<optimized out>, timeout=-1, context=0x7f2d740009a0) at gmain.c:3386
#2  g_main_context_iterate (context=0x7f2d740009a0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3068
#3  0x00000035cb04544c in g_main_context_iteration (context=0x7f2d740009a0, may_block=1) at gmain.c:3136
#4  0x00000038017a7db6 in QEventDispatcherGlib::processEvents (this=0x7f2d740008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003801778172 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00000038017783c7 in QEventLoop::exec (this=0x7f2d7b779d20, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003801678b27 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x000000381463bf73 in KIMAP::SessionThread::run (this=0x246df60) at /usr/src/debug/kdepimlibs-4.7.4/kimap/sessionthread.cpp:169
#9  0x000000380167bb6b in QThreadPrivate::start (arg=0x246df60) at thread/qthread_unix.cpp:298
#10 0x00000035c9807d90 in start_thread (arg=0x7f2d7b77a700) at pthread_create.c:309
#11 0x00000035c8cef48d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f2d85caa840 (LWP 1958)):
[KCrash Handler]
#6  indexOfMethodRelative<4> (normalizeStringData=false, method=0x2631c29 "connectionLost()", baseObject=0x7fff02e991a0) at kernel/qmetaobject.cpp:525
#7  QMetaObjectPrivate::indexOfSignalRelative (baseObject=0x7fff02e991a0, signal=0x2631c29 "connectionLost()", normalizeStringData=false) at kernel/qmetaobject.cpp:628
#8  0x000000380178c587 in QObject::disconnect (sender=0x2432a90, signal=0x2631c29 "connectionLost()", receiver=0x2430850, method=0x25c39b9 "onEarlyConnectionLost()") at kernel/qobject.cpp:2895
#9  0x0000000000452ca1 in SessionPool::killSession (this=0x2430850, session=0x2432a90, termination=SessionPool::LogoutSession) at /usr/src/debug/kdepim-runtime-4.7.4/resources/imap/sessionpool.cpp:177
#10 0x0000000000453265 in SessionPool::disconnect (this=0x2430850, termination=SessionPool::LogoutSession) at /usr/src/debug/kdepim-runtime-4.7.4/resources/imap/sessionpool.cpp:119
#11 0x00000000004167b3 in ImapResource::doSetOnline (this=0x241dfd0, online=false) at /usr/src/debug/kdepim-runtime-4.7.4/resources/imap/imapresource.cpp:421
#12 0x000000380b286ff8 in Akonadi::AgentBase::setOnline (this=0x241dfd0, state=false) at /usr/src/debug/kdepimlibs-4.7.4/akonadi/agentbase.cpp:630
#13 0x000000380b3b8994 in Akonadi__StatusAdaptor::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kdepimlibs-4.7.4/x86_64-redhat-linux-gnu/akonadi/statusadaptor.moc:106
#14 0x000000380b3b8b5b in Akonadi__StatusAdaptor::qt_metacall (this=0x241b970, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff02e99500) at /usr/src/debug/kdepimlibs-4.7.4/x86_64-redhat-linux-gnu/akonadi/statusadaptor.moc:149
#15 0x0000003802422d8b in QDBusConnectionPrivate::deliverCall (this=0x22ce900, object=0x241b970, msg=..., metaTypes=..., slotIdx=12) at qdbusintegrator.cpp:947
#16 0x0000003802423ecd in QDBusConnectionPrivate::activateCall (this=0x22ce900, object=0x241b970, flags=273, msg=...) at qdbusintegrator.cpp:857
#17 0x000000380242482b in QDBusConnectionPrivate::activateObject (this=0x22ce900, node=..., msg=..., pathStartPos=<optimized out>) at qdbusintegrator.cpp:1423
#18 0x000000380242491b in QDBusActivateObjectEvent::placeMetaCall (this=0x25c0610) at qdbusintegrator.cpp:1537
#19 0x0000003801791f06 in QObject::event (this=0x241dfd0, e=<optimized out>) at kernel/qobject.cpp:1195
#20 0x00000038029c9994 in notify_helper (e=0x25c0610, receiver=0x241dfd0, this=0x2289a20) at kernel/qapplication.cpp:4550
#21 QApplicationPrivate::notify_helper (this=0x2289a20, receiver=0x241dfd0, e=0x25c0610) at kernel/qapplication.cpp:4522
#22 0x00000038029ce813 in QApplication::notify (this=0x7fff02e9a1b0, receiver=0x241dfd0, e=0x25c0610) at kernel/qapplication.cpp:4411
#23 0x0000003804a50766 in KApplication::notify (this=0x7fff02e9a1b0, receiver=0x241dfd0, event=0x25c0610) at /usr/src/debug/kdelibs-4.7.4/kdeui/kernel/kapplication.cpp:311
#24 0x000000380177903c in QCoreApplication::notifyInternal (this=0x7fff02e9a1b0, receiver=0x241dfd0, event=0x25c0610) at kernel/qcoreapplication.cpp:876
#25 0x000000380177caca in sendEvent (event=0x25c0610, receiver=0x241dfd0) at kernel/qcoreapplication.h:231
#26 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x225e8e0) at kernel/qcoreapplication.cpp:1500
#27 0x00000038017a7923 in sendPostedEvents () at kernel/qcoreapplication.h:236
#28 postEventSourceDispatch (s=0x228e990) at kernel/qeventdispatcher_glib.cpp:279
#29 0x00000035cb044a7d in g_main_dispatch (context=0x228e8a0) at gmain.c:2425
#30 g_main_context_dispatch (context=0x228e8a0) at gmain.c:2995
#31 0x00000035cb045278 in g_main_context_iterate (context=0x228e8a0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3073
#32 0x00000035cb04544c in g_main_context_iteration (context=0x228e8a0, may_block=1) at gmain.c:3136
#33 0x00000038017a7d4f in QEventDispatcherGlib::processEvents (this=0x2260140, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#34 0x0000003802a6c61e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:207
#35 0x0000003801778172 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#36 0x00000038017783c7 in QEventLoop::exec (this=0x7fff02e9a130, flags=...) at kernel/qeventloop.cpp:204
#37 0x000000380177cdc5 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#38 0x000000380b34d0f6 in Akonadi::ResourceBase::init (r=0x241dfd0) at /usr/src/debug/kdepimlibs-4.7.4/akonadi/resourcebase.cpp:393
#39 0x000000000041a5e6 in Akonadi::ResourceBase::init<ImapResource> (argc=<optimized out>, argv=<optimized out>) at /usr/include/kde4/akonadi/resourcebase.h:188
#40 0x00000035c8c2169d in __libc_start_main (main=0x415080 <main(int, char**)>, argc=3, ubp_av=0x7fff02e9a2c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff02e9a2b8) at libc-start.c:226
#41 0x0000000000415235 in _start ()

Reported using DrKonqi
Comment 1 Christophe Marin 2012-01-06 10:06:02 UTC
Fixed yesterday.

*** This bug has been marked as a duplicate of bug 288268 ***