Summary: | kmail crash when compact folder, mark all messages as read, then choose a new message | ||
---|---|---|---|
Product: | [Unmaintained] kmail | Reporter: | martinrs |
Component: | new message list | Assignee: | Szymon Stefanek <pragma> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andresbajotierra, umar |
Priority: | NOR | ||
Version: | 1.11.1 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Patch ported to KDE 4.2 branch |
Description
martinrs
2009-03-27 02:37:28 UTC
Adding more debuginfo, here is a more detailed bug report. Application: KMail (kmail), signal SIGSEGV [?1034h[Thread debugging using libthread_db enabled] 0x0000003b7aaa7f50 in __nanosleep_nocancel () from /lib64/libc.so.6 [Current thread is 1 (Thread 0x7f888c18b800 (LWP 784))] Thread 1 (Thread 0x7f888c18b800 (LWP 784)): [KCrash Handler] #5 KMail::MessageListView::Widget::getSelectionStats (this=0x1fdb3e0, selectedSernums=@0x7fff941e8170, selectedVisibleSernums=@0x7fff941e8160, allSelectedBelongToSameThread=0x7fff941e818f, includeCollapsedChildren=<value optimized out>) at /usr/src/debug/kdepim-4.2.1/kmail/messagelistview/widget.cpp:579 #6 0x0000003b97d8429e in KMMainWidget::updateMessageActions (this=0x25629c0) at /usr/src/debug/kdepim-4.2.1/kmail/kmmainwidget.cpp:4288 #7 0x0000003b97d9b175 in KMMainWidget::qt_metacall (this=0x25629c0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff941e8290) at /usr/src/debug/kdepim-4.2.1/x86_64-redhat-linux-gnu/kmail/kmmainwidget.moc:363 #8 0x0000003b7a556764 in QMetaObject::activate (sender=0x7f888312e500, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x7f887db098f0) at kernel/qobject.cpp:3031 #9 0x0000003b7a551073 in QObject::event (this=0x7f888312e500, e=0x0) at kernel/qobject.cpp:1120 #10 0x0000003b87f828dd in QApplicationPrivate::notify_helper (this=0x1ddfc30, receiver=0x7f888312e500, e=0x7fff941e8940) at kernel/qapplication.cpp:3803 #11 0x0000003b87f8a68a in QApplication::notify (this=0x7fff941e8da0, receiver=0x7f888312e500, e=0x7fff941e8940) at kernel/qapplication.cpp:3768 #12 0x0000003b89004f3b in KApplication::notify (this=0x7fff941e8da0, receiver=0x7f888312e500, event=0x7fff941e8940) at /usr/src/debug/kdelibs-4.2.1/kdeui/kernel/kapplication.cpp:307 #13 0x0000003b7a542391 in QCoreApplication::notifyInternal (this=0x7fff941e8da0, receiver=0x7f888312e500, event=0x7fff941e8940) at kernel/qcoreapplication.cpp:587 #14 0x0000003b7a56e0d6 in QCoreApplication::sendEvent () at ../../src/corelib/kernel/qcoreapplication.h:209 #15 QTimerInfoList::activateTimers (this=0x1de30f0) at kernel/qeventdispatcher_unix.cpp:557 #16 0x0000003b7a56a83d in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:160 #17 0x0000003b7d23779b in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #18 0x0000003b7d23af6d in ?? () from /lib64/libglib-2.0.so.0 #19 0x0000003b7d23b12b in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #20 0x0000003b7a56a79f in QEventDispatcherGlib::processEvents (this=0x1ddfb60, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:319 #21 0x0000003b8801328f in QGuiEventDispatcherGlib::processEvents (this=0x25bc6e0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:198 #22 0x0000003b7a540cb2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:143 #23 0x0000003b7a540e3d in QEventLoop::exec (this=0x7fff941e8bf0, flags=) at kernel/qeventloop.cpp:194 #24 0x0000003b7a5432ed in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845 #25 0x0000000000402b5b in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdepim-4.2.1/kmail/main.cpp:146 More info. Here are messages that appear at the console if I run kmail from command line and when it crashes: kdeinit4: preparing to launch kdeinit4: preparing to launch QPainter::begin: Widget painting can only begin as a result of a paintEvent QPainter::setWorldTransform: Painter not active kmail(880) KMail::MessageListView::StorageModel::releaseMessage: Trying to release a message at row 7 that no longer exists in the folder *** KMail got signal 11 (Crashing) KCrash: Application 'kmail' crashing... sock_file=/home/user/.kde/socket-hostname/kdeinit4__0 kdeinit4: preparing to launch /usr/libexec/kde4/drkonqi Bug 186940 seens to have a similar backtrace. SVN commit 980061 by stefanek: Possibly fix the issues with the folder being closed by the compaction jobs (and thus various asserts triggering in the StorageModel code). Not totally sure that all the bugs I'm closing had exactly the same cause (though the backtrace is exactly the same). If you still can reproduce the bug please reopen ONE of these. BUG: 186940 BUG: 188219 BUG: 194960 BUG: 195893 M +4 -0 folderstorage.h M +1 -0 kmfolder.cpp M +4 -0 kmfolder.h M +1 -0 kmfoldermaildir.cpp M +3 -1 kmfoldermbox.cpp M +2 -0 messagelistview/core/model.cpp M +1 -0 messagelistview/core/view.cpp M +17 -1 messagelistview/storagemodel.cpp M +5 -0 messagelistview/storagemodel.h WebSVN link: http://websvn.kde.org/?view=rev&revision=980061 This problem also exists for KDE 4.2.4 but the patches above are for KDE 4.3. I have applied them to KDE 4.2.4 with only one line modified in view.cpp and it seems to work. Any plans to port it to KDE-4.2.4 officially so we can convince the distributions to apply the patch? I filed this bug #196763 which should be added to the above list. Thanks Created attachment 35008 [details]
Patch ported to KDE 4.2 branch
The original author needs the certify that this is correect!
|