Bug 257274 - Crahes while copying/moving mails on an IMAP account
Summary: Crahes while copying/moving mails on an IMAP account
Status: RESOLVED FIXED
Alias: None
Product: kmail
Classification: Applications
Component: general (show other bugs)
Version: 1.13.5
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-18 20:29 UTC by Matthias K.
Modified: 2011-05-05 10:37 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (4.32 KB, text/plain)
2011-05-05 10:37 UTC, Gordon Robert Speirs
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias K. 2010-11-18 20:29:45 UTC
Application: kmail (1.13.5)
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-22-generic x86_64
Distribution: Ubuntu 10.10

-- Information about the crash:
KMail crashes when doing one of the following:

 * Move mails around or copy mails in an IMAP-Account
 * Execute the "Remove duplicate mails" function
 * Apply any kind of filter which moves/copies mails

The crash can be reproduced some of the time.

-- Backtrace:
Application: KMail (kmail), signal: Segmentation fault
[KCrash Handler]
#6  KMFolderImap::take (this=0x2452dc0, idx=-1) at ../../kmail/kmfolderimap.cpp:592
#7  0x00007f93b393f898 in FolderStorage::takeMessages (this=0x2452dc0, msgList=...) at ../../kmail/folderstorage.cpp:477
#8  0x00007f93b39ee939 in KMFolderImap::addMsgQuiet (this=0x2467c00, msgList=) at ../../kmail/kmfolderimap.cpp:377
#9  0x00007f93b39f8880 in KMFolderImap::qt_metacall (this=0x2467c00, _c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>) at ./kmfolderimap.moc:162
#10 0x00007f93b236eb27 in QMetaObject::activate (sender=0x143c2fd0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x11b21120) at kernel/qobject.cpp:3280
#11 0x00007f93b3b29295 in KMail::FolderJob::messageCopied (this=0x2452dc0, _t1=<value optimized out>) at ./folderjob.moc:126
#12 0x00007f93b3b33b3b in KMail::ImapJob::slotCopyMessageResult (this=0x143c2fd0, job=<value optimized out>) at ../../kmail/imapjob.cpp:655
#13 0x00007f93b3b370fb in KMail::ImapJob::qt_metacall (this=0x143c2fd0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff96ad76a0) at ./imapjob.moc:94
#14 0x00007f93b236eb27 in QMetaObject::activate (sender=0x55b9680, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x11b21120) at kernel/qobject.cpp:3280
#15 0x00007f93b441f712 in KJob::result (this=0x2452dc0, _t1=0x55b9680) at ./kjob.moc:194
#16 0x00007f93b441f9b0 in KJob::emitResult (this=0x55b9680) at ../../kdecore/jobs/kjob.cpp:312
#17 0x00007f93ae416203 in KIO::SimpleJob::slotFinished (this=0x55b9680) at ../../kio/kio/job.cpp:522
#18 0x00007f93ae414731 in KIO::SimpleJob::qt_metacall (this=0x55b9680, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff96ad78d0) at ./jobclasses.moc:171
#19 0x00007f93b236eb27 in QMetaObject::activate (sender=0x2ae3890, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x11b21120) at kernel/qobject.cpp:3280
#20 0x00007f93ae4c5c8e in KIO::SlaveInterface::dispatch (this=0x2ae3890, _cmd=104, rawdata=...) at ../../kio/kio/slaveinterface.cpp:175
#21 0x00007f93ae4c2cc3 in KIO::SlaveInterface::dispatch (this=0x2ae3890) at ../../kio/kio/slaveinterface.cpp:91
#22 0x00007f93ae4b6876 in KIO::Slave::gotInput (this=0x2ae3890) at ../../kio/kio/slave.cpp:344
#23 0x00007f93ae4b6a5c in KIO::Slave::qt_metacall (this=0x2ae3890, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff96ad7d10) at ./slave.moc:82
#24 0x00007f93b236eb27 in QMetaObject::activate (sender=0x288cde0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x11b21120) at kernel/qobject.cpp:3280
#25 0x00007f93ae3e2df7 in KIO::ConnectionPrivate::dequeue (this=0x2858ef0) at ../../kio/kio/connection.cpp:82
#26 0x00007f93ae3e2f1d in KIO::Connection::qt_metacall (this=0x288cde0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x2e08450) at ./connection.moc:79
#27 0x00007f93b2368bde in QObject::event (this=0x288cde0, e=0x2452dc0) at kernel/qobject.cpp:1219
#28 0x00007f93b2841fdc in QApplicationPrivate::notify_helper (this=0x218b9c0, receiver=0x288cde0, e=0x601b2e0) at kernel/qapplication.cpp:4396
#29 0x00007f93b2847aed in QApplication::notify (this=0x7fff96ad8930, receiver=0x288cde0, e=0x601b2e0) at kernel/qapplication.cpp:4277
#30 0x00007f93b49ea156 in KApplication::notify (this=0x7fff96ad8930, receiver=0x288cde0, event=0x601b2e0) at ../../kdeui/kernel/kapplication.cpp:310
#31 0x00007f93b2356cdc in QCoreApplication::notifyInternal (this=0x7fff96ad8930, receiver=0x288cde0, event=0x601b2e0) at kernel/qcoreapplication.cpp:732
#32 0x00007f93b2359c22 in sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x2146150) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#33 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x2146150) at kernel/qcoreapplication.cpp:1373
#34 0x00007f93b2383653 in sendPostedEvents (s=0x218f0c0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#35 postEventSourceDispatch (s=0x218f0c0) at kernel/qeventdispatcher_glib.cpp:277
#36 0x00007f93a8ae0342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#37 0x00007f93a8ae42a8 in ?? () from /lib/libglib-2.0.so.0
#38 0x00007f93a8ae445c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#39 0x00007f93b2383193 in QEventDispatcherGlib::processEvents (this=0x21458a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#40 0x00007f93b28f4a4e in QGuiEventDispatcherGlib::processEvents (this=0x2452dc0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#41 0x00007f93b2355a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#42 0x00007f93b2355dec in QEventLoop::exec (this=0x7fff96ad8760, flags=) at kernel/qeventloop.cpp:201
#43 0x00007f93b2359ebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#44 0x0000000000403212 in main (argc=<value optimized out>, argv=<value optimized out>) at ../../kmail/main.cpp:156

This bug may be a duplicate of or related to bug 100555.

Possible duplicates by query: bug 253564, bug 247983.

Reported using DrKonqi
Comment 1 Laurent Montel 2010-11-23 12:25:52 UTC
Fixed in kdepim-4.4.5 or 4.4.6
void FolderStorage::takeMessages(const QList<KMMessage*>& msgList)
{
  for( QList<KMMessage*>::const_iterator it = msgList.begin();
      it != msgList.end(); ++it )
  {
    KMMessage *msg = (*it);
    if (msg->parent())
    {
      int idx = msg->parent()->find(msg);
      if( idx >= 0 )
        take(idx);
    }
  }
}

so we can't take a idx == -1
=> it will not crash now
Comment 2 Gordon Robert Speirs 2011-05-05 10:37:15 UTC
Created attachment 59650 [details]
New crash information added by DrKonqi

kontact (4.4.10) on KDE Platform 4.6.00 (4.6.0) "release 6" using Qt 4.7.1

- What I was doing when the application crashed:

This happens for me a few times a day at work and anytime that I manually filter messages, it happens every single time. I either search for a specific sender, then filter them, or filter my entire mailbox.

-- Backtrace (Reduced):
#7  0x00007f13689faa39 in KMFolderImap::addMsgQuiet (this=0xb0b690, msgList=...) at /usr/src/debug/kdepim-4.4.10/kmail/kmfolderimap.cpp:366
#8  0x00007f13689ffee8 in KMFolderImap::qt_metacall (this=0xb0b690, _c=<value optimized out>, _id=5, _a=<value optimized out>) at /usr/src/debug/kdepim-4.4.10/build/kmail/kmfolderimap.moc:162
[...]
#10 0x00007f1368b17825 in KMail::FolderJob::messageCopied (this=<value optimized out>, _t1=<value optimized out>) at /usr/src/debug/kdepim-4.4.10/build/kmail/folderjob.moc:126
#11 0x00007f1368b22c9d in KMail::ImapJob::slotPutMessageResult (this=0x388a6b0, job=<value optimized out>) at /usr/src/debug/kdepim-4.4.10/kmail/imapjob.cpp:570
#12 0x00007f1368b27953 in KMail::ImapJob::qt_metacall (this=0x388a6b0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffae712a50) at /usr/src/debug/kdepim-4.4.10/build/kmail/imapjob.moc:92