Bug 243518

Summary: kmail crashes when /home remains out of disk space
Product: [Unmaintained] kmail Reporter: Mihai DONȚU <mihai.dontu>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: sergio
Priority: NOR    
Version: 1.13.3   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Mihai DONȚU 2010-07-03 18:23:42 UTC
Application: kontact (4.4.3)
KDE Platform Version: 4.4.4 (KDE 4.4.4) (Compiled from sources)
Qt Version: 4.6.3
Operating System: Linux 2.6.34-tuxonice x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
I was building a project which managed to take all the free disk space from /home. After a few seconds (or 5min max. - I think it depends on when KMail checks for mail), KMail started using 100% of my CPU and after another couple of seconds it got into disksleep and xfssyncd started taking all the CPU (I use XFS). I waited a bit and deleted a large directory I didn't use anymore, freeing ~160MB. That's when KMail crashed.

The crash can be reproduced every time.

 -- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.2400.1-gdb.py", line 9, in <module>
    from gobject import register
  File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
ImportError: No module named backtrace
[Current thread is 1 (Thread 0x7f5b3a12c760 (LWP 4769))]

Thread 3 (Thread 0x7f5b01d3f710 (LWP 4928)):
#0  0x00007f5b33670ac9 in pthread_cond_timedwait () from /lib/libpthread.so.0
#1  0x00007f5b0a82e908 in metronom_sync_loop () from /usr/lib64/libxine.so.1
#2  0x00007f5b3366bb64 in start_thread () from /lib/libpthread.so.0
#3  0x00007f5b327584bd in clone () from /lib/libc.so.6

Thread 2 (Thread 0x7f5b00524710 (LWP 4930)):
#0  0x00007f5b3274eb83 in poll () from /lib/libc.so.6
#1  0x00007f5b2f5e8c33 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#2  0x00007f5b2f5e8f3e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f5b339f90c8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007f5b339d2662 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007f5b339d29b3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007f5b338f64bb in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007f5b0aa84c4a in Phonon::Xine::XineThread::run() () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so
#8  0x00007f5b338f879f in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007f5b3366bb64 in start_thread () from /lib/libpthread.so.0
#10 0x00007f5b327584bd in clone () from /lib/libc.so.6

Thread 1 (Thread 0x7f5b3a12c760 (LWP 4769)):
[KCrash Handler]
#5  0x00007f5b19e26767 in void (anonymous namespace)::copy_from_stream<unsigned int>(unsigned int&) () from /usr/lib64/libkmailprivate.so.4
#6  0x00007f5b19e268e3 in KMMsgBase::getLongPart(KMMsgBase::MsgPartType) const () from /usr/lib64/libkmailprivate.so.4
#7  0x00007f5b19e255a9 in KMMsgBase::asIndexString(int&) const () from /usr/lib64/libkmailprivate.so.4
#8  0x00007f5b19f7fbb3 in KMFolderIndex::writeMessages(KMMsgBase*, bool, _IO_FILE*) () from /usr/lib64/libkmailprivate.so.4
#9  0x00007f5b19f821de in KMFolderIndex::writeIndex(bool) () from /usr/lib64/libkmailprivate.so.4
#10 0x00007f5b19e89d14 in KMFolderMaildir::reallyDoClose() () from /usr/lib64/libkmailprivate.so.4
#11 0x00007f5b1a08e81f in KMail::MessageListView::StorageModel::~StorageModel() () from /usr/lib64/libkmailprivate.so.4
#12 0x00007f5b1956a830 in MessageList::Core::Widget::setStorageModel(MessageList::Core::StorageModel*, MessageList::Core::PreSelectionMode) () from /usr/lib64/libmessagelist.so.4
#13 0x00007f5b1a0931fe in KMail::MessageListView::Widget::setFolder(KMFolder*, QIcon const&, MessageList::Core::PreSelectionMode) () from /usr/lib64/libkmailprivate.so.4
#14 0x00007f5b1a08c793 in KMail::MessageListView::Pane::setCurrentFolder(KMFolder*, bool, MessageList::Core::PreSelectionMode, QString const&) () from /usr/lib64/libkmailprivate.so.4
#15 0x00007f5b19f7c7ae in KMMainWidget::folderSelected(KMFolder*, bool, bool) () from /usr/lib64/libkmailprivate.so.4
#16 0x00007f5b19f7db93 in KMMainWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkmailprivate.so.4
#17 0x00007f5b339e5182 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#18 0x00007f5b19d4e0e8 in KMail::FolderViewManager::folderActivated(KMFolder*, bool) () from /usr/lib64/libkmailprivate.so.4
#19 0x00007f5b19d5798c in KMail::FolderView::activateItemInternal(KMail::FolderViewItem*, bool, bool, bool) () from /usr/lib64/libkmailprivate.so.4
#20 0x00007f5b19d582a0 in KMail::FolderView::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkmailprivate.so.4
#21 0x00007f5b19d5c0af in KMail::MainFolderView::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkmailprivate.so.4
#22 0x00007f5b339e5182 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#23 0x00007f5b345be90c in QTreeWidget::itemClicked(QTreeWidgetItem*, int) () from /usr/lib64/qt4/libQtGui.so.4
#24 0x00007f5b345c5f78 in QTreeWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt4/libQtGui.so.4
#25 0x00007f5b38f5423b in KPIM::TreeWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkdepim.so.4
#26 0x00007f5b38fc1e1f in KPIM::FolderTreeWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkdepim.so.4
#27 0x00007f5b19d580db in KMail::FolderView::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkmailprivate.so.4
#28 0x00007f5b19d5c0af in KMail::MainFolderView::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkmailprivate.so.4
#29 0x00007f5b339e5182 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#30 0x00007f5b34552c1b in QAbstractItemView::clicked(QModelIndex const&) () from /usr/lib64/qt4/libQtGui.so.4
#31 0x00007f5b3455f683 in QAbstractItemView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#32 0x00007f5b34141654 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#33 0x00007f5b3446437a in QFrame::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#34 0x00007f5b3455fed9 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#35 0x00007f5b3459400f in QTreeView::viewportEvent(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#36 0x00007f5b339d2fb9 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#37 0x00007f5b340f5ba8 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#38 0x00007f5b340fcc65 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#39 0x00007f5b3510ef62 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#40 0x00007f5b339d3a0a in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#41 0x00007f5b340fbcbc in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#42 0x00007f5b34162c66 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib64/qt4/libQtGui.so.4
#43 0x00007f5b34161b29 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#44 0x00007f5b34185805 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtGui.so.4
#45 0x00007f5b2f5e575a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#46 0x00007f5b2f5e8d81 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#47 0x00007f5b2f5e8f3e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#48 0x00007f5b339f9090 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#49 0x00007f5b34185202 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#50 0x00007f5b339d2662 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#51 0x00007f5b339d29b3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#52 0x00007f5b339d6eff in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#53 0x00000000004041a8 in main ()

Reported using DrKonqi
Comment 1 Sérgio Basto 2010-08-09 04:18:46 UTC
I had lose all my configurations of kmail after enter in "no left space on device". 
this is a serious bug
Comment 2 Laurent Montel 2015-04-12 09:55:14 UTC
Thank you for taking the time to file a bug report.

KMail2 was released in 2011, and the entire code base went through significant changes. We are currently in the process of porting to Qt5 and KF5. It is unlikely that these bugs are still valid in KMail2.

We welcome you to try out KMail 2 with the KDE 4.14 release and give your feedback.