Bug 412122 - Crash when closing the composer
Summary: Crash when closing the composer
Status: RESOLVED FIXED
Alias: None
Product: kmail2
Classification: Applications
Component: general (show other bugs)
Version: Git (master)
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-09-20 14:12 UTC by Christophe Marin
Modified: 2019-09-30 11:27 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 5.12.2


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christophe Marin 2019-09-20 14:12:48 UTC
Using master.

What I did:

- Read a bugzilla mail
- Click on the reporter email by mistake. That opened the composer window
- and closed the composer.

KMail crashed. It can be reproduced.

(gdb) bt
#0  0x00007f1fa46cddd1 in __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f1fa5d9c65f in KCrash::defaultCrashHandler(int) (sig=11) at /data/kde/src/kcrash/src/kcrash.cpp:472
#2  0x00007f1fa46cde50 in <signal handler called> () at /lib64/libc.so.6
#3  0x00007f1fa4b83abe in std::__atomic_base<int>::load(std::memory_order) const (__m=std::memory_order_relaxed, this=0x4545454545454545) at /usr/include/c++/9/bits/atomic_base.h:413
#4  0x00007f1fa4b83abe in QAtomicOps<int>::load<int>(std::atomic<int> const&) (_q_value=...) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:227
#5  0x00007f1fa4b83abe in QBasicAtomicInteger<int>::load() const (this=0x4545454545454545) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:103
#6  0x00007f1fa4b83abe in QtPrivate::RefCount::deref() (this=0x4545454545454545) at ../../include/QtCore/../../src/corelib/tools/qrefcount.h:66
#7  0x00007f1fa4b83abe in QString::operator=(QString const&) (this=0x63e7fe8, other=...) at tools/qstring.cpp:2434
#8  0x00007f1fa390aff8 in MessageComposer::ComposerViewBase::setSubject(QString const&) (this=0x63e7f40, subject=...) at /data/kde/src/messagelib/messagecomposer/src/composer/composerviewbase.cpp:1656
#9  0x00007f1fa614c80b in KMComposerWin::slotUpdateWindowTitle() (this=0x63e95f0) at /data/kde/src/kmail/src/editor/kmcomposerwin.cpp:2293
#10 0x00007f1fa616f65e in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KMComposerWin::*)()>::call(void (KMComposerWin::*)(), KMComposerWin*, void**)
    (f=(void (KMComposerWin::*)(class KMComposerWin * const)) 0x7f1fa614c7c0 <KMComposerWin::slotUpdateWindowTitle()>, o=0x63e95f0, arg=0x7ffc3ffc3ee0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#11 0x00007f1fa616f5d3 in QtPrivate::FunctionPointer<void (KMComposerWin::*)()>::call<QtPrivate::List<>, void>(void (KMComposerWin::*)(), KMComposerWin*, void**)
    (f=(void (KMComposerWin::*)(class KMComposerWin * const)) 0x7f1fa614c7c0 <KMComposerWin::slotUpdateWindowTitle()>, o=0x63e95f0, arg=0x7ffc3ffc3ee0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#12 0x00007f1fa616f4f6 in QtPrivate::QSlotObject<void (KMComposerWin::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
    (which=1, this_=0x72a4790, r=0x63e95f0, a=0x7ffc3ffc3ee0, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:414
#13 0x00007f1fa4cf8638 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffc3ffc3ee0, r=0x63e95f0, this=0x72a4790) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#14 0x00007f1fa4cf8638 in QMetaObject::activate(QObject*, int, int, void**) (sender=0x6d8f630, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3789
#15 0x00007f1fa58cda61 in  () at /usr/lib64/libQt5Widgets.so.5
#16 0x00007f1fa4cf84d8 in QMetaObject::activate(QObject*, int, int, void**) (sender=0x6dacf80, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3809
#17 0x00007f1fa58f3cf1 in  () at /usr/lib64/libQt5Widgets.so.5
#18 0x00007f1fa58f4103 in QWidgetTextControl::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Widgets.so.5
#19 0x00007f1fa4cf859c in QMetaObject::activate(QObject*, int, int, void**) (sender=0x6dad220, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3825
#20 0x00007f1fa51f1704 in QTextDocumentPrivate::finishEdit() () at /usr/lib64/libQt5Gui.so.5
#21 0x00007f1fa5236041 in QSyntaxHighlighter::setDocument(QTextDocument*) () at /usr/lib64/libQt5Gui.so.5
#22 0x00007f1fa5236269 in QSyntaxHighlighter::~QSyntaxHighlighter() () at /usr/lib64/libQt5Gui.so.5
#23 0x00007f1fa22f1622 in Sonnet::Highlighter::~Highlighter() (this=0x72a1c20) at /data/kde/src/sonnet/src/ui/highlighter.cpp:175
#24 0x00007f1fa22f1649 in Sonnet::Highlighter::~Highlighter() (this=0x72a1c20) at /data/kde/src/sonnet/src/ui/highlighter.cpp:173
#25 0x00007f1fa4cf628e in QObjectPrivate::deleteChildren() (this=this@entry=0x73c34a0) at kernel/qobject.cpp:2019
#26 0x00007f1fa4d0048f in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1032
#27 0x00007f1fa22f652c in Sonnet::SpellCheckDecorator::~SpellCheckDecorator() (this=0x781de60) at /data/kde/src/sonnet/src/ui/spellcheckdecorator.cpp:236
#28 0x00007f1fa22f6559 in Sonnet::SpellCheckDecorator::~SpellCheckDecorator() (this=0x781de60) at /data/kde/src/sonnet/src/ui/spellcheckdecorator.cpp:234
#29 0x00007f1fa23f3d23 in KPIMTextEdit::RichTextEditor::RichTextEditorPrivate::~RichTextEditorPrivate() (this=0x6de60f0) at /data/kde/src/kpimtextedit/src/texteditor/richtexteditor/richtexteditor.cpp:77
#30 0x00007f1fa23ee84b in KPIMTextEdit::RichTextEditor::~RichTextEditor() (this=0x6d8f630) at /data/kde/src/kpimtextedit/src/texteditor/richtexteditor/richtexteditor.cpp:110
#31 0x00007f1fa5e3f6e5 in PimCommon::SpellCheckLineEdit::~SpellCheckLineEdit() (this=0x6d8f630) at /data/kde/src/pimcommon/src/pimcommon/widgets/spellchecklineedit.cpp:60
#32 0x00007f1fa5e21480 in PimCommon::LineEditWithAutoCorrection::~LineEditWithAutoCorrection() (this=0x6d8f630) at /data/kde/src/pimcommon/src/pimcommon/autocorrection/widgets/lineeditwithautocorrection.cpp:53
#33 0x00007f1fa5e214c9 in PimCommon::LineEditWithAutoCorrection::~LineEditWithAutoCorrection() (this=0x6d8f630) at /data/kde/src/pimcommon/src/pimcommon/autocorrection/widgets/lineeditwithautocorrection.cpp:51
#34 0x00007f1fa4cf628e in QObjectPrivate::deleteChildren() (this=0x63ffbe0) at kernel/qobject.cpp:2019
#35 0x00007f1fa573db29 in QWidget::~QWidget() () at /usr/lib64/libQt5Widgets.so.5
#36 0x00007f1fa573dd19 in QWidget::~QWidget() () at /usr/lib64/libQt5Widgets.so.5
#37 0x00007f1fa4cf628e in QObjectPrivate::deleteChildren() (this=0x63ff8e0) at kernel/qobject.cpp:2019
#38 0x00007f1fa573db29 in QWidget::~QWidget() () at /usr/lib64/libQt5Widgets.so.5
#39 0x00007f1fa58b0719 in QSplitter::~QSplitter() () at /usr/lib64/libQt5Widgets.so.5
#40 0x00007f1fa4cf628e in QObjectPrivate::deleteChildren() (this=0x63ff700) at kernel/qobject.cpp:2019
#41 0x00007f1fa573db29 in QWidget::~QWidget() () at /usr/lib64/libQt5Widgets.so.5
#42 0x00007f1fa573dd19 in QWidget::~QWidget() () at /usr/lib64/libQt5Widgets.so.5
#43 0x00007f1fa4cf628e in QObjectPrivate::deleteChildren() (this=0x63fa6c0) at kernel/qobject.cpp:2019
#44 0x00007f1fa573db29 in QWidget::~QWidget() () at /usr/lib64/libQt5Widgets.so.5
#45 0x00007f1fa455b029 in KMainWindow::~KMainWindow() (this=0x63e95f0) at /data/kde/src/kxmlgui/src/kmainwindow.cpp:406
#46 0x00007f1fa45aa4ee in KXmlGuiWindow::~KXmlGuiWindow() (this=0x63e95f0, vtt=0x7f1fa62b64e0 <VTT for KMComposerWin+24>) at /data/kde/src/kxmlgui/src/kxmlguiwindow.cpp:118
#47 0x00007f1fa602d93c in KMail::SecondaryWindow::~SecondaryWindow() (this=0x63e95f0, vtt=0x7f1fa62b64d8 <VTT for KMComposerWin+16>) at /data/kde/src/kmail/src/secondarywindow.cpp:53
#48 0x00007f1fa61690dc in KMail::Composer::~Composer() (this=0x63e95f0, vtt=0x7f1fa62b64d0 <VTT for KMComposerWin+8>) at /data/kde/src/kmail/src/editor/composer.h:35
#49 0x00007f1fa614d3e8 in KMComposerWin::~KMComposerWin() (this=0x63e95f0, vtt=0x7f1fa62b64c8 <VTT for KMComposerWin>) at /data/kde/src/kmail/src/editor/kmcomposerwin.cpp:511
#50 0x00007f1fa614d550 in KMComposerWin::~KMComposerWin() (this=0x63e95f0) at /data/kde/src/kmail/src/editor/kmcomposerwin.cpp:501
#51 0x00007f1fa614d5e9 in KMComposerWin::~KMComposerWin() (this=0x63e95f0) at /data/kde/src/kmail/src/editor/kmcomposerwin.cpp:501
#52 0x00007f1fa4cf8d00 in QObject::event(QEvent*) (this=0x63e95f0, e=<optimized out>) at kernel/qobject.cpp:1251
#53 0x00007f1fa5742060 in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#54 0x00007f1fa5855854 in QMainWindow::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#55 0x00007f1fa455d253 in KMainWindow::event(QEvent*) (this=0x63e95f0, ev=0xf87b00) at /data/kde/src/kxmlgui/src/kmainwindow.cpp:875
#56 0x00007f1fa45aa65a in KXmlGuiWindow::event(QEvent*) (this=0x63e95f0, ev=0xf87b00) at /data/kde/src/kxmlgui/src/kxmlguiwindow.cpp:122
#57 0x00007f1fa56ffc62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#58 0x00007f1fa57091e0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#59 0x00007f1fa4ccd572 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x63e95f0, event=0xf87b00) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:143
#60 0x00007f1fa4cd0208 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0xc241f0) at kernel/qcoreapplication.cpp:1840
#61 0x00007f1fa4d24343 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0xd932b0) at kernel/qeventdispatcher_glib.cpp:277
#62 0x00007f1fa0c156b3 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#63 0x00007f1fa0c17460 in  () at /usr/lib64/libglib-2.0.so.0
#64 0x00007f1fa0c1749f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#65 0x00007f1fa4d23981 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0xc45540, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#66 0x00007f1fa4ccc0db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc3ffc51e0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#67 0x00007f1fa4cd3d42 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#68 0x0000000000403ab9 in main(int, char**) (argc=1, argv=0x7ffc3ffc5508) at /data/kde/src/kmail/src/main.cpp:168
Comment 1 Laurent Montel 2019-09-30 11:27:35 UTC
Git commit 6198b6426615a58f8a667010baf5de43669a1fda by Laurent Montel.
Committed on 30/09/2019 at 11:27.
Pushed by mlaurent into branch 'Applications/19.08'.

Fix Bug 412122 - Crash when closing the composer

I can't reproduce it, but I disconnect signal when we detroy composer.
I hope that it will fix this crash
FIXED-IN: 5.12.2

M  +2    -1    src/editor/kmcomposerwin.cpp
M  +1    -0    src/editor/kmcomposerwin.h

https://commits.kde.org/kmail/6198b6426615a58f8a667010baf5de43669a1fda