Bug 415168 - Kleopatra crashing when looking up id on server
Summary: Kleopatra crashing when looking up id on server
Status: RESOLVED FIXED
Alias: None
Product: kleopatra
Classification: Applications
Component: general (show other bugs)
Version: 3.1.8
Platform: Other FreeBSD
: NOR critical (vote)
Target Milestone: ---
Assignee: Andre Heinecke
URL: https://phabricator.kde.org/D26393
Keywords:
: 417389 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-12-14 12:29 UTC by Gerard Seibert
Modified: 2021-01-13 17:12 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
De- Inline virtual dtor of Keylistmodelinterface and export it (3.34 KB, patch)
2020-02-12 11:17 UTC, Andre Heinecke
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gerard Seibert 2019-12-14 12:29:02 UTC
Kleopatra: Version 3.1.8 (19.12.0)

Operating System: FreeBSD 11.3
KDE Plasma Version: 5.17.4
KDE Frameworks Version: 5.64.0
Qt Version: 5.13.2
Kernel Version: 11.3-RELEASE-p5
OS Type: 64-bit
Processors: 4 × ACPI CPU
Memory: 31.7 GiB of RAM

When I open Kleopatra and right-click on an identity, all of the options are greyed out.  If I click on "Lookup on server" and start to enter anything in the "Find" box, the program immediately crashes. This is the little output available:

Application: Kleopatra (kleopatra), signal: Segmentation fault
Program terminated with signal ?, Unknown signal.
The program no longer exists.

This virtually useless info is from gdb:

NU gdb (GDB) 8.3.1 [GDB v8.3.1 for FreeBSD]
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-portbld-freebsd11.3".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from kleopatra...
(No debugging symbols found in kleopatra)
(gdb) run
Starting program: /usr/local/bin/kleopatra 
[New LWP 101148 of process 49534]
[New LWP 101149 of process 49534]
[Detaching after fork from child process 49535]
[Detaching after fork from child process 49536]
[Detaching after fork from child process 49537]
[Detaching after fork from child process 49539]
[Detaching after fork from child process 49541]
[Detaching after fork from child process 49543]
[Detaching after fork from child process 49545]
[Detaching after fork from child process 49547]
[Detaching after fork from child process 49548]
[Detaching after fork from child process 49550]
[Detaching after fork from child process 49553]
[Detaching after fork from child process 49556]
[Detaching after fork from child process 49559]
[Detaching after fork from child process 49562]
[Detaching after fork from child process 49565]
[New LWP 101150 of process 49534]
[New LWP 101152 of process 49534]
[Detaching after fork from child process 49567]
[LWP 101152 of process 49534 exited]
[New LWP 101154 of process 49534]
[New LWP 101153 of process 49534]
[Detaching after fork from child process 49569]
[Detaching after fork from child process 49571]
[Detaching after fork from child process 49573]
[LWP 101154 of process 49534 exited]
[LWP 101153 of process 49534 exited]
qt.xkb.compose: failed to create compose table

Thread 1 received signal SIGSEGV, Segmentation fault.
0x00000000004a958f in ?? ()
(gdb) bt full
#0  0x00000000004a958f in ?? ()
No symbol table info available.
#1  0x00000000004a8ad2 in ?? ()
No symbol table info available.
#2  0x00000008068bd241 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#3  0x00000008056bbe91 in ?? () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#4  0x00000008068bd241 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#5  0x00000008056be237 in QWidgetLineControl::finishChange(int, bool, bool) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#6  0x00000008056c2974 in QWidgetLineControl::processKeyEvent(QKeyEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#7  0x00000008056b92b2 in QLineEdit::keyPressEvent(QKeyEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#8  0x00000008055b59c3 in QWidget::event(QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#9  0x00000008056b8650 in QLineEdit::event(QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#10 0x0000000805579f03 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#11 0x000000080557b63b in QApplication::notify(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#12 0x000000080688a212 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#13 0x00000008055d3d68 in ?? () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#14 0x0000000805579f03 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#15 0x000000080557b44c in QApplication::notify(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#16 0x000000080688a212 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#17 0x0000000805f250b5 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/local/lib/qt5/libQt5Gui.so.5
No symbol table info available.
#18 0x0000000805f0a23c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/lib/qt5/libQt5Gui.so.5
No symbol table info available.
#19 0x00000008139214df in ?? () from /usr/local/lib/qt5/libQt5XcbQpa.so.5
No symbol table info available.
#20 0x000000080e20f417 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#21 0x000000080e20f7a3 in ?? () from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#22 0x000000080e20f854 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#23 0x00000008068e2cb6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#24 0x00000008068858be in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#25 0x000000080688a97e in QCoreApplication::exec() () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#26 0x00000000005eedd3 in ?? ()
No symbol table info available.
#27 0x000000000044a01d in ?? ()
No symbol table info available.
#28 0x00000008008df000 in ?? ()
No symbol table info available.
#29 0x0000000000000000 in ?? ()
--Type <RET> for more, q to quit, c to continue without paging--
No symbol table info available.
(gdb) q
A debugging session is active.

        Inferior 1 [process 49534] will be killed.

Quit anyway? (y or n) y


I have tried removing, rebuilding and reinstalling Kleopatra but with negative results. Interestingly enough, "KGpg" works fine.
Comment 1 Gerard Seibert 2019-12-15 10:01:51 UTC
I rebuild kleopatra with debug symbols. This is the output when run under 'gdb' when it crashes.

GNU gdb (GDB) 8.3.1 [GDB v8.3.1 for FreeBSD]
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-portbld-freebsd11.3".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from kleopatra...
run(gdb) run
Starting program: /usr/local/bin/kleopatra 
[New LWP 100796 of process 85700]
[New LWP 100797 of process 85700]
[Detaching after fork from child process 85701]
[Detaching after fork from child process 85702]
[Detaching after fork from child process 85703]
[Detaching after fork from child process 85705]
[Detaching after fork from child process 85707]
[Detaching after fork from child process 85709]
[Detaching after fork from child process 85711]
[Detaching after fork from child process 85713]
[Detaching after fork from child process 85714]
[Detaching after fork from child process 85716]
[Detaching after fork from child process 85719]
[Detaching after fork from child process 85722]
[Detaching after fork from child process 85725]
[Detaching after fork from child process 85728]
[Detaching after fork from child process 85731]
[New LWP 100799 of process 85700]
[New LWP 100801 of process 85700]
[Detaching after fork from child process 85733]
[LWP 100801 of process 85700 exited]
[New LWP 100802 of process 85700]
[New LWP 100803 of process 85700]
[Detaching after fork from child process 85735]
[Detaching after fork from child process 85737]
[LWP 100803 of process 85700 exited]
[Detaching after fork from child process 85739]
[LWP 100802 of process 85700 exited]
qt.xkb.compose: failed to create compose table
ASSERT: "model" in file /usr/ports/security/kleopatra/work/kleopatra-19.12.0/src/dialogs/lookupcertificatesdialog.cpp, line 103

Thread 1 received signal SIGABRT, Aborted.
0x0000000807b379ba in thr_kill () from /lib/libc.so.7
(gdb) bt full
#0  0x0000000807b379ba in thr_kill () from /lib/libc.so.7
No symbol table info available.
#1  0x0000000807b37984 in raise () from /lib/libc.so.7
No symbol table info available.
#2  0x0000000807b378f9 in abort () from /lib/libc.so.7
No symbol table info available.
#3  0x0000000806aa68c9 in ?? () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#4  0x0000000806aa7f2e in QMessageLogger::fatal(char const*, ...) const () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#5  0x0000000806aa26ad in qt_assert(char const*, char const*, int) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#6  0x000000000050ec86 in Kleo::Dialogs::LookupCertificatesDialog::Private::selectedCertificates (this=0x81666e280)
    at /usr/ports/security/kleopatra/work/kleopatra-19.12.0/src/dialogs/lookupcertificatesdialog.cpp:103
        view = 0x81ea3c300
        model = 0x0
        sm = 0x7fffffffcde0
#7  0x000000000050db33 in Kleo::Dialogs::LookupCertificatesDialog::selectedCertificates (this=0x81ec1e1c0)
    at /usr/ports/security/kleopatra/work/kleopatra-19.12.0/src/dialogs/lookupcertificatesdialog.cpp:202
No locals.
#8  0x000000000050de38 in Kleo::Dialogs::LookupCertificatesDialog::Private::enableDisableWidgets (this=0x81666e280)
    at /usr/ports/security/kleopatra/work/kleopatra-19.12.0/src/dialogs/lookupcertificatesdialog.cpp:250
        n = 8
#9  0x000000000050efb5 in Kleo::Dialogs::LookupCertificatesDialog::Private::slotSearchTextChanged (this=0x81666e280)
    at /usr/ports/security/kleopatra/work/kleopatra-19.12.0/src/dialogs/lookupcertificatesdialog.cpp:71
No locals.
#10 0x000000000050e217 in Kleo::Dialogs::LookupCertificatesDialog::qt_static_metacall (_o=0x81ec1e1c0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffffffd090)
    at src/kleopatra_bin_autogen/include/moc_lookupcertificatesdialog.cpp:118
        _t = 0x81ec1e1c0
#11 0x0000000806cbd241 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#12 0x0000000805abbe91 in ?? () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#13 0x0000000806cbd241 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#14 0x0000000805abe237 in QWidgetLineControl::finishChange(int, bool, bool) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#15 0x0000000805ac2974 in QWidgetLineControl::processKeyEvent(QKeyEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#16 0x0000000805ab92b2 in QLineEdit::keyPressEvent(QKeyEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#17 0x00000008059b59c3 in QWidget::event(QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#18 0x0000000805ab8650 in QLineEdit::event(QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#19 0x0000000805979f03 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#20 0x000000080597b63b in QApplication::notify(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#21 0x0000000806c8a212 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#22 0x00000008059d3d68 in ?? () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#23 0x0000000805979f03 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#24 0x000000080597b44c in QApplication::notify(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Widgets.so.5
No symbol table info available.
#25 0x0000000806c8a212 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
--Type <RET> for more, q to quit, c to continue without paging--
#26 0x00000008063250b5 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/local/lib/qt5/libQt5Gui.so.5
No symbol table info available.
#27 0x000000080630a23c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/lib/qt5/libQt5Gui.so.5
No symbol table info available.
#28 0x0000000813d214df in ?? () from /usr/local/lib/qt5/libQt5XcbQpa.so.5
No symbol table info available.
#29 0x000000080e60f417 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#30 0x000000080e60f7a3 in ?? () from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#31 0x000000080e60f854 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.0
No symbol table info available.
#32 0x0000000806ce2cb6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#33 0x0000000806c858be in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#34 0x0000000806c8a97e in QCoreApplication::exec() () from /usr/local/lib/qt5/libQt5Core.so.5
No symbol table info available.
#35 0x000000000074f40e in main (argc=1, argv=0x7fffffffe5d8) at /usr/ports/security/kleopatra/work/kleopatra-19.12.0/src/main.cpp:254
        app = {<QApplication> = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr$QObject = 0xb4bf30 <vtable for KleopatraApplication+16>, static staticMetaObject = {d = {superdata = 0x0, 
                      stringdata = 0x807138900, data = 0x806e25250, static_metacall = 0x806cc07a0, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x811e47000}, static staticQtMetaObject = {
                    d = {superdata = 0x0, stringdata = 0x80712cfe8, data = 0x806e22460, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {
                    superdata = 0x807116450 <QObject::staticMetaObject>, stringdata = 0x80712b198, data = 0x806e1f940, static_metacall = 0x806c8f4b0, relatedMetaObjects = 0x0, extradata = 0x0}}, 
                static self = 0x7fffffffe558}, static staticMetaObject = {d = {superdata = 0x807115a38 <QCoreApplication::staticMetaObject>, stringdata = 0x806977298, data = 0x8066aea00, 
                  static_metacall = 0x80632b580, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x806966e30 <QGuiApplication::staticMetaObject>, 
                stringdata = 0x806083670, data = 0x805d2c1e0, static_metacall = 0x8059800b0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {
              superdata = 0x806051df8 <QApplication::staticMetaObject>, stringdata = 0xb6a280 <qt_meta_stringdata_KleopatraApplication>, data = 0x7be440 <qt_meta_data_KleopatraApplication>, 
              static_metacall = 0x4510a0 <KleopatraApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = {d = 0x811e44300}}
        timer = {mds = 17503153}
        service = {<QObject> = {_vptr$QObject = 0xb4cbe0 <vtable for KUniqueService+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x807138900, data = 0x806e25250, 
                static_metacall = 0x806cc07a0, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x811e3bbd0}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x80712cfe8, 
                data = 0x806e22460, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x807116450 <QObject::staticMetaObject>, 
              stringdata = 0xb6ae20 <qt_meta_stringdata_KUniqueService>, data = 0x7bec00 <qt_meta_data_KUniqueService>, 
              static_metacall = 0x453800 <KUniqueService::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = 0x811e692a0}
        aboutData = {<KAboutData> = {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x8053ea230, data = 0x8051cf240, static_metacall = 0x805172850, relatedMetaObjects = 0x0, 
                extradata = 0x0}}, d = 0x811e70040}, <No data fields>}
        parser = {d = 0x811ea55e0}
        migrate = {d = 0x811f26100}
        gpgmeInitError = {mErr = 0, mMessage = ""}
        rc = 12039168
        server = {<QObject> = {_vptr$QObject = 0xb4c5b0 <vtable for Kleo::UiServer+16>, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x807138900, data = 0x806e25250, 
                static_metacall = 0x806cc07a0, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x811e41970}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0x80712cfe8, 
                data = 0x806e22460, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x807116450 <QObject::staticMetaObject>, 
              stringdata = 0xb6aa60 <qt_meta_stringdata_Kleo__UiServer>, data = 0x7be970 <qt_meta_data_Kleo__UiServer>, 
              static_metacall = 0x452860 <Kleo::UiServer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = {d = 0x811f27100}}
        e = @0x800b75800: {_vptr$exception = 0xd550b87a}
        daemon = false

Interestingly enough, when it crashes it pops up a notification window that asks if I want to report the crash. I go through the screens and then it tells me that there is no backtrace information available.
Comment 2 groot 2020-01-03 12:40:25 UTC
The relevant bit of Gerard's stack trace is this:

```
#6  0x000000000050ec86 in Kleo::Dialogs::LookupCertificatesDialog::Private::selectedCertificates (this=0x81666e280)
    at /usr/ports/security/kleopatra/work/kleopatra-19.12.0/src/dialogs/lookupcertificatesdialog.cpp:103
        view = 0x81ea3c300
        model = 0x0
        sm = 0x7fffffffcde0
```

which is tripping the assert() on that line (model is null). Since this is a FreeBSD-specific thing, it seems, we'll track it at https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242670 in first instance.
Comment 3 groot 2020-01-03 14:18:57 UTC
There's a fix for this in Phabricator. I can't tell if it's a clang problem or what, but the "double downcast" from QAbstractItemModel to KeyListModelInterface fails; doing it explicitly in two steps works.
Comment 4 Andre Heinecke 2020-02-12 11:17:29 UTC
Created attachment 125893 [details]
De- Inline virtual dtor of Keylistmodelinterface and export it

The underlying reason is the "Invalid Model" from the debug output.

So I followed volkers advice from: https://phabricator.kde.org/D26393 without completely understanding it.

Could someone try to compile libkleo and then recompile kleopatra with the attached patch?

I don't have a build setup for FreeBSD. For Linux it still works so I'm tempted to just push this but it would be better if someone could test it :-)
Comment 5 Andre Heinecke 2020-02-12 11:19:37 UTC
*** Bug 417389 has been marked as a duplicate of this bug. ***
Comment 6 Gerard Seibert 2020-02-12 12:01:54 UTC
(In reply to Andre Heinecke from comment #4)
> Created attachment 125893 [details]
> De- Inline virtual dtor of Keylistmodelinterface and export it
> 
> The underlying reason is the "Invalid Model" from the debug output.
> 
> So I followed volkers advice from: https://phabricator.kde.org/D26393
> without completely understanding it.
> 
> Could someone try to compile libkleo and then recompile kleopatra with the
> attached patch?
> 
> I don't have a build setup for FreeBSD. For Linux it still works so I'm
> tempted to just push this but it would be better if someone could test it :-)

Thanks. I appreciate your efforts.
Comment 7 groot 2020-06-01 15:35:17 UTC
@aheineke, your patch resolves the issue for me. I don't know how I missed notifications from when you posted it, though (and Phab doesn't know about this patch either, and .. sigh)
Comment 8 Bug Janitor Service 2021-01-13 14:03:48 UTC
A possibly relevant merge request was started @ https://invent.kde.org/pim/libkleo/-/merge_requests/8
Comment 9 groot 2021-01-13 14:21:11 UTC
I've filed a MR in invent for this patch, since it wasn't being applied from here. Same patch also applied in downstream packaging, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242670
Comment 10 Ingo Klöcker 2021-01-13 17:12:20 UTC
Git commit 44439dfa8454c0a86d194f6a777af003d7195212 by Ingo Klöcker, on behalf of Adriaan de Groot.
Committed on 13/01/2021 at 17:12.
Pushed by kloecker into branch 'master'.

Avoid RTTI mix-ups by exporting KeyListModelInterface

This attempts to fix a crash on FreeBSD. See: D26393 for
more info.

M  +1    -0    src/CMakeLists.txt
A  +13   -0    src/models/keylistmodelinterface.cpp     [License: GPL(v2.0+)]
M  +4    -2    src/models/keylistmodelinterface.h

https://invent.kde.org/pim/libkleo/commit/44439dfa8454c0a86d194f6a777af003d7195212