Bug 284134

Summary: kmail crashes upon click on the tray icon
Product: [Applications] kmail2 Reporter: yannek
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED WORKSFORME    
Severity: crash CC: marc-schmitzer, yannek
Priority: NOR    
Version: 4.7   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi

Description yannek 2011-10-15 21:52:11 UTC
Application: kmail (4.7.2)
KDE Platform Version: 4.7.2 (4.7.2)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-12-generic x86_64
Distribution: Ubuntu 11.10

-- Information about the crash:
- What I was doing when the application crashed:
After booting the computer and logging in,  kmail started automatically, new mails were found and shown per number in the icon. Upon clicking on the tray icon kmail crashed.

This happens every time on a fresh computer start if new mails are indicated and kmail is unminimized for the first time. After restarting of kmail everything works as expected.

The crash can be reproduced some of the time.

-- Backtrace:
Application: KMail (kmail), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fca8c6bc7a0 (LWP 2559))]

Thread 3 (Thread 0x7fca6cd79700 (LWP 2666)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fca7e98fc2c in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007fca7e98fd59 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007fca875daefc in start_thread (arg=0x7fca6cd79700) at pthread_create.c:304
#4  0x00007fca89a3489d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fca6c478700 (LWP 2667)):
#0  0x00007fca89a28773 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fca8247df68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fca8247e429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fca8a3a6f3e in QEventDispatcherGlib::processEvents (this=0x10f89f0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007fca8a37acf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fca8a37aef7 in QEventLoop::exec (this=0x7fca6c477de0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007fca8a29227f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#7  0x00007fca8a294d05 in QThreadPrivate::start (arg=0x10f7c90) at thread/qthread_unix.cpp:331
#8  0x00007fca875daefc in start_thread (arg=0x7fca6c478700) at pthread_create.c:304
#9  0x00007fca89a3489d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fca8c6bc7a0 (LWP 2559)):
[KCrash Handler]
#6  QModelIndex (other=..., this=0x7fff859c1ee0) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:65
#7  QSortFilterProxyModel::parent (this=0x1050ed0, child=<optimized out>) at itemviews/qsortfilterproxymodel.cpp:1657
#8  0x00007fca8adf306b in parent (this=0x134c7a8) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:389
#9  QTreeView::indexRowSizeHint (this=0xffee40, index=...) at itemviews/qtreeview.cpp:2759
#10 0x00007fca8adf6b69 in itemHeight (item=37, this=0xfff590) at itemviews/qtreeview.cpp:3232
#11 QTreeViewPrivate::itemHeight (this=0xfff590, item=<optimized out>) at itemviews/qtreeview.cpp:3221
#12 0x00007fca8adf6e03 in QTreeViewPrivate::updateScrollBars (this=0xfff590) at itemviews/qtreeview.cpp:3457
#13 0x00007fca8adf71df in QTreeView::updateGeometries (this=0xffee40) at itemviews/qtreeview.cpp:2686
#14 0x00007fca8a8fcc80 in QWidget::event (this=0xffee40, event=0x7fff859c2c60) at kernel/qwidget.cpp:8449
#15 0x00007fca8aca54f6 in QFrame::event (this=0xffee40, e=0x7fff859c2c60) at widgets/qframe.cpp:557
#16 0x00007fca8adb619b in QAbstractItemView::viewportEvent (this=0xffee40, event=0x7fff859c2c60) at itemviews/qabstractitemview.cpp:1628
#17 0x00007fca8adfad35 in QTreeView::viewportEvent (this=0xffee40, event=0x7fff859c2c60) at itemviews/qtreeview.cpp:1256
#18 0x00007fca8a37bc88 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0xfffbb0, event=0x7fff859c2c60) at kernel/qcoreapplication.cpp:902
#19 0x00007fca8a8ac3ef in notify_helper (e=0x7fff859c2c60, receiver=0xfffbb0, this=0xc37790) at kernel/qapplication.cpp:4482
#20 QApplicationPrivate::notify_helper (this=0xc37790, receiver=0xfffbb0, e=0x7fff859c2c60) at kernel/qapplication.cpp:4458
#21 0x00007fca8a8b1291 in QApplication::notify (this=0x7fff859c44e0, receiver=0xfffbb0, e=0x7fff859c2c60) at kernel/qapplication.cpp:4365
#22 0x00007fca8c0cd126 in KApplication::notify (this=0x7fff859c44e0, receiver=0xfffbb0, event=0x7fff859c2c60) at ../../kdeui/kernel/kapplication.cpp:311
#23 0x00007fca8a37bafc in QCoreApplication::notifyInternal (this=0x7fff859c44e0, receiver=0xfffbb0, event=0x7fff859c2c60) at kernel/qcoreapplication.cpp:787
#24 0x00007fca8a8f890f in sendEvent (event=0x7fff859c2c60, receiver=0xfffbb0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#25 QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0xfffbe0, recursive=false, disableUpdates=<optimized out>) at kernel/qwidget.cpp:7365
#26 0x00007fca8a900681 in QWidgetPrivate::show_helper (this=<optimized out>) at kernel/qwidget.cpp:7416
#27 0x00007fca8a900aa2 in QWidget::setVisible (this=0xfffbb0, visible=<optimized out>) at kernel/qwidget.cpp:7697
#28 0x00007fca8a900616 in show (this=0xfffbb0) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:487
#29 QWidgetPrivate::showChildren (this=<optimized out>, spontaneous=false) at kernel/qwidget.cpp:7785
#30 0x00007fca8a90069d in QWidgetPrivate::show_helper (this=<optimized out>) at kernel/qwidget.cpp:7422
#31 0x00007fca8a900aa2 in QWidget::setVisible (this=0xffee40, visible=<optimized out>) at kernel/qwidget.cpp:7697
#32 0x00007fca8a900616 in show (this=0xffee40) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:487
#33 QWidgetPrivate::showChildren (this=<optimized out>, spontaneous=false) at kernel/qwidget.cpp:7785
#34 0x00007fca8a90069d in QWidgetPrivate::show_helper (this=<optimized out>) at kernel/qwidget.cpp:7422
#35 0x00007fca8a900aa2 in QWidget::setVisible (this=0xffed80, visible=<optimized out>) at kernel/qwidget.cpp:7697
#36 0x00007fca8a900616 in show (this=0xffed80) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:487
#37 QWidgetPrivate::showChildren (this=<optimized out>, spontaneous=false) at kernel/qwidget.cpp:7785
#38 0x00007fca8a90069d in QWidgetPrivate::show_helper (this=<optimized out>) at kernel/qwidget.cpp:7422
#39 0x00007fca8a900aa2 in QWidget::setVisible (this=0x114ce00, visible=<optimized out>) at kernel/qwidget.cpp:7697
#40 0x00007fca8a900616 in show (this=0x114ce00) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:487
#41 QWidgetPrivate::showChildren (this=<optimized out>, spontaneous=false) at kernel/qwidget.cpp:7785
#42 0x00007fca8a90069d in QWidgetPrivate::show_helper (this=<optimized out>) at kernel/qwidget.cpp:7422
#43 0x00007fca8a900aa2 in QWidget::setVisible (this=0xeaa0a0, visible=<optimized out>) at kernel/qwidget.cpp:7697
#44 0x00007fca8a900616 in show (this=0xeaa0a0) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:487
#45 QWidgetPrivate::showChildren (this=<optimized out>, spontaneous=false) at kernel/qwidget.cpp:7785
#46 0x00007fca8a90069d in QWidgetPrivate::show_helper (this=<optimized out>) at kernel/qwidget.cpp:7422
#47 0x00007fca8a900aa2 in QWidget::setVisible (this=0xffe2c0, visible=<optimized out>) at kernel/qwidget.cpp:7697
#48 0x00007fca8a900616 in show (this=0xffe2c0) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:487
#49 QWidgetPrivate::showChildren (this=<optimized out>, spontaneous=false) at kernel/qwidget.cpp:7785
#50 0x00007fca8a90069d in QWidgetPrivate::show_helper (this=<optimized out>) at kernel/qwidget.cpp:7422
#51 0x00007fca8a900aa2 in QWidget::setVisible (this=0xffabc0, visible=<optimized out>) at kernel/qwidget.cpp:7697
#52 0x00007fca8c1f32f1 in show (this=<optimized out>) at /usr/include/qt4/QtGui/qwidget.h:487
#53 KStatusNotifierItemPrivate::minimizeRestore (this=0x11d8770, show=true) at ../../kdeui/notifications/kstatusnotifieritem.cpp:968
#54 0x00007fca8c1f5563 in KStatusNotifierItemPrivate::checkVisibility (this=0x11d8770, pos=..., perform=true) at ../../kdeui/notifications/kstatusnotifieritem.cpp:620
#55 0x00007fca8c1f5fbb in KStatusNotifierItem::activate (this=0x11d8510, pos=...) at ../../kdeui/notifications/kstatusnotifieritem.cpp:589
#56 0x00007fca8c1f7482 in KStatusNotifierItemDBus::Activate (this=<optimized out>, x=<optimized out>, y=<optimized out>) at ../../kdeui/notifications/kstatusnotifieritemdbus_p.cpp:318
#57 0x00007fca8c222b66 in StatusNotifierItemAdaptor::qt_metacall (this=0x11dd270, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fff859c3950) at statusnotifieritemadaptor.moc:169
#58 0x00007fca880e10e9 in QDBusConnectionPrivate::deliverCall (this=0x11d8be0, object=0x11dd270, msg=..., metaTypes=..., slotIdx=10) at qdbusintegrator.cpp:942
#59 0x00007fca880e219b in QDBusConnectionPrivate::activateCall (this=0x11d8be0, object=0x11dd270, flags=273, msg=...) at qdbusintegrator.cpp:845
#60 0x00007fca880e2b22 in QDBusConnectionPrivate::activateObject (this=0x11d8be0, node=..., msg=..., pathStartPos=<optimized out>) at qdbusintegrator.cpp:1410
#61 0x00007fca880e2bf8 in QDBusActivateObjectEvent::placeMetaCall (this=0x7fca6404e670) at qdbusintegrator.cpp:1524
#62 0x00007fca8a392a5e in QObject::event (this=0x11d8990, e=<optimized out>) at kernel/qobject.cpp:1217
#63 0x00007fca8a8ac424 in notify_helper (e=0x7fca6404e670, receiver=0x11d8990, this=0xc37790) at kernel/qapplication.cpp:4486
#64 QApplicationPrivate::notify_helper (this=0xc37790, receiver=0x11d8990, e=0x7fca6404e670) at kernel/qapplication.cpp:4458
#65 0x00007fca8a8b1291 in QApplication::notify (this=0x7fff859c44e0, receiver=0x11d8990, e=0x7fca6404e670) at kernel/qapplication.cpp:4365
#66 0x00007fca8c0cd126 in KApplication::notify (this=0x7fff859c44e0, receiver=0x11d8990, event=0x7fca6404e670) at ../../kdeui/kernel/kapplication.cpp:311
#67 0x00007fca8a37bafc in QCoreApplication::notifyInternal (this=0x7fff859c44e0, receiver=0x11d8990, event=0x7fca6404e670) at kernel/qcoreapplication.cpp:787
#68 0x00007fca8a37f51f in sendEvent (event=0x7fca6404e670, receiver=0x11d8990) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#69 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xaf1460) at kernel/qcoreapplication.cpp:1428
#70 0x00007fca8a3a6a73 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#71 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:277
#72 0x00007fca8247da5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#73 0x00007fca8247e258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#74 0x00007fca8247e429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#75 0x00007fca8a3a6ed6 in QEventDispatcherGlib::processEvents (this=0xaf2f70, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#76 0x00007fca8a95407e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#77 0x00007fca8a37acf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#78 0x00007fca8a37aef7 in QEventLoop::exec (this=0x7fff859c43b0, flags=...) at kernel/qeventloop.cpp:201
#79 0x00007fca8a37f789 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#80 0x0000000000402bd3 in main (argc=<optimized out>, argv=<optimized out>) at ../../kmail/main.cpp:145

Possible duplicates by query: bug 274398, bug 272884, bug 272240, bug 267454, bug 261643.

Reported using DrKonqi
Comment 1 yannek 2011-10-18 15:58:10 UTC
Created attachment 64674 [details]
New crash information added by DrKonqi

kmail (4.7.2) on KDE Platform 4.7.2 (4.7.2) using Qt 4.7.4

Just to be comprehensive, here a second stacktrace. The crashes still occur ranging from "always the first time" to "pretty sure always the first time".

-- Backtrace (Reduced):
#6  QModelIndex (other=..., this=0x7fff0407f370) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:65
#7  QSortFilterProxyModel::parent (this=0x2634ff0, child=<optimized out>) at itemviews/qsortfilterproxymodel.cpp:1657
#8  0x00007fd0d114006b in parent (this=0x29e62d0) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:389
#9  QTreeView::indexRowSizeHint (this=0x260cf80, index=...) at itemviews/qtreeview.cpp:2759
#10 0x00007fd0d1143b69 in itemHeight (item=0, this=0x260cfd0) at itemviews/qtreeview.cpp:3232
Comment 2 Marc Schmitzer 2011-11-12 17:17:28 UTC
Created attachment 65565 [details]
New crash information added by DrKonqi

kmail (4.7.2) on KDE Platform 4.7.2 (4.7.2) using Qt 4.7.4

- What I was doing when the application crashed:

Had just started the computer, KMail started automatically and was showing new mails. Clicked the systray icon to open KMail, crashed.

-- Backtrace (Reduced):
#7  QModelIndex (other=<optimized out>, this=0xbf8e16f0) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:65
#8  QSortFilterProxyModel::parent (this=0x881ad20, child=...) at itemviews/qsortfilterproxymodel.cpp:1657
#9  0xb6b4bd45 in parent (this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:389
#10 QTreeView::indexRowSizeHint (this=0x87de368, index=...) at itemviews/qtreeview.cpp:2759
#11 0xb6b4fd37 in itemHeight (item=18, this=0x87df1b0) at itemviews/qtreeview.cpp:3232
Comment 3 yannek 2011-11-23 15:02:15 UTC
Okay, the crashes went away after I imported the old mail from the ~/Mail directory into the "new" local dir folders via the "files-> import messages" option. 

Before the mail in ~/Mail was accessed as a "kmail-maildir" resource.

The movement of the imported mails to their respective places and marking the messages as already read again caused some crashes. But now using KMail is stable.
Comment 4 Myriam Schweingruber 2012-08-18 22:08:47 UTC
All backtraces show actually problems with Qt, not with Kmail nor Akonadi or any related technology. Is this reproducible with Qt 4.8.x?
Comment 5 yannek 2012-10-06 11:04:33 UTC
No, with the current setup (kmail 4.8.5, Qt 4.8.1) the imports no longer crash and access to old folders seems stable.
Comment 6 Jekyll Wu 2012-10-06 11:58:12 UTC
Thanks for your feedback. Close this report for now.