Bug 449952 - KMail crashes in qgpgme when entering text in To: field
Summary: KMail crashes in qgpgme when entering text in To: field
Status: REPORTED
Alias: None
Product: kmail2
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-02-10 17:04 UTC by mnd999
Modified: 2022-02-11 14:41 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 mnd999 2022-02-10 17:04:25 UTC
Application: kmail (5.19.2 (21.12.2))

Qt Version: 5.15.2
Frameworks Version: 5.90.0
Operating System: Linux 5.15.22-1-lts x86_64
Windowing System: X11
Distribution: "Arch Linux"
DrKonqi: 5.24.0 [KCrashBackend]

-- Information about the crash:
Create a new mail, then select to To: box and enter any characters. I have GPG keys enabled.

The crash can be reproduced every time.

-- Backtrace:
Application: KMail (kmail), signal: Segmentation fault

[KCrash Handler]
#4  std::__atomic_base<int>::load(std::memory_order) const (__m=std::memory_order_relaxed, this=0x8) at /usr/include/c++/11.1.0/bits/atomic_base.h:479
#5  QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) (_q_value=...) at /usr/include/qt/QtCore/qatomic_cxx11.h:239
#6  QBasicAtomicInteger<int>::loadRelaxed() const (this=0x8) at /usr/include/qt/QtCore/qbasicatomic.h:107
#7  QtPrivate::RefCount::ref() (this=0x8) at /usr/include/qt/QtCore/qrefcount.h:55
#8  QString::QString(QString const&) (other=..., this=0x7ffc93a9b580) at /usr/include/qt/QtCore/qstring.h:1094
#9  std::_Head_base<3ul, QString, false>::_Head_base(QString const&) (__h=..., this=0x7ffc93a9b580) at /usr/include/c++/11.1.0/tuple:183
#10 std::_Tuple_impl<3ul, QString, QString>::_Tuple_impl(QString const&, QString const&) (__tail#0=..., __head=..., this=0x7ffc93a9b578) at /usr/include/c++/11.1.0/tuple:270
#11 std::_Tuple_impl<2ul, QString, QString, QString>::_Tuple_impl(QString const&, QString const&, QString const&) (__tail#1=..., __tail#0=..., __head=..., this=0x7ffc93a9b578) at /usr/include/c++/11.1.0/tuple:270
#12 std::_Tuple_impl<1ul, GpgME::Key, QString, QString, QString>::_Tuple_impl(GpgME::Key const&, QString const&, QString const&, QString const&) (__tail#2=..., __tail#1=..., __tail#0=..., __head=..., this=0x7ffc93a9b578) at /usr/include/c++/11.1.0/tuple:270
#13 std::_Tuple_impl<0ul, std::_Placeholder<1>, GpgME::Key, QString, QString, QString>::_Tuple_impl(std::_Placeholder<1> const&, GpgME::Key const&, QString const&, QString const&, QString const&) (__tail#3=..., __tail#2=..., __tail#1=..., __tail#0=..., __head=<optimized out>, this=0x7ffc93a9b578) at /usr/include/c++/11.1.0/tuple:270
#14 std::tuple<std::_Placeholder<1>, GpgME::Key, QString, QString, QString>::tuple<true, true>(std::_Placeholder<1> const&, GpgME::Key const&, QString const&, QString const&, QString const&) (__elements#4=..., __elements#3=..., __elements#2=..., __elements#1=..., __elements#0=<optimized out>, this=0x7ffc93a9b578) at /usr/include/c++/11.1.0/tuple:719
#15 std::_Bind<std::tuple<GpgME::Error, QString, GpgME::Error> (*(std::_Placeholder<1>, GpgME::Key, QString, QString, QString))(GpgME::Context*, GpgME::Key const&, QString const&, QString const&, QString const&)>::_Bind<std::_Placeholder<1> const&, GpgME::Key const&, QString const&, QString const&, QString const&>(std::tuple<GpgME::Error, QString, GpgME::Error> (*&&)(GpgME::Context*, GpgME::Key const&, QString const&, QString const&, QString const&), std::_Placeholder<1> const&, GpgME::Key const&, QString const&, QString const&, QString const&) (__f=<optimized out>, this=0x7ffc93a9b570) at /usr/include/c++/11.1.0/functional:490
#16 std::bind<std::tuple<GpgME::Error, QString, GpgME::Error> (*)(GpgME::Context*, GpgME::Key const&, QString const&, QString const&, QString const&), std::_Placeholder<1> const&, GpgME::Key const&, QString const&, QString const&, QString const&>(std::tuple<GpgME::Error, QString, GpgME::Error> (*&&)(GpgME::Context*, GpgME::Key const&, QString const&, QString const&, QString const&), std::_Placeholder<1> const&, GpgME::Key const&, QString const&, QString const&, QString const&) (__f=<optimized out>) at /usr/include/c++/11.1.0/functional:793
#17 QGpgME::QGpgMEAddUserIDJob::start(GpgME::Key const&, QString const&, QString const&, QString const&) (this=0x56069d64b130, key=..., name=..., email=..., comment=...) at qgpgmeadduseridjob.cpp:82
#18 0x00007f7767180059 in  () at /usr/lib/libkmailprivate.so.5
#19 0x00007f775e2b6d93 in  () at /usr/lib/libQt5Core.so.5
#20 0x00007f775d43d364 in MessageComposer::RecipientLineNG::analyzeLine(QString const&) () at /usr/lib/libKF5MessageComposer.so.5
#21 0x00007f775e2b6d93 in  () at /usr/lib/libQt5Core.so.5
#22 0x00007f775ee2fef7 in QLineEdit::textChanged(QString const&) () at /usr/lib/libQt5Widgets.so.5
#23 0x00007f775e2b6ddf in  () at /usr/lib/libQt5Core.so.5
#24 0x00007f775ee3b1fa in QWidgetLineControl::textChanged(QString const&) () at /usr/lib/libQt5Widgets.so.5
#25 0x00007f775ee3eeb1 in QWidgetLineControl::finishChange(int, bool, bool) () at /usr/lib/libQt5Widgets.so.5
#26 0x00007f775ee41cff in QWidgetLineControl::processKeyEvent(QKeyEvent*) () at /usr/lib/libQt5Widgets.so.5
#27 0x00007f775ee333d0 in QLineEdit::keyPressEvent(QKeyEvent*) () at /usr/lib/libQt5Widgets.so.5
#28 0x00007f775bfa1a63 in KLineEdit::keyPressEvent(QKeyEvent*) () at /usr/lib/libKF5Completion.so.5
#29 0x00007f775ce94536 in PimCommon::AddresseeLineEdit::keyPressEvent(QKeyEvent*) () at /usr/lib/libKF5PimCommonAkonadi.so.5
#30 0x00007f775ed2e970 in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#31 0x00007f775ecf81a6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#32 0x00007f775ecfd257 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#33 0x00007f775e28616a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#34 0x00007f775ed4e3ab in  () at /usr/lib/libQt5Widgets.so.5
#35 0x00007f775ecf81a6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#36 0x00007f775e28616a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#37 0x00007f775e655bc4 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /usr/lib/libQt5Gui.so.5
#38 0x00007f775e6405e5 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Gui.so.5
#39 0x00007f77476dad90 in  () at /usr/lib/libQt5XcbQpa.so.5
#40 0x00007f7756b44f13 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#41 0x00007f7756b9b0d9 in  () at /usr/lib/libglib-2.0.so.0
#42 0x00007f7756b42485 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#43 0x00007f775e2d144a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#44 0x00007f775e27e44b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#45 0x00007f775e289b97 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#46 0x00005606998e2136 in  ()
#47 0x00007f775dc3db25 in __libc_start_main () at /usr/lib/libc.so.6
#48 0x00005606998e238e in  ()
[Inferior 1 (process 969551) detached]

Possible duplicates by query: bug 449891, bug 427411, bug 425805, bug 423904, bug 421432.

Reported using DrKonqi
Comment 1 mnd999 2022-02-11 09:23:04 UTC
I'm not sure if any of this is relevant:

* Pretty sure this was working before I upgraded the CPU from a 6700k to an Epyc.
* My GPG key is stored on a Yubikey
Comment 2 Hauke 2022-02-11 14:41:14 UTC
Can confirm:

1. Create a new mail with an attached GPG key
2. Enter anything in the "To" field

When starting from the terminal, the log output of KMail looks pretty much the same as describes in #449898 comment 2 (https://bugs.kde.org/show_bug.cgi?id=449898#c2)