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

            Bug ID: 405367
           Summary: Dnd from Wayland to X fails assert
           Product: kwin
           Version: git master
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: wayland-generic
          Assignee: kwin-bugs-n...@kde.org
          Reporter: subd...@gmail.com
  Target Milestone: ---

This happened to me once since the XWayland DND patches were merged. I started
a drag in Dolphin and it directly failed the assert that there must not be any
other Wayland drag at the same time.

I.e. some time before a previous Wayland native drag must have happened and not
have been cleaned up correctly. Maybe it got aborted?


Backtrace:
#0  0x00007f7617c92e97 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007f7617c948db in __GI_abort () at abort.c:100
#2  0x00007f7618679e7b in qErrnoWarning(char const*, ...) () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f7618679671 in qt_assert_x(char const*, char const*, char const*,
int) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x0000558809ad8826 in KWin::Xwl::Dnd::startDrag() (this=0x55880b4d9ac0) at
/home/roman/dev/kde/src/kde/workspace/kwin/xwl/dnd.cpp:198
#5  0x0000558809adb276 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (KWin::Xwl::Dnd::*)()>::call(void
(KWin::Xwl::Dnd::*)(), KWin::Xwl::Dnd*, void**) (f=(void
(KWin::Xwl::Dnd::*)(KWin::Xwl::Dnd * const)) 0x558809ad879a
<KWin::Xwl::Dnd::startDrag()>, o=0x55880b4d9ac0, arg=0x7ffe595d4d00) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#6  0x0000558809adae84 in QtPrivate::FunctionPointer<void
(KWin::Xwl::Dnd::*)()>::call<QtPrivate::List<>, void>(void
(KWin::Xwl::Dnd::*)(), KWin::Xwl::Dnd*, void**) (f=(void
(KWin::Xwl::Dnd::*)(KWin::Xwl::Dnd * const)) 0x558809ad879a
<KWin::Xwl::Dnd::startDrag()>, o=0x55880b4d9ac0, arg=0x7ffe595d4d00) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#7  0x0000558809ada09c in QtPrivate::QSlotObject<void (KWin::Xwl::Dnd::*)(),
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*,
void**, bool*) (which=1, this_=0x55880b041a40, r=0x55880b4d9ac0,
a=0x7ffe595d4d00, ret=0x0) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:414
#8  0x00007f76188a5f3f in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f761a09e4df in KWayland::Server::SeatInterface::dragStarted()
(this=0x55880ae39dc0) at
/home/roman/dev/kde/build/frameworks/kwayland/src/server/KF5WaylandServer_autogen/EWIEGA46WW/moc_seat_interface.cpp:505
#10 0x00007f761a036a39 in
KWayland::Server::SeatInterface::Private::<lambda()>::operator()(void) const
(__closure=0x55880c4a2f00) at
/home/roman/dev/kde/src/frameworks/kwayland/src/server/seat_interface.cpp:341
#11 0x00007f761a04150f in QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void,
KWayland::Server::SeatInterface::Private::registerDataDevice(KWayland::Server::DataDeviceInterface*)::<lambda()>
>::call(KWayland::Server::SeatInterface::Private::<lambda()> &, void **)
(f=..., arg=0x7ffe595d4f50) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#12 0x00007f761a040ecb in
QtPrivate::Functor<KWayland::Server::SeatInterface::Private::registerDataDevice(KWayland::Server::DataDeviceInterface*)::<lambda()>,
0>::call<QtPrivate::List<>,
void>(KWayland::Server::SeatInterface::Private::<lambda()> &, void *, void **)
(f=..., arg=0x7ffe595d4f50) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#13 0x00007f761a03fdd1 in
QtPrivate::QFunctorSlotObject<KWayland::Server::SeatInterface::Private::registerDataDevice(KWayland::Server::DataDeviceInterface*)::<lambda()>,
0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *,
void **, bool *) (which=1, this_=0x55880c4a2ef0, r=0x55880ae39dc0,
a=0x7ffe595d4f50, ret=0x0) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:439
#14 0x00007f76188a5f3f in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007f761a09250b in KWayland::Server::DataDeviceInterface::dragStarted()
(this=0x55880c51b720) at
/home/roman/dev/kde/build/frameworks/kwayland/src/server/KF5WaylandServer_autogen/EWIEGA46WW/moc_datadevice_interface.cpp:155
#16 0x00007f7619fdc49c in
KWayland::Server::DataDeviceInterface::Private::startDrag(KWayland::Server::DataSourceInterface*,
KWayland::Server::SurfaceInterface*, KWayland::Server::SurfaceInterface*,
unsigned int) (this=0x55880be9f970, dataSource=0x55880c4d1e10,
origin=0x55880be31600, i=0x55880c371e20, serial=24931) at
/home/roman/dev/kde/src/frameworks/kwayland/src/server/datadevice_interface.cpp:127
#17 0x00007f7619fdc2eb in
KWayland::Server::DataDeviceInterface::Private::startDragCallback(wl_client*,
wl_resource*, wl_resource*, wl_resource*, wl_resource*, unsigned int)
(client=0x55880bfb2820, resource=0x55880c558e50, source=0x55880c52b390,
origin=0x55880c0110f0, icon=0x55880af9ec70, serial=24931) at
/home/roman/dev/kde/src/frameworks/kwayland/src/server/datadevice_interface.cpp:99
#18 0x00007f760a466dae in ffi_call_unix64 () at
/usr/lib/x86_64-linux-gnu/libffi.so.6
#19 0x00007f760a46671f in ffi_call () at /usr/lib/x86_64-linux-gnu/libffi.so.6
#20 0x00007f761089de74 in wl_closure_invoke
(closure=closure@entry=0x55880c5b2cb0, flags=flags@entry=2, target=<optimized
out>, target@entry=0x55880c558e50, opcode=opcode@entry=0, data=<optimized out>,
data@entry=0x55880bfb2820) at
/home/roman/dev/gfx/wayland/src/wayland/src/connection.c:1006
#21 0x00007f761089a8ff in wl_client_connection_data (fd=<optimized out>,
mask=<optimized out>, data=0x55880bfb2820) at
/home/roman/dev/gfx/wayland/src/wayland/src/wayland-server.c:429
#22 0x00007f761089bec2 in wl_event_loop_dispatch (loop=0x55880ae2e060,
timeout=<optimized out>) at
/home/roman/dev/gfx/wayland/src/wayland/src/event-loop.c:641
#23 0x00007f7619fe20d5 in KWayland::Server::Display::Private::dispatch()
(this=0x55880ae53770) at
/home/roman/dev/kde/src/frameworks/kwayland/src/server/display.cpp:146
#24 0x00007f7619fe1d0b in
KWayland::Server::Display::Private::<lambda()>::operator()(void) const
(__closure=0x55880ae2e960) at
/home/roman/dev/kde/src/frameworks/kwayland/src/server/display.cpp:114
#25 0x00007f7619fea22b in QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void,
KWayland::Server::Display::Private::installSocketNotifier()::<lambda()>
>::call(KWayland::Server::Display::Private::<lambda()> &, void **) (f=...,
arg=0x7ffe595d5840) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#26 0x00007f7619fe9bb5 in
QtPrivate::Functor<KWayland::Server::Display::Private::installSocketNotifier()::<lambda()>,
0>::call<QtPrivate::List<>,
void>(KWayland::Server::Display::Private::<lambda()> &, void *, void **)
(f=..., arg=0x7ffe595d5840) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#27 0x00007f7619fe850b in
QtPrivate::QFunctorSlotObject<KWayland::Server::Display::Private::installSocketNotifier()::<lambda()>,
0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *,
void **, bool *) (which=1, this_=0x55880ae2e950, r=0x55880ae29ff0,
a=0x7ffe595d5840, ret=0x0) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:439
#28 0x00007f76188a5f3f in QMetaObject::activate(QObject*, int, int, void**) ()
at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007f76188b2678 in QSocketNotifier::activated(int,
QSocketNotifier::QPrivateSignal) () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007f76188b2a32 in QSocketNotifier::event(QEvent*) () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007f7618e8683c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007f7618e8ddd0 in QApplication::notify(QObject*, QEvent*) () at
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007f7618876328 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007f76188d01f3 in
QEventDispatcherUNIXPrivate::activateSocketNotifiers() () at
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5

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

Reply via email to