Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Utilising Spectacle's "Active Window" mode on KSnip's GUI causes a segmentation fault. #1117

@RokeJulianLockhart

Description

@RokeJulianLockhart

Describe the bug

Utilising Spectacle's "Active Window" mode on KSnip's GUI causes a segmentation fault.

To Reproduce

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

    Image

  2. Invoke spectacle --new-instance.

  3. Utilise the "Active Window" mode on KSnip's GUI:

    Image

Expected behavior

It should not crash.

Desktop

  1. OS

    kernel-6.14.4-300.fc42.x86_64

  2. Distribution, in the case of Linux

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

    kwin-wayland-6.3.4-3.fc42.x86_64

  4. KSnip version

    ksnip-1.10.1-7.fc42.x86_64

  5. How did you install KSnip?

    sudo dnf5 install --refresh -y ksnip

Additional context

My trace from gdb is undermentioned:

Thread 1 "ksnip" received signal SIGSEGV, Segmentation fault.
0x00007ffff7bbc6f7 in kImageAnnotator::KeyEventFilter::handleKeyPressed (this=0x555555a9a6d8, event=0x7fffffffd340) at /usr/src/debug/kimageannotator-0.7.0-6.fc42.x86_64/src/common/filter/KeyEventFilter.cpp:74
74			mKeyEventListener->keyPressed(keyEvent);
Missing rpms, try: dnf --enablerepo='*debug*' install mesa-va-drivers-freeworld-debuginfo-25.0.4-1.fc42.x86_64
(gdb) bt full
#0  0x00007ffff7bbc6f7 in kImageAnnotator::KeyEventFilter::handleKeyPressed (this=0x555555a9a6d8, event=0x7fffffffd340) at /usr/src/debug/kimageannotator-0.7.0-6.fc42.x86_64/src/common/filter/KeyEventFilter.cpp:74
        keyEvent = 0x7fffffffd340
#1  kImageAnnotator::KeyEventFilter::eventFilter (this=0x555555a9a6d8, watched=0x555555d28a90, event=0x7fffffffd340) 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=0x555555d28a90, event=event@entry=0x7fffffffd340) at kernel/qcoreapplication.cpp:1172
        obj = <optimized out>
        i = 1
#3  0x00007ffff7240fdd in QApplicationPrivate::notify_helper (this=0x5555556d3a80, receiver=0x555555d28a90, e=0x7fffffffd340) at kernel/qapplication.cpp:3611
        consumed = false
        filtered = false
#4  0x00007ffff6621de8 in QCoreApplication::notifyInternal2 (receiver=0x555555d28a90, event=0x7fffffffd340) at kernel/qcoreapplication.cpp:1064
        selfRequired = true
        result = false
        cbdata = {0x555555d28a90, 0x7fffffffd340, 0x7fffffffd2df}
        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=0x555555cd3010) 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 = 29185599}, txt = {d = 0x555555d3dd50}, k = 16777299, nScanCode = 133, nVirtualKey = 65515, nModifiers = 0, c = 1, autor = 0}
#7  0x00007ffff6a4a9ec in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1169
        event = 0x555555cd3010
        nevents = 1
#8  0x00007fffe4505484 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5WaylandClient.so.5
No symbol table info available.
#9  0x00007ffff50ec040 in g_main_dispatch (context=0x7fffdc000ed0) at ../glib/gmain.c:3398
        dispatch = 0x7fffe4505470 <userEventSourceDispatch(_GSource*, int (*)(void*), void*)>
        prev_source = 0x0
        begin_time_nsec = 29185600058566
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
--Type <RET> for more, q to quit, c to continue without paging--c
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x555555768580
        current = 0x555555d719d0
        i = 1
        __func__ = <optimized out>
#10 g_main_context_dispatch_unlocked (context=0x7fffdc000ed0) at ../glib/gmain.c:4249
No locals.
#11 0x00007ffff50f5128 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 = 22710000
        some_ready = 1
        nfds = 2
        allocated_nfds = <optimized out>
        fds = <optimized out>
        begin_time_nsec = <optimized out>
#12 0x00007ffff50f52d3 in g_main_context_iteration (context=0x7fffdc000ed0, may_block=1) at ../glib/gmain.c:4379
        retval = <optimized out>
#13 0x00007ffff6677dbd in QEventDispatcherGlib::processEvents (this=0x55555576ec60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
        d = 0x55555576d8a0
        canWait = <optimized out>
        savedFlags = {i = 0}
        result = <optimized out>
#14 0x00007ffff6620702 in QEventLoop::exec (this=this@entry=0x7fffffffd620, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
        d = 0x55555597ebc0
        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 = 0x55555597ebc0}, 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 = 0x7fffffffd6c0}, 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 = 0x5555559bb1b0}, 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 = 0x555555b02f70}}

However, there is also a report at bugzilla.redhat.com/show_bug.cgi?id=2363794.

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