Bug 186388 - crash moving 3 messages
Summary: crash moving 3 messages
Status: RESOLVED WORKSFORME
Alias: None
Product: kmail
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Mandriva RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-06 20:36 UTC by Tom Max
Modified: 2009-10-23 10:32 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Max 2009-03-06 20:36:54 UTC
Version:            (using KDE 4.2.1)
OS:                Linux
Installed from:    Mandriva RPMs

I was moving some nested messages to a mail folder when kmail crashed. restarting kmail I saw the mail were transferred, and  wasn't able to reproduce the problem.

here the backtrace:

 Application: KMail (kmail), signal SIGABRT
[Current thread is 1 (Thread 0xb4ac26d0 (LWP 7715))]

Thread 1 (Thread 0xb4ac26d0 (LWP 7715)):
[KCrash Handler]
#6  0xffffe424 in __kernel_vsyscall ()
#7  0x4e7a2c00 in raise () from /lib/i686/libc.so.6
#8  0x4e7a4668 in abort () from /lib/i686/libc.so.6
#9  0xb705cfd5 in qt_message_output () from /usr/lib/libQtCore.so.4
#10 0xb705d0cc in qFatal () from /usr/lib/libQtCore.so.4
#11 0xb705d1c5 in qt_assert () from /usr/lib/libQtCore.so.4
#12 0xb77f5f52 in ?? () from /usr/lib/libkmailprivate.so.4
#13 0xb744984c in ?? () from /usr/lib/libkmailprivate.so.4
#14 0xb7178185 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#15 0xb7179a25 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#16 0xb71b50b5 in QTimer::timeout () from /usr/lib/libQtCore.so.4
#17 0xb717dea6 in QTimer::timerEvent () from /usr/lib/libQtCore.so.4
#18 0xb717237b in QObject::event () from /usr/lib/libQtCore.so.4
#19 0xb674527c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#20 0xb674d9b6 in QApplication::notify () from /usr/lib/libQtGui.so.4
#21 0xb7e2f620 in KApplication::notify () from /usr/lib/libkdeui.so.5
#22 0xb716167e in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#23 0xb7191cdd in ?? () from /usr/lib/libQtCore.so.4
#24 0xb718e5be in ?? () from /usr/lib/libQtCore.so.4
#25 0xb4e0ac8a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#26 0xb4e0e2f4 in ?? () from /usr/lib/libglib-2.0.so.0
#27 0xb4e0e47f in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#28 0xb718e51a in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#29 0xb67e975a in ?? () from /usr/lib/libQtGui.so.4
#30 0xb715fc43 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#31 0xb7160091 in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#32 0xb71625f6 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#33 0xb67450e4 in QApplication::exec () from /usr/lib/libQtGui.so.4
#34 0x0804a6b1 in _start ()
Comment 1 Tom Max 2009-03-06 20:39:22 UTC
Some other info:

KMail
Version 1.11.1
Using KDE 4.2.1 (KDE 4.2.1)

$ rpm -qa | grep kmail
libkmailprivate4-4.2.1-1mdv2009.1
kmailcvt-4.2.1-1mdv2009.1
kmail-4.2.1-1mdv2009.1
Comment 2 Dario Andres 2009-03-07 00:21:40 UTC
If you can reproduce the crash at will, may you read http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports and post a complete backtrace here? 
You need to install the "kdepim4-debuginfo" package (or something similar)
Thanks :)
Comment 3 Tom Max 2009-03-19 10:37:43 UTC
Sorry, 
I'm unable to reproduce the fault.

However when I had the crash, 
I was moving messages and I was not sure where to put them,
for that reason I spent a lot of time (maybe 10-15 seconds)
looking for the right destination folder.

From the backtrace it is possible to see (at #28)
that the processevent was managing a timeout event.
It seems that in the same moment I dropped the messages
(concluding the message movement action) a timeout expired
and the routine that manage the timeout hitted 
a variable with a wrong value, triggering the qt_assert at #11.

In my opinion that variable was modified by the routine
that move the messages, but the processevent stopped
that routine before its end; 
then processevent started the timeout management,
which found the wrong value in the variable and then asserted.

my 2 cents
Tom
Comment 4 Christophe Marin 2009-10-23 10:32:33 UTC
Changing the status.