https://bugs.kde.org/show_bug.cgi?id=427749

            Bug ID: 427749
           Summary: kwin_wayland crash, easily repro when using QDrag
           Product: frameworks-kwayland
           Version: unspecified
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: server
          Assignee: mgraess...@kde.org
          Reporter: smart...@kde.org
                CC: kwin-bugs-n...@kde.org
  Target Milestone: ---

Created attachment 132381
  --> https://bugs.kde.org/attachment.cgi?id=132381&action=edit
test-case

If we hide() our widget inside QWidget::dragEnterEvent(), then the wayland
server will crash. 

See attached main.cpp
$ qmake QT+=widgets
$ make && ./testc

Press the button, without releasing mouse. Move mouse over the other window.
Crashes with the following backtrace

(gdb) bt
#0  0x00007fbb0ba2bc94 in KWaylandServer::SurfaceInterface::buffer() () at
/usr/lib/libKWaylandServer.so.5
#1  0x00007fbb0bf38172 in  () at /usr/lib/libkwin.so.5
#2  0x00007fbb0a7de036 in  () at /usr/lib/libQt5Core.so.5
#3  0x00007fbb0a7de036 in  () at /usr/lib/libQt5Core.so.5
#4  0x00007fbb0ba16103 in
KWaylandServer::PointerInterface::Private::setCursor(unsigned int,
KWaylandServer::SurfaceInterface*, QPoint const&) () at
/usr/lib/libKWaylandServer.so.5
#5  0x00007fbb0ba162bf in
KWaylandServer::PointerInterface::Private::setCursorCallback(wl_client*,
wl_resource*, unsigned int, wl_resource*, int, int) () at
/usr/lib/libKWaylandServer.so.5
#6  0x00007fbb0777ca8d in  () at /usr/lib/libffi.so.7
#7  0x00007fbb0777c01b in  () at /usr/lib/libffi.so.7
#8  0x00007fbb08b64f62 in  () at /usr/lib/libwayland-server.so.0
#9  0x00007fbb08b612dc in  () at /usr/lib/libwayland-server.so.0
#10 0x00007fbb08b62faa in wl_event_loop_dispatch () at
/usr/lib/libwayland-server.so.0
#11 0x00007fbb0b9f4bf0 in KWaylandServer::Display::Private::dispatch() () at
/usr/lib/libKWaylandServer.so.5
#12 0x00007fbb0a7de036 in  () at /usr/lib/libQt5Core.so.5
#13 0x00007fbb0a7e15a0 in QSocketNotifier::activated(QSocketDescriptor,
QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () at
/usr/lib/libQt5Core.so.5
#14 0x00007fbb0a7e1dad in QSocketNotifier::event(QEvent*) () at
/usr/lib/libQt5Core.so.5
#15 0x00007fbb0b26e752 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /usr/lib/libQt5Widgets.so.5
#16 0x00007fbb0a7a6cda in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /usr/lib/libQt5Core.so.5
#17 0x00007fbb0a7fcc34 in
QEventDispatcherUNIXPrivate::activateSocketNotifiers() () at
/usr/lib/libQt5Core.so.5
#18 0x00007fbb0a7fd0b5 in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/libQt5Core.so.5
#19 0x00007fbb0c12e91e in  () at /usr/lib/qt/plugins/platforms/KWinQpaPlugin.so
#20 0x00007fbb0a7a565c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/usr/lib/libQt5Core.so.5
#21 0x00007fbb0a7adaf4 in QCoreApplication::exec() () at
/usr/lib/libQt5Core.so.5
#22 0x000055be3656884e in  ()
#23 0x00007fbb0a01a152 in __libc_start_main () at /usr/lib/libc.so.6
#24 0x000055be365690de in _start ()


I don't have a devel env to get debug symbols, but hopefully the test-case is
enough.




Linux/KDE Plasma: Archlinux, plasma 5.20
KDE Plasma Version: 5.20
Qt Version: 5.15.1

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to