Bug 460374 - kwin_wayland crashed in KWin::Xwl::Dnd::handleClientMessage
Summary: kwin_wayland crashed in KWin::Xwl::Dnd::handleClientMessage
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 5.26.3
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: wayland
: 474907 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-10-13 15:37 UTC by postix
Modified: 2024-06-07 12:21 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.1.0


Attachments
kWin Support Info (7.03 KB, text/plain)
2022-10-13 15:38 UTC, postix
Details

Note You need to log in before you can comment on or make changes to this bug.
Description postix 2022-10-13 15:37:44 UTC
SUMMARY

Doubled click on a mkv video in Dolphin to open it in VLC, when kwin_wayland crashed.

```
#0  0x0000561f6336c2af in KWin::Xwl::Dnd::handleClientMessage(xcb_client_message_event_t*) (this=0x561f65a36050, event=0x7f9dd400baf0) at /usr/src/debug/kwin5-5.25.5-1.2.x86_64/src/xwayland/dnd.cpp:125
#1  0x0000561f6336f9cc in non-virtual thunk to KWin::Xwl::DataBridge::nativeEventFilter(QByteArray const&, void*, long*) () at /usr/src/debug/kwin5-5.25.5-1.2.x86_64/src/xwayland/databridge.h:58
#2  0x00007f9ddfe2b6ef in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=message@entry=0x7f9dd400baf0, result=result@entry=0x7ffed7167be8) at kernel/qabstracteventdispatcher.cpp:495
#3  0x0000561f63381b10 in KWin::Xwl::Xwayland::dispatchEvents() (this=0x561f64c1ade0) at /usr/src/debug/kwin5-5.25.5-1.2.x86_64/src/xwayland/xwayland.cpp:123
#4  0x00007f9ddfe6505d in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffed7167d20, r=0x561f64c1ade0, this=0x561f6524df50) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#5  doActivate<false>(QObject*, int, void**) (sender=0x561f65a30880, signal_index=3, argv=0x7ffed7167d20) at kernel/qobject.cpp:3919
#6  0x00007f9ddfe5e4df in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x561f65a30880, m=m@entry=0x7f9de0105880, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffed7167d20) at kernel/qobject.cpp:3979
#7  0x00007f9ddfe683bf in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (this=this@entry=0x561f65a30880, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178
#8  0x00007f9ddfe68bc5 in QSocketNotifier::event(QEvent*) (this=0x561f65a30880, e=<optimized out>) at kernel/qsocketnotifier.cpp:302
#9  0x00007f9ddf34b3fe in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x561f65a30880, e=0x7ffed7167e20) at kernel/qapplication.cpp:3637
#10 0x00007f9ddfe2e178 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x561f65a30880, event=0x7ffed7167e20) at kernel/qcoreapplication.cpp:1064
#11 0x00007f9ddfe82ca3 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=0x561f64509dd0) at kernel/qeventdispatcher_unix.cpp:304
#12 0x00007f9ddfe83167 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:511
#13 0x0000561f6343e81d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:63
#14 0x00007f9ddfe2cbeb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffed7167fb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#15 0x00007f9ddfe34d56 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#16 0x00007f9de0281e5c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#17 0x00007f9ddf34b375 in QApplication::exec() () at kernel/qapplication.cpp:2829
#18 0x0000561f6336a9a0 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin5-5.25.5-1.2.x86_64/src/main_wayland.cpp:642
````


SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20221008
KDE Plasma Version: 5.25.5
KDE Frameworks Version: 5.98.0
Qt Version: 5.15.6
Kernel Version: 6.0.0-1-default (64-bit)
Graphics Platform: Wayland
Graphics Processor: AMD Radeon RX 580 Series
Comment 1 postix 2022-10-13 15:37:53 UTC
```
Core was generated by `/usr/bin/kwin_wayland --wayland-fd 7 --socket wayland-0 --xwayland-fd 8 --xwayl'.
Program terminated with signal SIGSEGV, Segmentation fault.

warning: Section `.reg-xstate/2197' in core file too small.
#0  0x0000561f6336c2af in KWin::Xwl::Dnd::handleClientMessage (this=0x561f65a36050, event=0x7f9dd400baf0) at /usr/src/debug/kwin5-5.25.5-1.2.x86_64/src/xwayland/dnd.cpp:125
125             if (drag->handleClientMessage(event)) {
[Current thread is 1 (Thread 0x7f9ddc03c940 (LWP 2197))]
(gdb) bt full
#0  0x0000561f6336c2af in KWin::Xwl::Dnd::handleClientMessage(xcb_client_message_event_t*) (this=0x561f65a36050, event=0x7f9dd400baf0) at /usr/src/debug/kwin5-5.25.5-1.2.x86_64/src/xwayland/dnd.cpp:125
        drag = 0x0
        __for_range = @0x561f65a360a8: {d = 0x561f6699b800}
        __for_begin = 0x561f6699bac0
        __for_end = 0x561f6699bac8
#1  0x0000561f6336f9cc in non-virtual thunk to KWin::Xwl::DataBridge::nativeEventFilter(QByteArray const&, void*, long*) () at /usr/src/debug/kwin5-5.25.5-1.2.x86_64/src/xwayland/databridge.h:58
#2  0x00007f9ddfe2b6ef in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=message@entry=0x7f9dd400baf0, result=result@entry=0x7ffed7167be8) at kernel/qabstracteventdispatcher.cpp:495
        filter = <optimized out>
        i = 0
        scopeLevelCounter = {threadData = 0x561f644bf160}
        d = 0x561f64509dd0
#3  0x0000561f63381b10 in KWin::Xwl::Xwayland::dispatchEvents() (this=0x561f64c1ade0) at /usr/src/debug/kwin5-5.25.5-1.2.x86_64/src/xwayland/xwayland.cpp:123
        event = 0x7f9dd400baf0
        result = 0
        dispatcher = <optimized out>
        connection = 0x561f65a13b70
        connectionError = <optimized out>
#4  0x00007f9ddfe6505d in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffed7167d20, r=0x561f64c1ade0, this=0x561f6524df50) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
        receiver = 0x561f64c1ade0
        td = <optimized out>
        receiverInSameThread = <optimized out>
        senderData = {previous = 0x0, receiver = 0x561f64c1ade0, sender = 0x561f65a30880, signal = 3}
        c = 0x561f65a38af0
        connections = {d = 0x561f65a3c600}
        list = <optimized out>
        inSenderThread = true
        highestConnectionId = 1
        signalVector = 0x561f65a37380
        currentThreadId = 0x7f9ddc03c940
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#5  doActivate<false>(QObject*, int, void**) (sender=0x561f65a30880, signal_index=3, argv=0x7ffed7167d20) at kernel/qobject.cpp:3919
        receiver = 0x561f64c1ade0
        td = <optimized out>
        receiverInSameThread = <optimized out>
        senderData = {previous = 0x0, receiver = 0x561f64c1ade0, sender = 0x561f65a30880, signal = 3}
        c = 0x561f65a38af0
        connections = {d = 0x561f65a3c600}
        list = <optimized out>
        inSenderThread = true
        highestConnectionId = 1
        signalVector = 0x561f65a37380
        currentThreadId = 0x7f9ddc03c940
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#6  0x00007f9ddfe5e4df in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x561f65a30880, m=m@entry=0x7f9de0105880, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffed7167d20) at kernel/qobject.cpp:3979
#7  0x00007f9ddfe683bf in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (this=this@entry=0x561f65a30880, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178
        _a = {0x0, 0x7ffed7167d1c, 0x7ffed7167d18, 0x7ffed7167d17}
#8  0x00007f9ddfe68bc5 in QSocketNotifier::event(QEvent*) (this=0x561f65a30880, e=<optimized out>) at kernel/qsocketnotifier.cpp:302
        d = 0x561f64ac2b70
#9  0x00007f9ddf34b3fe in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x561f65a30880, e=0x7ffed7167e20) at kernel/qapplication.cpp:3637
        consumed = false
        filtered = false
#10 0x00007f9ddfe2e178 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x561f65a30880, event=0x7ffed7167e20) at kernel/qcoreapplication.cpp:1064
        selfRequired = true
        result = false
        cbdata = {0x561f65a30880, 0x7ffed7167e20, 0x7ffed7167dcf}
        d = <optimized out>
        threadData = 0x561f644bf160
        scopeLevelCounter = {threadData = 0x561f644bf160}
#11 0x00007f9ddfe82ca3 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=0x561f64509dd0) at kernel/qeventdispatcher_unix.cpp:304
        notifier = 0x561f65a30880
        n_activated = 0
        event = {_vptr.QEvent = 0x7f9de01051f0 <vtable for QEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f9ddfff50e0 <qt_meta_stringdata_QEvent>, data = 0x7f9ddfff4b20 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 50, posted = 0, spont = 0, m_accept = 1, reserved = 6882}
#12 0x00007f9ddfe83167 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:511
        d = 0x561f64509dd0
        threadData = <optimized out>
        include_timers = true
        canWait = <optimized out>
        tm = <optimized out>
        wait_tm = {tv_sec = 4, tv_nsec = 599000000}
        nevents = 0
#13 0x0000561f6343e81d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:63
        didSendEvents = <optimized out>
#14 0x00007f9ddfe2cbeb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffed7167fb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
        d = 0x561f64842a70
        threadData = <optimized out>
        locker = {val = 94692826675240}
        app = <optimized out>
#15 0x00007f9ddfe34d56 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
        threadData = 0x561f644bf160
        eventLoop = {<QObject> = {_vptr.QObject = 0x7f9de0104fa8 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f9ddfff97e0 <qt_meta_stringdata_QObject>, data = 0x7f9ddfff96c0 <qt_meta_data_QObject>, static_metacall = 0x7f9ddfe639d0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x561f64842a70}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f9ddfffc780 <qt_meta_stringdata_Qt>, data = 0x7f9ddfff9900 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x561f63495400 <QObject::staticMetaObject>}, stringdata = 0x7f9ddfff3f60 <qt_meta_stringdata_QEventLoop>, data = 0x7f9ddfff3f00 <qt_meta_data_QEventLoop>, static_metacall = 0x7f9ddfe2c920 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#16 0x00007f9de0281e5c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#17 0x00007f9ddf34b375 in QApplication::exec() () at kernel/qapplication.cpp:2829
#18 0x0000561f6336a9a0 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin5-5.25.5-1.2.x86_64/src/main_wayland.cpp:642
        environment = {d = {d = 0x561f644fdf60}}
        a = {<KWin::ApplicationWaylandAbstract> = {<KWin::Application> = {<QApplication> = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x561f63496e20 <vtable for KWin::ApplicationWayland+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f9ddfff97e0 <qt_meta_stringdata_QObject>, data = 0x7f9ddfff96c0 <qt_meta_data_QObject>, static_metacall = 0x7f9ddfe639d0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x561f64501950}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f9ddfffc780 <qt_meta_stringdata_Qt>, data = 0x7f9ddfff9900 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x561f63495400 <QObject::staticMetaObject>}, stringdata = 0x7f9ddfff4660 <qt_meta_stringdata_QCoreApplication>, data = 0x7f9ddfff4540 <qt_meta_data_QCoreApplication>, static_metacall = 0x7f9ddfe2f990 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7ffed7168240}, static staticMetaObject = {d = {superdata = {direct = 0x7f9de0105140 <QCoreApplication::staticMetaObject>}, stringdata = 0x7f9de0714800 <qt_meta_stringdata_QGuiApplication>, data = 0x7f9de0714580 <qt_meta_data_QGuiApplication>, static_metacall = 0x7f9de0287640 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f9de0814fc0 <QGuiApplication::staticMetaObject>}, stringdata = 0x7f9ddf6fa8c0 <qt_meta_stringdata_QApplication>, data = 0x7f9ddf6fa740 <qt_meta_data_QApplication>, static_metacall = 0x7f9ddf34ef10 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f9ddf85ef80 <QApplication::staticMetaObject>}, stringdata = 0x7f9de13682e0 <_ZL36qt_meta_stringdata_KWin__Application.lto_priv.0>, data = 0x7f9de135fa40 <_ZL30qt_meta_data_KWin__Application.lto_priv.0>, static_metacall = 0x7f9de10ecc30 <KWin::Application::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_eventFilters = {<QListSpecialMethods<QPointer<KWin::X11EventFilterContainer> >> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x561f65a35b60}, d = 0x561f65a35b60}}, m_genericEventFilters = {<QListSpecialMethods<QPointer<KWin::X11EventFilterContainer> >> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x561f63495770 <QListData::shared_null>}, d = 0x561f63495770 <QListData::shared_null>}}, m_eventFilter = {d = 0x561f6452c110}, m_configLock = false, m_config = {d = 0x561f64516940}, m_kxkbConfig = {d = 0x561f64557c40}, m_operationMode = KWin::Application::OperationModeXwayland, m_x11Time = 8656414, m_rootWindow = 966, m_connection = 0x561f65a13b70, m_defaultScreen = 0x561f65a00c1c, m_useKActivities = true, m_platform = 0x561f64557b80, m_terminating = false}, static staticMetaObject = {d = {superdata = {direct = 0x561f63495d60 <KWin::Application::staticMetaObject>}, stringdata = 0x7f9de135fa00 <_ZL51qt_meta_stringdata_KWin__ApplicationWaylandAbstract.lto_priv.0>, data = 0x7f9de135f9c0 <_ZL45qt_meta_data_KWin__ApplicationWaylandAbstract.lto_priv.0>, static_metacall = 0x7f9de10ee030 <KWin::ApplicationWaylandAbstract::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f9de1476220 <KWin::ApplicationWaylandAbstract::staticMetaObject>}, stringdata = 0x561f63447040 <qt_meta_stringdata_KWin__ApplicationWayland>, data = 0x561f63445680 <qt_meta_data_KWin__ApplicationWayland>, static_metacall = 0x561f6336c0f0 <KWin::ApplicationWayland::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_startXWayland = true, m_applicationsToStart = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {d = 0x561f63495770 <QListData::shared_null>}, d = 0x561f63495770 <QListData::shared_null>}}, <No data fields>}, m_inputMethodServerToStart = {d = 0x561f63495ea0 <QArrayData::shared_null>}, m_environment = {d = {d = 0x561f65a34850}}, m_sessionArgument = {d = 0x561f63495ea0 <QArrayData::shared_null>}, m_xwayland = 0x561f64c1ade0, m_xwaylandListenFds = {d = 0x561f6455cf30}, m_xwaylandDisplay = {d = 0x561f64541f20}, m_xwaylandXauthority = {d = 0x561f6454e780}, m_settingsWatcher = {value = 0x561f6455cd90, d = 0x561f64557850}}
        availablePlugins = {d = 0x561f64537610}
        hasPlugin = {__availablePlugins = @0x7ffed71681f8}
        hasSizeOption = <optimized out>
        hasOutputCountOption = <optimized out>
        hasX11Option = <optimized out>
        hasVirtualOption = true
        hasWaylandOption = true
        hasDrmOption = <optimized out>
        xwaylandOption = {d = {d = 0x561f645370f0}}
        waylandSocketOption = {d = {d = 0x561f64536a50}}
        x11DisplayOption = {d = {d = 0x561f64536800}}
        waylandDisplayOption = {d = {d = 0x561f64539970}}
        virtualFbOption = {d = {d = 0x561f64539930}}
        widthOption = {d = {d = 0x561f64541c60}}
        heightOption = {d = {d = 0x561f6454aa80}}
        scaleOption = {d = {d = 0x561f64541ca0}}
        outputCountOption = {d = {d = 0x561f6453a350}}
        waylandSocketFdOption = {d = {d = 0x561f64539830}}
        xwaylandListenFdOption = {d = {d = 0x561f64539870}}
        xwaylandDisplayOption = {d = {d = 0x561f6453af20}}
        xwaylandXAuthorityOption = {d = {d = 0x561f6453af60}}
        replaceOption = {d = {d = 0x561f6453ae20}}
        parser = {d = 0x561f6451c020}
        drmOption = {d = {d = 0x561f6454e3a0}}
        inputMethodOption = {d = {d = 0x561f6454e4a0}}
        listBackendsOption = {d = {d = 0x561f6454e600}}
        screenLockerOption = {d = {d = 0x561f6454e6a0}}
        noScreenLockerOption = {d = {d = 0x561f6454e740}}
        noGlobalShortcutsOption = {d = {d = 0x561f6454e840}}
        noActivitiesOption = {d = {d = 0x561f6454e8e0}}
        exitWithSessionOption = {d = {d = 0x561f6454e980}}
        pluginName = {d = 0x561f63461480 <KWin::s_drmPlugin::{lambda()#1}::operator()() const::qstring_literal>}
        initialWindowSize = {wd = 1024, ht = 768}
        deviceIdentifier = {d = 0x561f63495ea0 <QArrayData::shared_null>}
        outputCount = 1
        outputScale = 1
        pluginIt = <optimized out>
        server = <optimized out>
        flags = {i = <optimized out>}
        socketName = {d = 0x561f64541e30}
```
Comment 2 postix 2022-10-13 15:38:24 UTC
Created attachment 152774 [details]
kWin Support Info
Comment 3 postix 2022-11-17 18:22:46 UTC
kwin_wayland crashed again out of sudden, while working on the computer.

``` 
Operating System: openSUSE Tumbleweed 20221114
KDE Plasma Version: 5.26.3
KDE Frameworks Version: 5.99.0
Qt Version: 5.15.7
Kernel Version: 6.0.8-1-default (64-bit)
Graphics Platform: Wayland
Graphics Processor: AMD Radeon RX 580 Series
```

Stacktrace:

```
#0  0x0000562ef40c5a4f in KWin::Xwl::Dnd::handleClientMessage(xcb_client_message_event_t*) (this=0x562ef6113470, event=0x562ef7062fd0) at /usr/src/debug/kwin-5.26.3/src/xwayland/dnd.cpp:125
#1  0x0000562ef40c8efc in non-virtual thunk to KWin::Xwl::DataBridge::nativeEventFilter(QByteArray const&, void*, long*) () at /usr/src/debug/kwin-5.26.3/src/xwayland/databridge.h:56
#2  0x00007fcb4fcd969f in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=message@entry=0x562ef7062fd0, result=result@entry=0x7ffeeaf29168) at kernel/qabstracteventdispatcher.cpp:495
#3  0x0000562ef40dfd00 in KWin::Xwl::Xwayland::dispatchEvents() (this=0x562ef4ccfde0) at /usr/src/debug/kwin-5.26.3/src/xwayland/xwayland.cpp:122
#4  0x00007fcb4fd132cd in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffeeaf292a0, r=0x562ef4ccfde0, this=0x562ef59252d0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#5  doActivate<false>(QObject*, int, void**) (sender=0x562ef620db80, signal_index=3, argv=0x7ffeeaf292a0) at kernel/qobject.cpp:3919
#6  0x00007fcb4fd0c74f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x562ef620db80, m=m@entry=0x7fcb4ffb3860, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffeeaf292a0) at kernel/qobject.cpp:3979
#7  0x00007fcb4fd1662f in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (this=this@entry=0x562ef620db80, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178
#8  0x00007fcb4fd16e35 in QSocketNotifier::event(QEvent*) (this=0x562ef620db80, e=<optimized out>) at kernel/qsocketnotifier.cpp:302
#9  0x00007fcb4f1a53fe in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x562ef620db80, e=0x7ffeeaf293a0) at kernel/qapplication.cpp:3637
#10 0x00007fcb4fcdc128 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x562ef620db80, event=0x7ffeeaf293a0) at kernel/qcoreapplication.cpp:1064
#11 0x00007fcb4fd30ff3 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=0x562ef4ca7680) at kernel/qeventdispatcher_unix.cpp:304
#12 0x00007fcb4fd314b7 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:511
#13 0x0000562ef419cb6d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:63
#14 0x00007fcb4fcdab9b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffeeaf29530, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#15 0x00007fcb4fce2d06 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#16 0x00007fcb5016ee4c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#17 0x00007fcb4f1a5375 in QApplication::exec() () at kernel/qapplication.cpp:2829
#18 0x0000562ef40c419d in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin-5.26.3/src/main_wayland.cpp:613
```
Comment 4 postix 2022-11-17 18:23:49 UTC
```
#0  0x0000562ef40c5a4f in KWin::Xwl::Dnd::handleClientMessage(xcb_client_message_event_t*) (this=0x562ef6113470, event=0x562ef7062fd0) at /usr/src/debug/kwin-5.26.3/src/xwayland/dnd.cpp:125
        drag = 0x0
        __for_range = @0x562ef61134c8: {d = 0x562ef6c96870}
        __for_begin = 0x562ef6c968f8
        __for_end = 0x562ef6c96900
#1  0x0000562ef40c8efc in non-virtual thunk to KWin::Xwl::DataBridge::nativeEventFilter(QByteArray const&, void*, long*) () at /usr/src/debug/kwin-5.26.3/src/xwayland/databridge.h:56
#2  0x00007fcb4fcd969f in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=message@entry=0x562ef7062fd0, result=result@entry=0x7ffeeaf29168) at kernel/qabstracteventdispatcher.cpp:495
        filter = <optimized out>
        i = 1
        scopeLevelCounter = {threadData = 0x562ef4c5b0d0}
        d = 0x562ef4ca7680
#3  0x0000562ef40dfd00 in KWin::Xwl::Xwayland::dispatchEvents() (this=0x562ef4ccfde0) at /usr/src/debug/kwin-5.26.3/src/xwayland/xwayland.cpp:122
        event = 0x562ef7062fd0
        result = 0
        dispatcher = <optimized out>
        connection = 0x562ef61ea090
        connectionError = <optimized out>
```
Comment 5 Nate Graham 2023-10-11 17:14:42 UTC
*** Bug 474907 has been marked as a duplicate of this bug. ***
Comment 6 Nate Graham 2023-10-11 17:15:10 UTC
Got another report from 5.27.8; re-opening.
Comment 7 Bug Janitor Service 2024-05-31 10:01:47 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5804
Comment 8 Vlad Zahorodnii 2024-06-03 10:05:03 UTC
Git commit ee4cf67371fb9b1047f50b6d40ac84fe19bf1b11 by Vlad Zahorodnii.
Committed on 03/06/2024 at 09:54.
Pushed by vladz into branch 'master'.

wayland: Refuse starting dnd if there's another dnd session in progress

If a new drag and drop session is started while there is already one
existing, it's possible to end up in a situation where the
SeatInterface::dragEnded signal is emitted the second time when one of
the data sources is destroyed.

M  +4    -0    src/wayland/seat.cpp

https://invent.kde.org/plasma/kwin/-/commit/ee4cf67371fb9b1047f50b6d40ac84fe19bf1b11
Comment 9 Bug Janitor Service 2024-06-03 10:12:00 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5815
Comment 10 Vlad Zahorodnii 2024-06-03 10:22:31 UTC
Git commit e2d32445ab0f3d41c0def7536eac616621119e70 by Vlad Zahorodnii.
Committed on 03/06/2024 at 10:11.
Pushed by vladz into branch 'Plasma/6.1'.

wayland: Refuse starting dnd if there's another dnd session in progress

If a new drag and drop session is started while there is already one
existing, it's possible to end up in a situation where the
SeatInterface::dragEnded signal is emitted the second time when one of
the data sources is destroyed.
(cherry picked from commit ee4cf67371fb9b1047f50b6d40ac84fe19bf1b11)

M  +4    -0    src/wayland/seat.cpp

https://invent.kde.org/plasma/kwin/-/commit/e2d32445ab0f3d41c0def7536eac616621119e70
Comment 11 Vlad Zahorodnii 2024-06-07 12:21:55 UTC
The patches above ^ should fix the issue. If the issue is still reproducible in 6.1, reopen this bug report.