Bug 161523

Summary: Crash when compacting folder during mail check
Product: [Unmaintained] kmail Reporter: Juha Tuomala <tuju>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: kde-jay, orbspider, rdieter, wstephenson
Priority: NOR    
Version: 1.9.9   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Juha Tuomala 2008-05-02 13:18:20 UTC
Version:            (using KDE 3.5.9)
Installed from:    Fedora RPMs

https://bugzilla.redhat.com/show_bug.cgi?id=444956

Description of problem:
 run --nofork
Starting program: /usr/bin/kmail --nofork
[Thread debugging using libthread_db enabled]
[New Thread 0xb801f8e0 (LWP 3243)]
[New Thread 0xb7cc4b90 (LWP 3264)]
[New Thread 0xb72c3b90 (LWP 3265)]
[New Thread 0xb68c2b90 (LWP 3266)]
[New Thread 0xb5ec1b90 (LWP 3267)]
WeaverThreadLogger: thread (ID: 1) suspended.
WeaverThreadLogger: thread (ID: 2) suspended.
WeaverThreadLogger: thread (ID: 3) suspended.
WeaverThreadLogger: thread (ID: 4) suspended.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb801f8e0 (LWP 3243)]
KMFolder::isOpened (this=Could not find the frame base for "KMFolder::isOpened()
const".
) at kmfolder.cpp:495
495     bool KMFolder::isOpened() const
Missing separate debuginfos, use: debuginfo-install acl.i386 attr.i386
expat.i386 fontconfig.i386 freetype.i386 gcc.i386 glibc.i686 gpgme.i386
lcms.i386 libICE.i386 libSM.i386 libX11.i386 libXau.i386 libXcursor.i386
libXdmcp.i386 libXext.i386 libXfixes.i386 libXft.i386 libXi.i386
libXinerama.i386 libXrandr.i386 libXrender.i386 libart_lgpl.i386
libgpg-error.i386 libidn.i386 libjpeg.i386 libmng.i386 libpng.i386
libutempter.i386 libxcb.i386 pcre.i386 qt3.i386 zlib.i386
(gdb) bt
#0  KMFolder::isOpened (this=Could not find the frame base for
"KMFolder::isOpened() const".
) at kmfolder.cpp:495
#1  0x0617559d in KMMainWidget::slotCompactFolder (this=<value optimized out>)
    at kmmainwidget.cpp:1304
#2  0x0618ff5a in KMMainWidget::qt_invoke (this=<value optimized out>,
    _id=<value optimized out>, _o=Could not find the frame base for
"KMMainWidget::qt_invoke(int, QUObject*)".
) at kmmainwidget.moc:538
#3  0x04c13bda in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#4  0x04c156eb in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3

#5  0x0531fe39 in KAction::activated (this=Could not find the frame base for
"KAction::activated()".
) at kaction.moc:176
#6  0x05369960 in KAction::slotActivated (this=<value optimized out>)
    at kaction.cpp:1102
#7  0x0540f175 in KAction::slotPopupActivated (this=<value optimized out>)
    at kaction.cpp:1137
#8  0x0540f4a0 in KAction::qt_invoke (this=<value optimized out>,
    _id=<value optimized out>, _o=Could not find the frame base for
"KAction::qt_invoke(int, QUObject*)".
) at kaction.moc:219
#9  0x04c13bda in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#10 0x04fac54c in QSignal::signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#11 0x04c3378d in QSignal::activate () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#12 0x04d3871c in QPopupMenu::mouseReleaseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#13 0x0534cbe2 in KPopupMenu::mouseReleaseEvent (this=<value optimized out>,
    e=<value optimized out>) at kpopupmenu.cpp:508
#14 0x04c50e71 in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#15 0x04baadf5 in QApplication::internalNotify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#16 0x04bac16f in QApplication::notify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#17 0x03eab922 in KApplication::notify (this=<value optimized out>,
    receiver=<value optimized out>, event=<value optimized out>)
    at kapplication.cpp:550
#18 0x04b426be in QApplication::sendSpontaneousEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x04b4243f in QETWidget::translateMouseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#20 0x04b4136a in QApplication::x11ProcessEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#21 0x04b533cb in QEventLoop::processEvents ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#22 0x04bc54f0 in QEventLoop::enterLoop () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#23 0x04bab43f in QApplication::enter_loop ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#24 0x04d3b9d4 in QPopupMenu::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
---Type <return> to continue, or q <return> to quit---
#25 0x05f67489 in KMFolderTree::slotContextMenuRequested (
    this=<value optimized out>, lvi=<value optimized out>,
    p=<value optimized out>) at kmfoldertree.cpp:1166
#26 0x05f68bc1 in KMFolderTree::qt_invoke (this=<value optimized out>,
    _id=<value optimized out>, _o=Could not find the frame base for
"KMFolderTree::qt_invoke(int, QUObject*)".
) at kmfoldertree.moc:471
#27 0x04c13bda in QObject::activate_signal ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#28 0x04fc1810 in QListView::contextMenuRequested ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#29 0x04d16327 in QListView::contentsContextMenuEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#30 0x04d48296 in QScrollView::viewportContextMenuEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#31 0x04d470fb in QScrollView::eventFilter ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#32 0x04d11426 in QListView::eventFilter () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#33 0x05f5e1e9 in KMFolderTree::eventFilter (this=<value optimized out>,
    o=<value optimized out>, e=<value optimized out>) at kmfoldertree.cpp:1720
#34 0x04c13ca3 in QObject::activate_filters ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#35 0x04c13d2b in QObject::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#36 0x04c50cec in QWidget::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#37 0x04baadf5 in QApplication::internalNotify ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#38 0x04bac79f in QApplication::notify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#39 0x03eab922 in KApplication::notify (this=<value optimized out>,
    receiver=<value optimized out>, event=<value optimized out>)
    at kapplication.cpp:550
#40 0x04b426be in QApplication::sendSpontaneousEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#41 0x04b42512 in QETWidget::translateMouseEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#42 0x04b4136a in QApplication::x11ProcessEvent ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#43 0x04b533cb in QEventLoop::processEvents ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#44 0x04bc54f0 in QEventLoop::enterLoop () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#45 0x04bc53c6 in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#46 0x04bab4cf in QApplication::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#47 0x0804a09e in main (argc=Cannot access memory at address 0xffffffff
) at main.cpp:110
(gdb)

Version-Release number of selected component (if applicable):
kdepimlibs-debuginfo-4.0.3-3.fc9.i386
kdepim-libs-3.5.9-9.fc9.i386
kdepim-3.5.9-9.fc9.i386
kdepimlibs-devel-4.0.3-3.fc9.i386
kdepimlibs-4.0.3-3.fc9.i386
kdepimlibs-apidocs-4.0.3-3.fc9.i386
kdepim-devel-3.5.9-9.fc9.i386
kdepim-debuginfo-3.5.9-9.fc9.i386

How reproducible:

happens sometimes.

Steps to Reproduce:
1. open kmail
2. run 'compact' for a folder when it's checking email
3. crash/hang
Comment 1 Kevin Kofler 2008-05-02 16:59:27 UTC
It crashes in this simple function, looks like a NULL or invalid 
pointer somewhere:
bool KMFolder::isOpened() const
{
  return mStorage->isOpened();
}
Comment 2 Dana Whicker 2009-03-13 20:37:42 UTC
I had compacted the KMail inbox folder (mbox format) and switched to a different desktop and window to work.  Perhaps five to ten minutes later, while I was still working on the other desktop, KMail crashed.  My POP3 account has interval mail checking enabled with 5 minute intervals.  One email had arrived before it crashed.

I am using KMail version 1.11.0, KDE 4.2.00, Fedora 10.  (Probably not important: my 64-bit machine is using a 32-bit Java, 1.6.0_03-b05.)

The KMail crash pop-up box said there was no useful debugging information and had the Copy button greyed out, but I included the stack trace anyway because the end of it had some threads with stack traces that might possibly be useful:
_____________________________________________

Unable to create a valid backtrace.

This backtrace appears to be of no use.
This is probably because your packages are built in a way which prevents creation of proper backtraces, or the stack frame was seriously corrupted in the crash.

(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0x7f11ca9d7800 (LWP 15016)]
[New Thread 0x7f11bac73950 (LWP 16393)]
[New Thread 0x7f11ba06c950 (LWP 15735)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
0x00000035718a7f81 in nanosleep () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f11ca9d7800 (LWP 15016))]

Thread 3 (Thread 0x7f11ba06c950 (LWP 15735)):
#0  0x00000035718deaa2 in select () from /lib64/libc.so.6
#1  0x0000003d5e522626 in ?? () from /usr/lib64/libQtCore.so.4
#2  0x0000003d5e459852 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00000035724073da in start_thread () from /lib64/libpthread.so.0
#4  0x00000035718e62bd in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f11bac73950 (LWP 16393)):
#0  0x000000357240b58d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003d5e45a817 in QWaitCondition::wait () from /usr/lib64/libQtCore.so.4
#2  0x0000003d5e4509f9 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x0000003d5e459852 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00000035724073da in start_thread () from /lib64/libpthread.so.0
#5  0x00000035718e62bd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f11ca9d7800 (LWP 15016)):
#0  0x00000035718a7f81 in nanosleep () from /lib64/libc.so.6
#1  0x00000035718a7da7 in sleep () from /lib64/libc.so.6
#2  0x0000003d604671cf in ?? () from /usr/lib64/libkdeui.so.5
#3  0x0000003d60467b2a in KCrash::defaultCrashHandler () from /usr/lib64/libkdeui.so.5
#4  <signal handler called>
#5  0x0000003d6ba9e556 in ?? () from /usr/lib64/libkmailprivate.so.4
#6  0x0000003d6bac5422 in ?? () from /usr/lib64/libkmailprivate.so.4
#7  0x0000003d6bac6d7d in ?? () from /usr/lib64/libkmailprivate.so.4
#8  0x0000003d6bac75ef in ?? () from /usr/lib64/libkmailprivate.so.4
#9  0x0000003d6bac8138 in ?? () from /usr/lib64/libkmailprivate.so.4
#10 0x0000003d6b6e8978 in GpgME::Signature::summary () from /usr/lib64/libkmailprivate.so.4
#11 0x0000003d5e556764 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4
#12 0x0000003d5e551073 in QObject::event () from /usr/lib64/libQtCore.so.4
#13 0x0000003d5f1828dd in QApplicationPrivate::notify_helper () from /usr/lib64/libQtGui.so.4
#14 0x0000003d5f18a68a in QApplication::notify () from /usr/lib64/libQtGui.so.4
#15 0x0000003d60404deb in KApplication::notify () from /usr/lib64/libkdeui.so.5
#16 0x0000003d5e542391 in QCoreApplication::notifyInternal () from /usr/lib64/libQtCore.so.4
#17 0x0000003d5e56e0d6 in ?? () from /usr/lib64/libQtCore.so.4
#18 0x0000003d5e56a83d in ?? () from /usr/lib64/libQtCore.so.4
#19 0x0000003d5a43779b in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#20 0x0000003d5a43af6d in ?? () from /lib64/libglib-2.0.so.0
#21 0x0000003d5a43b12b in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#22 0x0000003d5e56a79f in QEventDispatcherGlib::processEvents () from /usr/lib64/libQtCore.so.4
#23 0x0000003d5f21328f in ?? () from /usr/lib64/libQtGui.so.4
#24 0x0000003d5e540cb2 in QEventLoop::processEvents () from /usr/lib64/libQtCore.so.4
#25 0x0000003d5e540e3d in QEventLoop::exec () from /usr/lib64/libQtCore.so.4
#26 0x0000003d5e5432ed in QCoreApplication::exec () from /usr/lib64/libQtCore.so.4
#27 0x0000000000402b5b in _start ()
Comment 3 Will Stephenson 2009-09-14 21:45:28 UTC
Confirmed by several downstream reports, see first comment and https://bugzilla.novell.com/show_bug.cgi?id=412521
Comment 4 Christophe Marin 2009-11-14 11:16:45 UTC
*** Bug 170627 has been marked as a duplicate of this bug. ***
Comment 5 Myriam Schweingruber 2012-08-19 11:03:11 UTC
Thank you for your report. Kmail1 is currently unmaintained and the code has changed sufficiently in Kmail2 so the backtraces are not really useful anymore. Should you experience the same crash in Kmail 4.8.5 or later, please open a new report for Kmail2. Thank you for your understanding