Bug 349683 - Crash (Assert) when using autocompletion for mail receiver
Summary: Crash (Assert) when using autocompletion for mail receiver
Status: RESOLVED FIXED
Alias: None
Product: kmail2
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-06-28 11:18 UTC by Andreas Cord-Landwehr
Modified: 2015-07-03 21:28 UTC (History)
0 users

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 Andreas Cord-Landwehr 2015-06-28 11:18:05 UTC
Application: kmail (4.79 pre)
 (Compiled from sources)
Qt Version: 5.4.2
Operating System: Linux 3.16.0-4-amd64 x86_64
Distribution: Debian GNU/Linux testing (stretch)

-- Information about the crash:
- What I was doing when the application crashed:
autocompletion was shown, I pressed enter, and the assert hit

-- Backtrace:
Application: KMail (kmail), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f9fbf047900 (LWP 2476))]

Thread 6 (Thread 0x7f9fb2fe3700 (LWP 2481)):
#0  0x00007f9fdec3650d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f9fd93c1ebc in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7f9fac003070, timeout=4891, context=0x7f9fac000990) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gmain.c:4103
#2  0x00007f9fd93c1ebc in g_main_context_iterate (context=context@entry=0x7f9fac000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gmain.c:3803
#3  0x00007f9fd93c1fcc in g_main_context_iteration (context=0x7f9fac000990, may_block=1) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gmain.c:3869
#4  0x00007f9fdfaccfbb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f9fac0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007f9fdfa50962 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f9fb2fe2c60, flags=...) at kernel/qeventloop.cpp:128
#6  0x00007f9fdfa50c3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f9fb2fe2c60, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f9fdf7d480e in QThread::exec() (this=0x1ba9020) at thread/qthread.cpp:503
#8  0x00007f9fdf7d49b0 in QThread::run() (this=0x1ba9020) at thread/qthread.cpp:570
#9  0x00007f9fdf7dbd39 in QThreadPrivate::start(void*) (arg=0x1ba9020) at thread/qthread_unix.cpp:337
#10 0x00007f9fdb59e0a4 in start_thread (arg=0x7f9fb2fe3700) at pthread_create.c:309
#11 0x00007f9fdec3f04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7f9fb2590700 (LWP 2482)):
#0  0x00007f9fdb5a208f in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f9fec9ec972 in WTF::ThreadCondition::wait(WTF::Mutex&) (this=0x1ef0328, mutex=...) at wtf/ThreadingPthreads.cpp:378
#2  0x00007f9fec6e2348 in JSC::BlockAllocator::blockFreeingThreadMain() (this=0x1ef0118) at heap/BlockAllocator.cpp:139
#3  0x00007f9fec6e2286 in JSC::BlockAllocator::blockFreeingThreadStartFunc(void*) (blockAllocator=0x1ef0118) at heap/BlockAllocator.cpp:115
#4  0x00007f9fec9d2a35 in WTF::threadEntryPoint(void*) (contextData=0x1b47960) at wtf/Threading.cpp:69
#5  0x00007f9fec9ec19a in WTF::wtfThreadEntryPoint(void*) (param=0x1b1b680) at wtf/ThreadingPthreads.cpp:195
#6  0x00007f9fdb59e0a4 in start_thread (arg=0x7f9fb2590700) at pthread_create.c:309
#7  0x00007f9fdec3f04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7f9fb1d70700 (LWP 2483)):
#0  0x00007f9fdb5a208f in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f9fec9ec972 in WTF::ThreadCondition::wait(WTF::Mutex&) (this=0x1ef8e50, mutex=...) at wtf/ThreadingPthreads.cpp:378
#2  0x00007f9fec6e47d1 in JSC::GCThread::waitForNextPhase() (this=0x1b37970) at heap/GCThread.cpp:81
#3  0x00007f9fec6e4949 in JSC::GCThread::gcThreadMain() (this=0x1b37970) at heap/GCThread.cpp:99
#4  0x00007f9fec6e498a in JSC::GCThread::gcThreadStartFunc(void*) (data=0x1b37970) at heap/GCThread.cpp:135
#5  0x00007f9fec9d2a35 in WTF::threadEntryPoint(void*) (contextData=0x1b47960) at wtf/Threading.cpp:69
#6  0x00007f9fec9ec19a in WTF::wtfThreadEntryPoint(void*) (param=0x1b18cb0) at wtf/ThreadingPthreads.cpp:195
#7  0x00007f9fdb59e0a4 in start_thread (arg=0x7f9fb1d70700) at pthread_create.c:309
#8  0x00007f9fdec3f04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f9fb156f700 (LWP 2484)):
#0  0x00007f9fdb5a208f in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f9fec9ec972 in WTF::ThreadCondition::wait(WTF::Mutex&) (this=0x1ef8e50, mutex=...) at wtf/ThreadingPthreads.cpp:378
#2  0x00007f9fec6e47d1 in JSC::GCThread::waitForNextPhase() (this=0x1bccc30) at heap/GCThread.cpp:81
#3  0x00007f9fec6e4949 in JSC::GCThread::gcThreadMain() (this=0x1bccc30) at heap/GCThread.cpp:99
#4  0x00007f9fec6e498a in JSC::GCThread::gcThreadStartFunc(void*) (data=0x1bccc30) at heap/GCThread.cpp:135
#5  0x00007f9fec9d2a35 in WTF::threadEntryPoint(void*) (contextData=0x158b520) at wtf/Threading.cpp:69
#6  0x00007f9fec9ec19a in WTF::wtfThreadEntryPoint(void*) (param=0x1b3b140) at wtf/ThreadingPthreads.cpp:195
#7  0x00007f9fdb59e0a4 in start_thread (arg=0x7f9fb156f700) at pthread_create.c:309
#8  0x00007f9fdec3f04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f9fb0d6e700 (LWP 2485)):
#0  0x00007f9fdb5a208f in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f9fec9ec972 in WTF::ThreadCondition::wait(WTF::Mutex&) (this=0x1ef8e50, mutex=...) at wtf/ThreadingPthreads.cpp:378
#2  0x00007f9fec6e47d1 in JSC::GCThread::waitForNextPhase() (this=0x1bccd50) at heap/GCThread.cpp:81
#3  0x00007f9fec6e4949 in JSC::GCThread::gcThreadMain() (this=0x1bccd50) at heap/GCThread.cpp:99
#4  0x00007f9fec6e498a in JSC::GCThread::gcThreadStartFunc(void*) (data=0x1bccd50) at heap/GCThread.cpp:135
#5  0x00007f9fec9d2a35 in WTF::threadEntryPoint(void*) (contextData=0x1b2c070) at wtf/Threading.cpp:69
#6  0x00007f9fec9ec19a in WTF::wtfThreadEntryPoint(void*) (param=0x1bccd80) at wtf/ThreadingPthreads.cpp:195
#7  0x00007f9fdb59e0a4 in start_thread (arg=0x7f9fb0d6e700) at pthread_create.c:309
#8  0x00007f9fdec3f04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f9fbf047900 (LWP 2476)):
[KCrash Handler]
#6  0x00007f9fdeb8e107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007f9fdeb8f4e8 in __GI_abort () at abort.c:89
#8  0x00007f9fdf7c8266 in qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) (context=..., message=...) at global/qlogging.cpp:1422
#9  0x00007f9fdf7c4c06 in QMessageLogger::fatal(char const*, ...) const (this=0x7ffd43c734b0, msg=0x7f9fdfb2da08 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:643
#10 0x00007f9fdf7beb52 in qt_assert(char const*, char const*, int) (assertion=0x7f9ff13bf130 "mMightBeGroupJobs.contains(searchJob)", file=0x7f9ff13bf0e0 "/opt/kde/src/kdepim-unsplit/messagecomposer/composer/composerlineedit.cpp", line=242) at global/qglobal.cpp:2868
#11 0x00007f9ff1313f25 in MessageComposer::ComposerLineEdit::slotGroupSearchResult(KJob*) (this=0x3c6fb00, job=0x376f2c0) at /opt/kde/src/kdepim-unsplit/messagecomposer/composer/composerlineedit.cpp:242
#12 0x00007f9ff1318b22 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<KJob*>, void, void (MessageComposer::ComposerLineEdit::*)(KJob*)>::call(void (MessageComposer::ComposerLineEdit::*)(KJob*), MessageComposer::ComposerLineEdit*, void**) (f=(void (MessageComposer::ComposerLineEdit::*)(MessageComposer::ComposerLineEdit * const, KJob *)) 0x7f9ff1313ec6 <MessageComposer::ComposerLineEdit::slotGroupSearchResult(KJob*)>, o=0x3c6fb00, arg=0x7ffd43c737a0) at /opt/qt5/qtbase/include/QtCore/qobjectdefs_impl.h:500
#13 0x00007f9ff1318978 in QtPrivate::FunctionPointer<void (MessageComposer::ComposerLineEdit::*)(KJob*)>::call<QtPrivate::List<KJob*>, void>(void (MessageComposer::ComposerLineEdit::*)(KJob*), MessageComposer::ComposerLineEdit*, void**) (f=(void (MessageComposer::ComposerLineEdit::*)(MessageComposer::ComposerLineEdit * const, KJob *)) 0x7f9ff1313ec6 <MessageComposer::ComposerLineEdit::slotGroupSearchResult(KJob*)>, o=0x3c6fb00, arg=0x7ffd43c737a0) at /opt/qt5/qtbase/include/QtCore/qobjectdefs_impl.h:519
#14 0x00007f9ff13183a9 in QtPrivate::QSlotObject<void (MessageComposer::ComposerLineEdit::*)(KJob*), QtPrivate::List<KJob*>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x15d6770, r=0x3c6fb00, a=0x7ffd43c737a0, ret=0x0) at /opt/qt5/qtbase/include/QtCore/qobject_impl.h:143
#15 0x00007f9fdfa99f29 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (this=0x15d6770, r=0x3c6fb00, a=0x7ffd43c737a0) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
#16 0x00007f9fdfa9700a in QMetaObject::activate(QObject*, int, int, void**) (sender=0x376f2c0, signalOffset=3, local_signal_index=3, argv=0x7ffd43c737a0) at kernel/qobject.cpp:3702
#17 0x00007f9fdfa96922 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=0x376f2c0, m=0x7f9fe1cfea20 <KJob::staticMetaObject>, local_signal_index=3, argv=0x7ffd43c737a0) at kernel/qobject.cpp:3582
#18 0x00007f9fe1aa13fb in KJob::result(KJob*, KJob::QPrivateSignal) (this=0x376f2c0, _t1=0x376f2c0) at /opt/kde/build/frameworks/kcoreaddons/src/lib/moc_kjob.cpp:552
#19 0x00007f9fe1a9fda9 in KJob::emitResult() (this=0x376f2c0) at /opt/kde/src/frameworks/kcoreaddons/src/lib/jobs/kjob.cpp:294
#20 0x00007f9fe69f2fd5 in Akonadi::JobPrivate::delayedEmitResult() (this=0x3423030) at /opt/kde/src/kde/kdepimlibs/akonadi/src/core/jobs/job.cpp:153
#21 0x00007f9fe69f404a in Akonadi::Job::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x376f2c0, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x1c5b8e0) at /opt/kde/build/kde/kdepimlibs/akonadi/src/core/moc_job.cpp:107
#22 0x00007f9fdfa8f60d in QMetaCallEvent::placeMetaCall(QObject*) (this=0x40adbb0, object=0x376f2c0) at kernel/qobject.cpp:485
#23 0x00007f9fdfa906d6 in QObject::event(QEvent*) (this=0x376f2c0, e=0x40adbb0) at kernel/qobject.cpp:1245
#24 0x00007f9fe0a1668c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0xba08a0, receiver=0x376f2c0, e=0x40adbb0) at kernel/qapplication.cpp:3720
#25 0x00007f9fe0a13e08 in QApplication::notify(QObject*, QEvent*) (this=0x7ffd43c745f0, receiver=0x376f2c0, e=0x40adbb0) at kernel/qapplication.cpp:3164
#26 0x00007f9fdfa53cbe in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7ffd43c745f0, receiver=0x376f2c0, event=0x40adbb0) at kernel/qcoreapplication.cpp:935
#27 0x00007f9fdfa5791f in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=0x376f2c0, event=0x40adbb0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
#28 0x00007f9fdfa54ff7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0xb78110) at kernel/qcoreapplication.cpp:1552
#29 0x00007f9fdfa549a6 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1410
#30 0x00007f9fdfacc7e0 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0xbdd5a0) at kernel/qeventdispatcher_glib.cpp:271
#31 0x00007f9fd93c1c3d in g_main_context_dispatch (context=0x7f9fb80016f0) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gmain.c:3122
#32 0x00007f9fd93c1c3d in g_main_context_dispatch (context=context@entry=0x7f9fb80016f0) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gmain.c:3737
#33 0x00007f9fd93c1f20 in g_main_context_iterate (context=context@entry=0x7f9fb80016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gmain.c:3808
#34 0x00007f9fd93c1fcc in g_main_context_iteration (context=0x7f9fb80016f0, may_block=1) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gmain.c:3869
#35 0x00007f9fdfaccf9b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0xbd77a0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#36 0x00007f9fbee253ce in QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0xbd77a0, flags=...) at eventdispatchers/qeventdispatcher_glib.cpp:115
#37 0x00007f9fdfa50962 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffd43c74530, flags=...) at kernel/qeventloop.cpp:128
#38 0x00007f9fdfa50c3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffd43c74530, flags=...) at kernel/qeventloop.cpp:204
#39 0x00007f9fdfa54398 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1188
#40 0x00007f9fe02d1db0 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1507
#41 0x00007f9fe0a13635 in QApplication::exec() () at kernel/qapplication.cpp:2956
#42 0x0000000000406763 in main(int, char**) (argc=1, argv=0x7ffd43c748b8) at /opt/kde/src/kdepim-unsplit/kmail/main.cpp:166

Possible duplicates by query: bug 349543, bug 349162, bug 348793, bug 348124, bug 347880.

Reported using DrKonqi
Comment 1 Milian Wolff 2015-07-03 12:25:44 UTC
confirmed, just hit it three times in a row
Comment 2 Laurent Montel 2015-07-03 12:27:01 UTC
Git commit 5dff48354cb6848d73cb216bce8de50185bb0d22 by Montel Laurent.
Committed on 03/07/2015 at 12:26.
Pushed by mlaurent into branch 'master'.

I hope that it fixes:

Bug 349683 - Crash (Assert) when using autocompletion for mail receiver

M  +1    -1    messagecomposer/composer/composerlineedit.cpp

http://commits.kde.org/kdepim/5dff48354cb6848d73cb216bce8de50185bb0d22
Comment 3 Laurent Montel 2015-07-03 21:28:55 UTC
Git commit 43c0d05762c7a4478fd31ae3503da6363711434a by Montel Laurent.
Committed on 03/07/2015 at 21:28.
Pushed by mlaurent into branch 'master'.

Fix Bug 349683 - Crash (Assert) when using autocompletion for mail receiver

For the moment I don't understand why job emit twice result() signal

M  +6    -1    messagecomposer/composer/composerlineedit.cpp

http://commits.kde.org/kdepim/43c0d05762c7a4478fd31ae3503da6363711434a