Bug 334937

Summary: Kmail crashes when attaching a file if "enable detection of missing attachments" is not selected
Product: [Applications] kontact Reporter: Colin J Thomson <colin.thomson>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: montel, rdieter
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 4.13.2

Description Colin J Thomson 2014-05-17 11:37:59 UTC
Application: kontact (4.13.1)
KDE Platform Version: 4.13.1
Qt Version: 4.8.6
Operating System: Linux 3.14.4-200.fc20.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed:

Composing an email and then went to attach a Jpeg and Kmail will crash. If I enable 
enable "detection of missing attachments" Kmail will not crash. Maybe related to
https://bugs.kde.org/show_bug.cgi?id=333778

- Custom settings of the application:

"detection of missing attachments"
Checkbox not selected - crash everytime when adding an attachment
Checkbox selected - No crash adding attachments, of various sizes and number.

The crash can be reproduced every time.

-- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7fda25edf8c0 (LWP 1731))]

Thread 6 (Thread 0x7fd9d9dcf700 (LWP 1753)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x0000003ae34bc1bd in JSC::BlockAllocator::blockFreeingThreadMain (this=0x151b6a8) at /usr/src/debug/webkit-qtwebkit-23/Source/JavaScriptCore/heap/BlockAllocator.cpp:128
#2  0x0000003ae37aea86 in WTF::wtfThreadEntryPoint (param=0x13d8de0) at /usr/src/debug/webkit-qtwebkit-23/Source/WTF/wtf/ThreadingPthreads.cpp:196
#3  0x0000003b6c207f33 in start_thread (arg=0x7fd9d9dcf700) at pthread_create.c:309
#4  0x0000003b6baf4ded in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7fd9cb760700 (LWP 2183)):
#0  0x0000003b6f649142 in g_main_context_dispatch (context=context@entry=0x7fd9c40009a0) at gmain.c:3637
#1  0x0000003b6f649628 in g_main_context_iterate (context=context@entry=0x7fd9c40009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3713
#2  0x0000003b6f6496dc in g_main_context_iteration (context=0x7fd9c40009a0, may_block=1) at gmain.c:3774
#3  0x0000003b73db5af6 in QEventDispatcherGlib::processEvents (this=0x7fd9c40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#4  0x0000003b73d8595f in QEventLoop::processEvents (this=this@entry=0x7fd9cb75fd10, flags=...) at kernel/qeventloop.cpp:149
#5  0x0000003b73d85cad in QEventLoop::exec (this=this@entry=0x7fd9cb75fd10, flags=...) at kernel/qeventloop.cpp:204
#6  0x0000003b73c79e8f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#7  0x0000003b73c7c6bf in QThreadPrivate::start (arg=0x17ceac0) at thread/qthread_unix.cpp:349
#8  0x0000003b6c207f33 in start_thread (arg=0x7fd9cb760700) at pthread_create.c:309
#9  0x0000003b6baf4ded in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fd9ca8dd700 (LWP 2207)):
#0  0x0000003b6c209fe8 in __GI___pthread_mutex_lock (mutex=0x7fd9bc000a60) at ../nptl/pthread_mutex_lock.c:66
#1  0x0000003b6f68a5a1 in g_mutex_lock (mutex=<optimized out>) at gthread-posix.c:213
#2  0x0000003b6f64948d in g_main_context_iterate (context=context@entry=0x7fd9bc0009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3680
#3  0x0000003b6f6496dc in g_main_context_iteration (context=0x7fd9bc0009a0, may_block=1) at gmain.c:3774
#4  0x0000003b73db5af6 in QEventDispatcherGlib::processEvents (this=0x7fd9bc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#5  0x0000003b73d8595f in QEventLoop::processEvents (this=this@entry=0x7fd9ca8dcd10, flags=...) at kernel/qeventloop.cpp:149
#6  0x0000003b73d85cad in QEventLoop::exec (this=this@entry=0x7fd9ca8dcd10, flags=...) at kernel/qeventloop.cpp:204
#7  0x0000003b73c79e8f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#8  0x0000003b73c7c6bf in QThreadPrivate::start (arg=0x22ba960) at thread/qthread_unix.cpp:349
#9  0x0000003b6c207f33 in start_thread (arg=0x7fd9ca8dd700) at pthread_create.c:309
#10 0x0000003b6baf4ded in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fd9c2742700 (LWP 3239)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x0000003b8af8ef2b in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x3b8b28df00 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x0000003b8af8ef69 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x0000003b6c207f33 in start_thread (arg=0x7fd9c2742700) at pthread_create.c:309
#4  0x0000003b6baf4ded in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fd937fff700 (LWP 3252)):
#0  0x0000003b6c20e87d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003b6f6897b0 in read (__nbytes=16, __buf=0x7fd937ffeab0, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#2  g_wakeup_acknowledge (wakeup=0x7fd938001f70) at gwakeup.c:212
#3  0x0000003b6f64909c in g_main_context_check (context=context@entry=0x7fd9300009a0, max_priority=2147483647, fds=fds@entry=0x7fd930002bb0, n_fds=n_fds@entry=1) at gmain.c:3514
#4  0x0000003b6f649533 in g_main_context_iterate (context=context@entry=0x7fd9300009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3710
#5  0x0000003b6f6496dc in g_main_context_iteration (context=0x7fd9300009a0, may_block=1) at gmain.c:3774
#6  0x0000003b73db5af6 in QEventDispatcherGlib::processEvents (this=0x7fd9300008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#7  0x0000003b73d8595f in QEventLoop::processEvents (this=this@entry=0x7fd937ffecc0, flags=...) at kernel/qeventloop.cpp:149
#8  0x0000003b73d85cad in QEventLoop::exec (this=this@entry=0x7fd937ffecc0, flags=...) at kernel/qeventloop.cpp:204
#9  0x0000003b73c79e8f in QThread::exec (this=this@entry=0x3d29660) at thread/qthread.cpp:538
#10 0x0000003b73d662e3 in QInotifyFileSystemWatcherEngine::run (this=0x3d29660) at io/qfilesystemwatcher_inotify.cpp:265
#11 0x0000003b73c7c6bf in QThreadPrivate::start (arg=0x3d29660) at thread/qthread_unix.cpp:349
#12 0x0000003b6c207f33 in start_thread (arg=0x7fd937fff700) at pthread_create.c:309
#13 0x0000003b6baf4ded in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fda25edf8c0 (LWP 1731)):
[KCrash Handler]
#6  QTimer::start (this=0x3880000000) at kernel/qtimer.cpp:215
#7  0x00007fd9d24269d1 in KMComposeWin::slotCloseAttachMissingFile (this=<optimized out>) at /usr/src/debug/kdepim-4.13.1/kmail/editor/kmcomposewin.cpp:3524
#8  0x00007fd9d2460105 in KMComposeWin::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at /usr/src/debug/kdepim-4.13.1/x86_64-redhat-linux-gnu/kmail/moc_kmcomposewin.cpp:302
#9  0x0000003b73d9b938 in QMetaObject::activate (sender=0x3d894e0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3567
#10 0x0000003b73d9b938 in QMetaObject::activate (sender=sender@entry=0x3705770, m=m@entry=0x7fd9d1ccefe0 <MessageComposer::AttachmentControllerBase::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x0) at kernel/qobject.cpp:3567
#11 0x00007fd9d1a15a23 in MessageComposer::AttachmentControllerBase::fileAttached (this=this@entry=0x3705770) at /usr/src/debug/kdepim-4.13.1/x86_64-redhat-linux-gnu/messagecomposer/moc_attachmentcontrollerbase.cpp:245
#12 0x00007fd9d1a15b20 in MessageComposer::AttachmentControllerBase::addAttachment (this=0x3705770, part=...) at /usr/src/debug/kdepim-4.13.1/messagecomposer/attachment/attachmentcontrollerbase.cpp:813
#13 0x00007fd9d1a15cd8 in MessageComposer::AttachmentControllerBase::Private::loadJobResult (this=0x3705830, job=0x59faf10) at /usr/src/debug/kdepim-4.13.1/messagecomposer/attachment/attachmentcontrollerbase.cpp:229
#14 0x00007fd9d1a1d9a0 in MessageComposer::AttachmentControllerBase::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kdepim-4.13.1/x86_64-redhat-linux-gnu/messagecomposer/moc_attachmentcontrollerbase.cpp:155
#15 0x0000003b73d9b938 in QMetaObject::activate (sender=sender@entry=0x59faf10, m=m@entry=0x312fad24a0 <KJob::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7fff7d8e0350) at kernel/qobject.cpp:3567
#16 0x000000312f7399e2 in KJob::result (this=this@entry=0x59faf10, _t1=_t1@entry=0x59faf10) at /usr/src/debug/kdelibs-4.13.1/x86_64-redhat-linux-gnu/kdecore/kjob.moc:207
#17 0x000000312f739a30 in KJob::emitResult (this=0x59faf10) at /usr/src/debug/kdelibs-4.13.1/kdecore/jobs/kjob.cpp:318
#18 0x00007fd9d1cf4ba7 in MessageCore::AttachmentFromUrlJob::Private::transferJobResult (this=0x2fb6e20, job=<optimized out>) at /usr/src/debug/kdepim-4.13.1/messagecore/attachment/attachmentfromurljob.cpp:117
#19 0x0000003b73d9b938 in QMetaObject::activate (sender=sender@entry=0x3b728b0, m=m@entry=0x312fad24a0 <KJob::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7fff7d8e0610) at kernel/qobject.cpp:3567
#20 0x000000312f7399e2 in KJob::result (this=this@entry=0x3b728b0, _t1=_t1@entry=0x3b728b0) at /usr/src/debug/kdelibs-4.13.1/x86_64-redhat-linux-gnu/kdecore/kjob.moc:207
#21 0x000000312f739a30 in KJob::emitResult (this=this@entry=0x3b728b0) at /usr/src/debug/kdelibs-4.13.1/kdecore/jobs/kjob.cpp:318
#22 0x0000003130901cda in KIO::SimpleJob::slotFinished (this=this@entry=0x3b728b0) at /usr/src/debug/kdelibs-4.13.1/kio/kio/job.cpp:496
#23 0x00000031309030b1 in KIO::TransferJob::slotFinished (this=0x3b728b0) at /usr/src/debug/kdelibs-4.13.1/kio/kio/job.cpp:1110
#24 0x0000003b73d9b938 in QMetaObject::activate (sender=0x69ae920, m=m@entry=0x3130cb9460 <KIO::SlaveInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0) at kernel/qobject.cpp:3567
#25 0x00000031309a7ba3 in KIO::SlaveInterface::finished (this=<optimized out>) at /usr/src/debug/kdelibs-4.13.1/x86_64-redhat-linux-gnu/kio/slaveinterface.moc:184
#26 0x00000031309a97f6 in KIO::SlaveInterface::dispatch (this=<optimized out>, _cmd=104, rawdata=...) at /usr/src/debug/kdelibs-4.13.1/kio/kio/slaveinterface.cpp:176
#27 0x00000031309a6b2e in KIO::SlaveInterface::dispatch (this=0x69ae920) at /usr/src/debug/kdelibs-4.13.1/kio/kio/slaveinterface.cpp:92
#28 0x000000313099a8ae in KIO::Slave::gotInput (this=0x69ae920) at /usr/src/debug/kdelibs-4.13.1/kio/kio/slave.cpp:344
#29 0x0000003b73d9b938 in QMetaObject::activate (sender=0x36e7740, m=m@entry=0x3130cb2980 <KIO::Connection::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3567
#30 0x00000031308ccd40 in KIO::Connection::readyRead (this=<optimized out>) at /usr/src/debug/kdelibs-4.13.1/x86_64-redhat-linux-gnu/kio/connection.moc:105
#31 0x00000031308cd491 in KIO::ConnectionPrivate::dequeue (this=0x696d520) at /usr/src/debug/kdelibs-4.13.1/kio/kio/connection.cpp:82
#32 0x0000003b73d9febe in QObject::event (this=0x36e7740, e=<optimized out>) at kernel/qobject.cpp:1222
#33 0x0000003b797cae7c in QApplicationPrivate::notify_helper (this=this@entry=0x1208be0, receiver=receiver@entry=0x36e7740, e=e@entry=0x7c8c330) at kernel/qapplication.cpp:4565
#34 0x0000003b797d17e5 in QApplication::notify (this=this@entry=0x7fff7d8e1460, receiver=receiver@entry=0x36e7740, e=e@entry=0x7c8c330) at kernel/qapplication.cpp:4351
#35 0x000000312fe4ac8a in KApplication::notify (this=0x7fff7d8e1460, receiver=0x36e7740, event=0x7c8c330) at /usr/src/debug/kdelibs-4.13.1/kdeui/kernel/kapplication.cpp:311
#36 0x0000003b73d86ebd in QCoreApplication::notifyInternal (this=0x7fff7d8e1460, receiver=receiver@entry=0x36e7740, event=event@entry=0x7c8c330) at kernel/qcoreapplication.cpp:953
#37 0x0000003b73d8a0d5 in sendEvent (event=0x7c8c330, receiver=0x36e7740) at kernel/qcoreapplication.h:231
#38 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x11c9190) at kernel/qcoreapplication.cpp:1577
#39 0x0000003b73d8a573 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#40 0x0000003b73db6253 in sendPostedEvents () at kernel/qcoreapplication.h:236
#41 postEventSourceDispatch (s=s@entry=0x120c6a0) at kernel/qeventdispatcher_glib.cpp:280
#42 0x0000003b6f6492a6 in g_main_dispatch (context=0x120c5e0) at gmain.c:3066
#43 g_main_context_dispatch (context=context@entry=0x120c5e0) at gmain.c:3642
#44 0x0000003b6f649628 in g_main_context_iterate (context=context@entry=0x120c5e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3713
#45 0x0000003b6f6496dc in g_main_context_iteration (context=0x120c5e0, may_block=1) at gmain.c:3774
#46 0x0000003b73db5ad5 in QEventDispatcherGlib::processEvents (this=0x11ca670, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#47 0x0000003b7986cd66 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#48 0x0000003b73d8595f in QEventLoop::processEvents (this=this@entry=0x7fff7d8e1350, flags=...) at kernel/qeventloop.cpp:149
#49 0x0000003b73d85cad in QEventLoop::exec (this=this@entry=0x7fff7d8e1350, flags=...) at kernel/qeventloop.cpp:204
#50 0x0000003b73d8b399 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#51 0x0000003b797c94ec in QApplication::exec () at kernel/qapplication.cpp:3823
#52 0x00000000004037ea in main (argc=1, argv=0x7fff7d8e15b8) at /usr/src/debug/kdepim-4.13.1/kontact/src/main.cpp:219

Possible duplicates by query: bug 334930.

Reported using DrKonqi
Comment 1 Laurent Montel 2014-05-17 12:24:10 UTC
Git commit e3b1eb838c4d14be616bd90c0f7f19dedce5f58f by Montel Laurent.
Committed on 17/05/2014 at 12:22.
Pushed by mlaurent into branch 'KDE/4.13'.

Fix Bug 334937 - Kmail crashes when attaching a file if "enable detection of missing attachments" is not selected

FIXED-IN: 4.13.2

M  +1    -1    kmail/editor/kmcomposewin.cpp

http://commits.kde.org/kdepim/e3b1eb838c4d14be616bd90c0f7f19dedce5f58f
Comment 2 Colin J Thomson 2014-07-01 19:30:45 UTC
I can confirm this is fixed in 4.13.2 - Thankyou