Bug 340624 - kontact won't exit and then crashes
Summary: kontact won't exit and then crashes
Status: RESOLVED FIXED
Alias: None
Product: kontact
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2014-11-04 10:24 UTC by RJVB
Modified: 2014-11-10 18:38 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.14.3


Attachments
I'm currently testing this patch, which should at least prevent the crash (423 bytes, patch)
2014-11-04 16:27 UTC, RJVB
Details

Note You need to log in before you can comment on or make changes to this bug.
Description RJVB 2014-11-04 10:24:54 UTC
Application: kontact (4.14.2)
KDE Platform Version: 4.14.2 (Compiled from sources)
Qt Version: 4.8.6
Operating System: Linux 3.13.11.6-ck1-kubuntu-amdf10-rjvb x86_64
Distribution: Ubuntu 14.04.1 LTS

-- Information about the crash:
- What I was doing when the application crashed:
Kontact had yet again frozen in the "Retrieving Folder Contents" display, despite having just restarted akonadi TWICE. I used the Quit menu to exit it, and then noticed it didn't (running it via --nofork so it was apparent on the calling terminal). When I right-clicked the systray icon that was another indicator of kontact still running, the crash dialog appeared.

All kdepim packages and akonadi are very recent git clones and are built from source via ppa:rjvbertin/kdepim

-- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
To enable execution of this file add
	add-auto-load-safe-path /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20-gdb.py
line to your configuration file "/home/bertin/.gdbinit".
To completely disable this security protection add
	set auto-load safe-path /
line to your configuration file "/home/bertin/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
	info "(gdb)Auto-loading safe path"
[Current thread is 1 (Thread 0x7f9ffdcab800 (LWP 16665))]

Thread 4 (Thread 0x7f9fde53d700 (LWP 16668)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f9ff88da81d in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007f9ff88da859 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007f9ff4fbc182 in start_thread (arg=0x7f9fde53d700) at pthread_create.c:312
#4  0x00007f9ffaf1afbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f9f9dc22700 (LWP 16670)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f9ff861b20d in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007f9ff8909fd6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007f9ff4fbc182 in start_thread (arg=0x7f9f9dc22700) at pthread_create.c:312
#4  0x00007f9ffaf1afbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f9f8e343700 (LWP 16683)):
#0  0x00007f9ffaf0dc6d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f9ff4adcfe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f9ff4add0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f9ffb8d272e in QEventDispatcherGlib::processEvents (this=0x7f9f880008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#4  0x00007f9ffb8a05af in QEventLoop::processEvents (this=this@entry=0x7f9f8e342de0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f9ffb8a08ed in QEventLoop::exec (this=this@entry=0x7f9f8e342de0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f9ffb783413 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#7  0x00007f9ffb785e03 in QThreadPrivate::start (arg=0xbde040) at thread/qthread_unix.cpp:349
#8  0x00007f9ff4fbc182 in start_thread (arg=0x7f9f8e343700) at pthread_create.c:312
#9  0x00007f9ffaf1afbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f9ffdcab800 (LWP 16665)):
[KCrash Handler]
#6  0x00007f9f95149ae4 in MailCommon::FolderTreeWidget::folderTreeView (this=<optimized out>, this=<optimized out>) at ../../mailcommon/folder/foldertreewidget.cpp:261
#7  0x00007f9f955043df in folderTreeView (this=<optimized out>, this=<optimized out>) at ../../kmail/kmmainwidget.h:146
#8  KMKernel::treeviewModelSelection (this=<optimized out>) at ../../kmail/kmkernel.cpp:1939
#9  0x00007f9f954efa8e in KMail::KMSystemTray::slotContextMenuAboutToShow (this=0x1675610) at ../../kmail/kmsystemtray.cpp:307
#10 0x00007f9ffb8b795a in QMetaObject::activate (sender=0x178f060, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3567
#11 0x00007f9ffb8aab17 in QMetaMethod::invoke (this=this@entry=0x7fff49f44340, object=object@entry=0x178f060, connectionType=Qt::DirectConnection, connectionType@entry=Qt::AutoConnection, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1664
#12 0x00007f9ffb8ad256 in QMetaObject::invokeMethod (obj=0x178f060, member=0x7f9ff5b4b46c "aboutToShow", type=Qt::AutoConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1179
#13 0x00007f9ff5b3aa0d in ?? () from /usr/lib/x86_64-linux-gnu/libdbusmenu-qt.so.2
#14 0x00007f9ff5b3c4fe in ?? () from /usr/lib/x86_64-linux-gnu/libdbusmenu-qt.so.2
#15 0x00007f9ff5b3c80f in ?? () from /usr/lib/x86_64-linux-gnu/libdbusmenu-qt.so.2
#16 0x00007f9ffa28ab1e in QDBusConnectionPrivate::deliverCall (this=this@entry=0x1787f20, object=object@entry=0x905370, msg=..., metaTypes=..., slotIdx=11) at qdbusintegrator.cpp:951
#17 0x00007f9ffa28c053 in QDBusConnectionPrivate::activateCall (this=this@entry=0x1787f20, object=0x905370, flags=4080, msg=...) at qdbusintegrator.cpp:856
#18 0x00007f9ffa28c58f in QDBusConnectionPrivate::activateObject (this=0x1787f20, node=..., msg=..., pathStartPos=<optimized out>) at qdbusintegrator.cpp:1447
#19 0x00007f9ffa28c9bb in QDBusActivateObjectEvent::placeMetaCall (this=0xbbccd0) at qdbusintegrator.cpp:1541
#20 0x00007f9ffb8bc35e in QObject::event (this=0x905370, e=<optimized out>) at kernel/qobject.cpp:1222
#21 0x00007f9ffc2a20ac in QApplicationPrivate::notify_helper (this=this@entry=0x9071d0, receiver=receiver@entry=0x905370, e=e@entry=0xbbccd0) at kernel/qapplication.cpp:4570
#22 0x00007f9ffc2a90c5 in QApplication::notify (this=this@entry=0x7fff49f45d10, receiver=receiver@entry=0x905370, e=e@entry=0xbbccd0) at kernel/qapplication.cpp:4356
#23 0x00007f9ffd073cca in KApplication::notify (this=0x7fff49f45d10, receiver=0x905370, event=0xbbccd0) at ../../kdeui/kernel/kapplication.cpp:311
#24 0x00007f9ffb8a1c04 in QCoreApplication::notifyInternal (this=0x7fff49f45d10, receiver=receiver@entry=0x905370, event=event@entry=0xbbccd0) at kernel/qcoreapplication.cpp:953
#25 0x00007f9ffb8a5957 in sendEvent (event=0xbbccd0, receiver=0x905370) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#26 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, receiver@entry=0x7f9ffb8d3060 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>, event_type=event_type@entry=0, data=0x8b82b0) at kernel/qcoreapplication.cpp:1577
#27 0x00007f9ffb8a5d07 in QCoreApplication::sendPostedEvents (receiver=0x7f9ffb8d3060 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>, receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#28 0x00007f9ffb8d3073 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#29 postEventSourceDispatch (s=0x8ecde0) at kernel/qeventdispatcher_glib.cpp:287
#30 0x00007f9ff4adce04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f9ff4add048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f9ff4add0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f9ffb8d270f in QEventDispatcherGlib::processEvents (this=0x8b9bb0, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#34 0x00007f9ffc350d86 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#35 0x00007f9ffb8a05af in QEventLoop::processEvents (this=this@entry=0x7fff49f45260, flags=...) at kernel/qeventloop.cpp:149
#36 0x00007f9ffb8a08ed in QEventLoop::exec (this=0x7fff49f45260, flags=...) at kernel/qeventloop.cpp:204
#37 0x00007f9ffbd38af3 in KJob::exec (this=0x11f0110) at ../../kdecore/jobs/kjob.cpp:210
#38 0x00007f9f9550090b in KMKernel::cleanup (this=0x11a8f20) at ../../kmail/kmkernel.cpp:1311
#39 0x00007f9f9594bcc6 in KMailPart::~KMailPart (this=0xfd6e90, vtt=0x7f9f95b50300 <VTT for KMailPart>) at ../../kmail/kmail_part.cpp:119
#40 0x00007f9f9594be73 in ~KMailPart (this=<optimized out>, this=<optimized out>) at ../../kmail/kmail_part.cpp:114
#41 KMailPart::~KMailPart (this=0xfd6e90) at ../../kmail/kmail_part.cpp:114
#42 0x00007f9ffd908c30 in KontactInterface::Plugin::~Plugin (this=0xe51010, vtt=<optimized out>) at ../../kontactinterface/plugin.cpp:92
#43 0x00007f9f963d6eda in ~KMailPlugin (this=<optimized out>, vtt=<optimized out>, this=<optimized out>, vtt=<optimized out>) at ../../../../kontact/plugins/kmail/kmail_plugin.cpp:176
#44 KMailPlugin::~KMailPlugin (this=0xe51010) at ../../../../kontact/plugins/kmail/kmail_plugin.cpp:174
#45 0x00007f9f963d6f4c in KMailPlugin::~KMailPlugin (this=0xe51010) at ../../../../kontact/plugins/kmail/kmail_plugin.cpp:174
#46 0x00007f9ffd4b8762 in Kontact::MainWindow::~MainWindow (this=0xa51960, vtt=0x7f9ffd6daff0 <VTT for Kontact::MainWindow>) at ../../../kontact/src/mainwindow.cpp:296
#47 0x00007f9ffd4b8e07 in Kontact::MainWindow::~MainWindow (this=0xa51960) at ../../../kontact/src/mainwindow.cpp:271
#48 0x00007f9ffd4b8ebc in Kontact::MainWindow::~MainWindow (this=0xa51960) at ../../../kontact/src/mainwindow.cpp:271
#49 0x00007f9ffb8bc388 in QObject::event (this=this@entry=0xa51960, e=e@entry=0x3305700) at kernel/qobject.cpp:1203
#50 0x00007f9ffc2f91f3 in QWidget::event (this=this@entry=0xa51960, event=event@entry=0x3305700) at kernel/qwidget.cpp:8859
#51 0x00007f9ffc72e36b in QMainWindow::event (this=this@entry=0xa51960, event=event@entry=0x3305700) at widgets/qmainwindow.cpp:1478
#52 0x00007f9ffd128441 in KMainWindow::event (this=this@entry=0xa51960, ev=ev@entry=0x3305700) at ../../kdeui/widgets/kmainwindow.cpp:1084
#53 0x00007f9ffd15fed9 in KXmlGuiWindow::event (this=0xa51960, ev=0x3305700) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:126
#54 0x00007f9ffc2a20ac in QApplicationPrivate::notify_helper (this=this@entry=0x9071d0, receiver=receiver@entry=0xa51960, e=e@entry=0x3305700) at kernel/qapplication.cpp:4570
#55 0x00007f9ffc2a90c5 in QApplication::notify (this=this@entry=0x7fff49f45d10, receiver=receiver@entry=0xa51960, e=e@entry=0x3305700) at kernel/qapplication.cpp:4356
#56 0x00007f9ffd073cca in KApplication::notify (this=0x7fff49f45d10, receiver=0xa51960, event=0x3305700) at ../../kdeui/kernel/kapplication.cpp:311
#57 0x00007f9ffb8a1c04 in QCoreApplication::notifyInternal (this=0x7fff49f45d10, receiver=receiver@entry=0xa51960, event=event@entry=0x3305700) at kernel/qcoreapplication.cpp:953
#58 0x00007f9ffb8a5957 in sendEvent (event=0x3305700, receiver=0xa51960) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#59 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, receiver@entry=0x7f9ffb8d3060 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>, event_type=event_type@entry=0, data=0x8b82b0) at kernel/qcoreapplication.cpp:1577
#60 0x00007f9ffb8a5d07 in QCoreApplication::sendPostedEvents (receiver=0x7f9ffb8d3060 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>, receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#61 0x00007f9ffb8d3073 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#62 postEventSourceDispatch (s=0x8ecde0) at kernel/qeventdispatcher_glib.cpp:287
#63 0x00007f9ff4adce04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#64 0x00007f9ff4add048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#65 0x00007f9ff4add0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#66 0x00007f9ffb8d270f in QEventDispatcherGlib::processEvents (this=0x8b9bb0, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#67 0x00007f9ffc350d86 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#68 0x00007f9ffb8a05af in QEventLoop::processEvents (this=this@entry=0x7fff49f45ca0, flags=...) at kernel/qeventloop.cpp:149
#69 0x00007f9ffb8a08ed in QEventLoop::exec (this=this@entry=0x7fff49f45ca0, flags=...) at kernel/qeventloop.cpp:204
#70 0x00007f9ffb8a69a9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#71 0x0000000000404a7f in main (argc=<optimized out>, argv=<optimized out>) at ../../../kontact/src/main.cpp:219

The reporter indicates this bug may be a duplicate of or related to bug 315597.

Possible duplicates by query: bug 315597.

Reported using DrKonqi
Comment 1 RJVB 2014-11-04 16:27:29 UTC
Created attachment 89443 [details]
I'm currently testing this patch, which should at least prevent the crash
Comment 2 RJVB 2014-11-04 16:31:55 UTC
Comment on attachment 89443 [details]
I'm currently testing this patch, which should at least prevent the crash

that should be kmkernel->shuttingDown() of course ...
Comment 3 RJVB 2014-11-05 12:46:28 UTC
Git commit dee0b2510ea1333aed5c7c8d673327c08019e3e1 by René J.V. Bertin.
Committed on 05/11/2014 at 12:46.
Pushed by rjvbb into branch 'KDE/4.14'.

don't handle events for systray when shutting down,
avoiding null pointer dereference and crash

REVIEW: 120999

M  +1    -1    kmail/kmsystemtray.cpp

http://commits.kde.org/kdepim/dee0b2510ea1333aed5c7c8d673327c08019e3e1