Skip to content

Invoking ksnip in the Fedora KDE Plasma Mobile Spin causes a segmentation fault. #1119

@RokeJulianLockhart

Description

@RokeJulianLockhart

Describe the bug

Invoking ksnip in the Fedora KDE Plasma Mobile Spin causes a segmentation fault.

To Reproduce

  1. Invoke gdb ksnip (this reproduces outside gdb, too):

    Image

  2. Close the window.

Expected behavior

It should not crash.

Desktop

  1. OS

    kernel-6.14.0-63.fc42.x86_64

  2. Distribution, in the case of Linux

    PRETTY_NAME="Fedora Linux 42 (KDE Plasma Mobile)"
    CPE_NAME="cpe:/o:fedoraproject:fedora:42"
  3. Window system, in the case of Linux

    kwin-wayland-6.3.5-1.fc42.x86_64

  4. KSnip version

    1.10.1-7.fc42.x86_64

  5. How did you install KSnip?

    sudo dnf5 install ksnip

Additional context

My trace from gdb is undermentioned:

RokeJulianLockhart@localhost-live:~$ ksnip
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
Warning: Unable to find any translation files for ksnip.
Warning: Unable to find any translation files for kImageAnnotator.
Warning: Wayland does not support QWindow::requestActivate()
Warning: Wayland does not support QWindow::requestActivate()
Segmentation fault (core dumped)
RokeJulianLockhart@localhost-live:~$ gdb ksnip
GNU gdb (Fedora Linux) 16.2-3.fc42
Copyright (C) 2024 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-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://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 ksnip...

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.fedoraproject.org/>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Reading symbols from /home/RokeJulianLockhart/.cache/debuginfod_client/364c8796710828a987f113afb2dcefd59ad543d5/debuginfo...
(gdb) run
Starting program: /usr/bin/ksnip
Function(s) ^std::(move|forward|as_const|(__)?addressof) will be skipped when stepping.
Function(s) ^std::(shared|unique)_ptr<.*>::(get|operator) will be skipped when stepping.
Function(s) ^std::(basic_string|vector|array|deque|(forward_)?list|(unordered_|flat_)?(multi)?(map|set)|span)<.*>::(c?r?(begin|end)|front|back|data|size|empty) will be skipped when stepping.
Function(s) ^std::(basic_string|vector|array|deque|span)<.*>::operator.] will be skipped when stepping.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe42cc6c0 (LWP 5935)]
Downloading 22.44 M separate debug info for /lib64/libKF5WidgetsAddons.so.5
Downloading 11.72 M separate debug info for /lib64/libKF5CoreAddons.so.5
Downloading 88.17 M separate debug info for /lib64/libQt5Qml.so.5
Downloading 5.59 M separate debug info for /lib64/libKF5GuiAddons.so.5
Downloading 2.85 M separate debug info for /lib64/libdbusmenu-qt5.so.2
Downloading 7.92 M separate debug info for /lib64/libQt5QmlModels.so.5
Downloading 854.09 K separate debug info for /home/RokeJulianLockhart/.cache/debuginfod_client/43ab53eae69cc956755900dd8edba8d2b970866e/debuginfo
Downloading 126.04 K separate debug info for /lib64/libacl.so.1
Downloading separate debug info for /home/RokeJulianLockhart/.cache/debuginfod_client/4c6eb05a828773362fac2f42c80feed6229aedd4/debuginfo
Downloading 2.82 M separate debug info for /lib64/libKF5DBusAddons.so.5
Downloading 2.73 M separate debug info for /lib64/libKF5GlobalAccel.so.5
Downloading 3.49 M separate debug info for /lib64/libKF5Archive.so.5
Downloading 2.86 M separate debug info for /lib64/libKF5Codecs.so.5
Downloading 1.59 M separate debug info for /lib64/libudev.so.1
Downloading 795.95 K separate debug info for /lib64/libimobiledevice-1.0.so.6
Downloading 42.01 K separate debug info for /home/RokeJulianLockhart/.cache/debuginfod_client/d15c1c143b699601efd610a46d0179289f3b87c4/debuginfo
Downloading 333.54 K separate debug info for /lib64/libplist-2.0.so.4
Downloading 9.19 K separate debug info for /home/RokeJulianLockhart/.cache/debuginfod_client/5816344919688a8b94b8cb0358332c1131e898dd/debuginfo
Downloading 83.80 K separate debug info for /lib64/libvorbisfile.so.3
Downloading 10.34 K separate debug info for /home/RokeJulianLockhart/.cache/debuginfod_client/cb63c8d5949011a24ba7d8d8afe124a4c016978b/debuginfo
Downloading 266.04 K separate debug info for /lib64/libtdb.so.1
Downloading 56.58 K separate debug info for /lib64/libattr.so.1
Downloading separate debug info for /home/RokeJulianLockhart/.cache/debuginfod_client/74bf490f09ad5a09daa2eaa786b7465d165e7543/debuginfo
Downloading 91.02 K separate debug info for /lib64/libusbmuxd-2.0.so.7
Downloading separate debug info for /home/RokeJulianLockhart/.cache/debuginfod_client/f46c4282ca4454d3f8f3f7131c9f5b4730463f2c/debuginfo
Downloading 186.56 K separate debug info for /lib64/libimobiledevice-glue-1.0.so.0
Downloading 338.16 K separate debug info for /lib64/libvorbis.so.0
Downloading separate debug info for /lib64/libogg.so.0
[New Thread 0x7fffe13ff6c0 (LWP 5947)]
[New Thread 0x7fffe0bfe6c0 (LWP 5948)]
Downloading 750.66 K separate debug info for /usr/lib64/qt5/plugins/wayland-graphics-integration-client/libqt-plugin-wayland-egl.so
Downloading 235.92 K separate debug info for /lib64/libEGL.so.1
Downloading 3.69 M separate debug info for /lib64/libEGL_mesa.so.0
Downloading 23.92 M separate debug info for /home/RokeJulianLockhart/.cache/debuginfod_client/e0dccc33d17f5643a1cd94d4ad7e8767c7c46f0c/debuginfo
Downloading 180.30 M separate debug info for /lib64/libgallium-25.0.2.so
Downloading 1.12 G separate debug info for /lib64/libLLVM.so.20.1
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
[New Thread 0x7fffc89ff6c0 (LWP 6290)]
[New Thread 0x7fffbffff6c0 (LWP 6291)]
[New Thread 0x7fffc81fe6c0 (LWP 6292)]
[New Thread 0x7fffc79fd6c0 (LWP 6293)]
[New Thread 0x7fffc71fc6c0 (LWP 6294)]
[New Thread 0x7fffc69fb6c0 (LWP 6295)]
[New Thread 0x7fffc61fa6c0 (LWP 6296)]
[New Thread 0x7fffc59f96c0 (LWP 6297)]
[New Thread 0x7fffc51f86c0 (LWP 6298)]
[New Thread 0x7fffc49f76c0 (LWP 6299)]
[New Thread 0x7fffbf7fe6c0 (LWP 6300)]
[New Thread 0x7fffbeffd6c0 (LWP 6301)]
[New Thread 0x7fffbe7fc6c0 (LWP 6302)]
[New Thread 0x7fffbdffb6c0 (LWP 6303)]
Warning: Unable to find any translation files for ksnip.
Warning: Unable to find any translation files for kImageAnnotator.
[New Thread 0x7fffbd2356c0 (LWP 6304)]
[New Thread 0x7fffbca346c0 (LWP 6305)]
[New Thread 0x7fff87fff6c0 (LWP 6306)]
[New Thread 0x7fff877fe6c0 (LWP 6307)]
[New Thread 0x7fff86ffd6c0 (LWP 6308)]
[New Thread 0x7fff867fc6c0 (LWP 6309)]
Warning: Wayland does not support QWindow::requestActivate()
Warning: Wayland does not support QWindow::requestActivate()
Thread 1 "ksnip" received signal SIGSEGV, Segmentation fault.
0x00007ffff7bca6f7 in kImageAnnotator::KeyEventFilter::handleKeyPressed (this=0x5555575acf78, event=0x7fffffffd3a0)
    at /usr/src/debug/kimageannotator-0.7.0-6.fc42.x86_64/src/common/filter/KeyEventFilter.cpp:74
74                      mKeyEventListener->keyPressed(keyEvent);
(gdb) bt full
#0  0x00007ffff7bca6f7 in kImageAnnotator::KeyEventFilter::handleKeyPressed (this=0x5555575acf78, event=0x7fffffffd3a0)
    at /usr/src/debug/kimageannotator-0.7.0-6.fc42.x86_64/src/common/filter/KeyEventFilter.cpp:74
        keyEvent = 0x7fffffffd3a0
#1  kImageAnnotator::KeyEventFilter::eventFilter (this=0x5555575acf78, watched=0x555558a674f0, event=0x7fffffffd3a0)
    at /usr/src/debug/kimageannotator-0.7.0-6.fc42.x86_64/src/common/filter/KeyEventFilter.cpp:46
No locals.
#2  0x00007ffff6621a91 in QCoreApplicationPrivate::sendThroughApplicationEventFilters (this=this@entry=0x5555556d3a80,
    receiver=receiver@entry=0x555558a674f0, event=event@entry=0x7fffffffd3a0) at kernel/qcoreapplication.cpp:1172
        obj = <optimized out>
        i = 2
#3  0x00007ffff7240fdd in QApplicationPrivate::notify_helper (this=0x5555556d3a80, receiver=0x555558a674f0, e=0x7fffffffd3a0)
    at kernel/qapplication.cpp:3611
        consumed = false
        filtered = false
#4  0x00007ffff6621de8 in QCoreApplication::notifyInternal2 (receiver=0x555558a674f0, event=0x7fffffffd3a0) at kernel/qcoreapplication.cpp:1064
        selfRequired = true
        result = false
        cbdata = {0x555558a674f0, 0x7fffffffd3a0, 0x7fffffffd33f}
        d = <optimized out>
        threadData = 0x5555556bba30
        scopeLevelCounter = {threadData = 0x5555556bba30}
#5  0x00007ffff6622022 in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1474
No locals.
#6  0x00007ffff6a6a61e in QGuiApplicationPrivate::processKeyEvent (e=0x7fffdc00ac10) at kernel/qguiapplication.cpp:2410
        window = <optimized out>
        ev = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x7ffff7055c58 <vtable for QKeyEvent+16>, static staticMetaObject = {d = {superdata = {
                    direct = 0x0}, stringdata = 0x7ffff687fd00 <qt_meta_stringdata_QEvent>, data = 0x7ffff687f740 <qt_meta_data_QEvent>,
                  static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 6, posted = 0, spont = 1, m_accept = 1,
              reserved = 2733}, modState = {i = 0}, ts = 3599110}, txt = {d = 0x555556f6dfc0}, k = 16777251, nScanCode = 64, nVirtualKey = 65513,
          nModifiers = 0, c = 1, autor = 0}
#7  0x00007ffff6a4a9ec in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1169
        event = 0x7fffdc00ac10
        nevents = 1
#8  0x00007fffe4505484 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5WaylandClient.so.5
No symbol table info available.
#9  0x00007ffff4ceb5e0 in g_main_dispatch (context=0x7fffdc000ed0) at ../glib/gmain.c:3398
        dispatch = 0x7fffe4505470 <userEventSourceDispatch(_GSource*, int (*)(void*), void*)>
--Type <RET> for more, q to quit, c to continue without paging--c
        prev_source = 0x0
        begin_time_nsec = 3599110865146
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x5555557665e0
        current = 0x5555575b5c50
        i = 1
        __func__ = <optimized out>
#10 g_main_context_dispatch_unlocked (context=0x7fffdc000ed0) at ../glib/gmain.c:4249
No locals.
#11 0x00007ffff4cf4708 in g_main_context_iterate_unlocked (context=context@entry=0x7fffdc000ed0, block=block@entry=1, dispatch=dispatch@entry=1,
    self=<optimized out>) at ../glib/gmain.c:4314
        max_priority = 2147483647
        timeout_usec = 29652000
        some_ready = 1
        nfds = 2
        allocated_nfds = <optimized out>
        fds = <optimized out>
        begin_time_nsec = <optimized out>
#12 0x00007ffff4cf48b7 in g_main_context_iteration (context=0x7fffdc000ed0, may_block=1) at ../glib/gmain.c:4379
        retval = <optimized out>
#13 0x00007ffff6677dbd in QEventDispatcherGlib::processEvents (this=0x55555576c060, flags=...) at kernel/qeventdispatcher_glib.cpp:423
        d = 0x5555557076c0
        canWait = <optimized out>
        savedFlags = {i = 0}
        result = <optimized out>
#14 0x00007ffff6620702 in QEventLoop::exec (this=this@entry=0x7fffffffd690, flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
        d = 0x5555575ae590
        threadData = <optimized out>
        locker = {val = 93824993706136}
        ref = <optimized out>
        app = <optimized out>
#15 0x00007ffff6628c17 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1375
        threadData = 0x5555556bba30
        eventLoop = {<QObject> = {_vptr.QObject = 0x7ffff6975b28 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0},
                stringdata = 0x7ffff6882ec0 <qt_meta_stringdata_QObject>, data = 0x7ffff6882da0 <qt_meta_data_QObject>,
                static_metacall = 0x7ffff6655fc0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0,
                extradata = 0x0}}, d_ptr = {d = 0x5555575ae590}, static staticQtMetaObject = {d = {superdata = {direct = 0x0},
                stringdata = 0x7ffff6885e80 <qt_meta_stringdata_Qt>, data = 0x7ffff6882fe0 <qt_meta_data_Qt>, static_metacall = 0x0,
                relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {
                direct = 0x7ffff696d3a0 <QObject::staticMetaObject>}, stringdata = 0x7ffff687f080 <qt_meta_stringdata_QEventLoop>,
              data = 0x7ffff687f020 <qt_meta_data_QEventLoop>,
              static_metacall = 0x7ffff66203e0 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0,
              extradata = 0x0}}}
        returnCode = <optimized out>
#16 0x00005555555711b7 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/ksnip-1.10.1-7.fc42.x86_64/src/main.cpp:67
        app = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7ffff78c3408 <vtable for QApplication+16>,
                static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff6882ec0 <qt_meta_stringdata_QObject>,
                    data = 0x7ffff6882da0 <qt_meta_data_QObject>,
                    static_metacall = 0x7ffff6655fc0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0,
                    extradata = 0x0}}, d_ptr = {d = 0x5555556d3a80}, static staticQtMetaObject = {d = {superdata = {direct = 0x0},
                    stringdata = 0x7ffff6885e80 <qt_meta_stringdata_Qt>, data = 0x7ffff6882fe0 <qt_meta_data_Qt>, static_metacall = 0x0,
                    relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {
                    direct = 0x7ffff696d3a0 <QObject::staticMetaObject>}, stringdata = 0x7ffff687f280 <qt_meta_stringdata_QCoreApplication>,
                  data = 0x7ffff687f160 <qt_meta_data_QCoreApplication>,
                  static_metacall = 0x7ffff66236c0 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
                  relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7fffffffd730}, static staticMetaObject = {d = {superdata = {
                  direct = 0x7ffff6975cc0 <QCoreApplication::staticMetaObject>}, stringdata = 0x7ffff6f8e6a0 <qt_meta_stringdata_QGuiApplication>,
                data = 0x7ffff6f8e420 <qt_meta_data_QGuiApplication>,
                static_metacall = 0x7ffff6a62e50 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
                relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {
                direct = 0x7ffff70552e0 <QGuiApplication::staticMetaObject>}, stringdata = 0x7ffff778fa60 <qt_meta_stringdata_QApplication>,
              data = 0x7ffff778f8e0 <qt_meta_data_QApplication>,
              static_metacall = 0x7ffff7243c90 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0,
              extradata = 0x0}}}
        dependencyInjector = <optimized out>
        bootstrapperFactory = {mInstanceLock = {<QObject> = {_vptr.QObject = 0x5555556a7590 <vtable for InstanceLock+16>, static staticMetaObject = {d = {
                  superdata = {direct = 0x0}, stringdata = 0x7ffff6882ec0 <qt_meta_stringdata_QObject>, data = 0x7ffff6882da0 <qt_meta_data_QObject>,
                  static_metacall = 0x7ffff6655fc0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0,
                  extradata = 0x0}}, d_ptr = {d = 0x555558df0030}, static staticQtMetaObject = {d = {superdata = {direct = 0x0},
                  stringdata = 0x7ffff6885e80 <qt_meta_stringdata_Qt>, data = 0x7ffff6882fe0 <qt_meta_data_Qt>, static_metacall = 0x0,
                  relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {
                  direct = 0x7ffff696d3a0 <QObject::staticMetaObject>}, stringdata = 0x555555644240 <qt_meta_stringdata_InstanceLock>,
                data = 0x55555563f420 <qt_meta_data_InstanceLock>,
                static_metacall = 0x555555572ba0 <InstanceLock::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0,
                extradata = 0x0}}, mSingular = 0x5555575c07e0}}

This has been reported to retrace.fedoraproject.org/faf/reports/950940.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions