Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.15.5, 6.3.0
-
None
-
Ubuntu 18.04, Intel graphics
-
-
07ddfbfa43d08c2b76aabafaab38830e04a42690 (qt/qtwayland/dev) 48447897ad0a28e756ed27fecdb4e22aefa01d2c (qt/qtwayland/6.2) a64c7ab8359ba40f86a04808ce29310fb332f088 (qt/tqtc-qtwayland/5.15)
-
Wayland Project - Backlog task
Description
1. Run pure-qml compositor (with wayland-egl and xcb_egl, not sure if it matters)
2. Run shadereffects example from Qt Quick
3. With the mouse, grab the bottom-right corner of the window and drag it around to resize it.
4. Let go.
5. Start resizing again
For me, this pretty consistently leads to a crash with the following stack trace.
#0 0x00007fffd5d6f8f4 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::get (this=0x8) at /media/eskil/Dev/dev/qt5-dev-2/base/src/corelib/tools/qscopedpointer.h:147 #1 0x00007fffd5d6f6a5 in qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (ptr=...) at /media/eskil/Dev/dev/qt5-dev-2/base/src/corelib/global/qglobal.h:1303 #2 0x00007fffd5d6f282 in QWaylandCompositor::d_func (this=0x0) at /media/eskil/Dev/dev/qt5-dev-2/wayland/src/compositor/compositor_api/qwaylandcompositor.h:70 #3 0x00007fffd5d75014 in QWaylandCompositor::seatFor (this=0x0, inputEvent=0x7fffffffd310) at src/compositor/compositor_api/qwaylandcompositor.cpp:965 #4 0x00007fffd5ec6470 in QtWayland::XdgToplevelIntegration::filterMouseMoveEvent (this=0x55555595deb0, event=0x7fffffffd310) at src/compositor/extensions/qwaylandxdgshellintegration.cpp:88 #5 0x00007fffd5ec63c1 in QtWayland::XdgToplevelIntegration::eventFilter (this=0x55555595deb0, object=0x555555afff80, event=0x7fffffffd310) at src/compositor/extensions/qwaylandxdgshellintegration.cpp:77 #6 0x00007ffff6185539 in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=0x555555afff80, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1189 #7 0x00007ffff6185624 in QCoreApplicationPrivate::notify_helper (receiver=0x555555afff80, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1218 #8 0x00007ffff618520d in doNotify (receiver=0x555555afff80, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1153 #9 0x00007ffff618516c in QCoreApplication::notify (this=0x7fffffffd8a0, receiver=0x555555afff80, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1139 #10 0x00007ffff759d93f in QGuiApplication::notify (this=0x7fffffffd8a0, object=0x555555afff80, event=0x7fffffffd310) at src/gui/kernel/qguiapplication.cpp:1942 #11 0x00007ffff6185095 in QCoreApplication::notifyInternal2 (receiver=0x555555afff80, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1063 #12 0x00007ffff6185b52 in QCoreApplication::sendEvent (receiver=0x555555afff80, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1471 #13 0x00007fffd679f4d9 in QQuickDeliveryAgentPrivate::deliverMatchingPointsToItem (this=0x55555590a310, item=0x555555afff80, isGrabber=true, pointerEvent=0x7fffffffd310, handlersOnly=false) at src/quick/util/qquickdeliveryagent.cpp:1969 #14 0x00007fffd679e623 in QQuickDeliveryAgentPrivate::deliverUpdatedPoints (this=0x55555590a310, event=0x7fffffffd310) at src/quick/util/qquickdeliveryagent.cpp:1813 #15 0x00007fffd679da61 in QQuickDeliveryAgentPrivate::deliverPointerEvent (this=0x55555590a310, event=0x7fffffffd310) at src/quick/util/qquickdeliveryagent.cpp:1689 #16 0x00007fffd679c180 in QQuickDeliveryAgentPrivate::handleMouseEvent (this=0x55555590a310, event=0x7fffffffd310) at src/quick/util/qquickdeliveryagent.cpp:1487 #17 0x00007fffd6797c88 in QQuickDeliveryAgent::event (this=0x55555590a2f0, ev=0x7fffffffd310) at src/quick/util/qquickdeliveryagent.cpp:705 #18 0x00007fffd663fda1 in QQuickWindow::event (this=0x555555909d80, e=0x7fffffffd310) at src/quick/items/qquickwindow.cpp:1457 #19 0x00007ffff6185650 in QCoreApplicationPrivate::notify_helper (receiver=0x555555909d80, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1224 #20 0x00007ffff618520d in doNotify (receiver=0x555555909d80, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1153 #21 0x00007ffff618516c in QCoreApplication::notify (this=0x7fffffffd8a0, receiver=0x555555909d80, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1139 #22 0x00007ffff759d93f in QGuiApplication::notify (this=0x7fffffffd8a0, object=0x555555909d80, event=0x7fffffffd310) at src/gui/kernel/qguiapplication.cpp:1942 #23 0x00007ffff6185095 in QCoreApplication::notifyInternal2 (receiver=0x555555909d80, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1063 #24 0x00007ffff6185b8a in QCoreApplication::sendSpontaneousEvent (receiver=0x555555909d80, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1483 #25 0x00007ffff759ea8b in QGuiApplicationPrivate::processMouseEvent (e=0x7fffc58fb2f0) at src/gui/kernel/qguiapplication.cpp:2260 #26 0x00007ffff759de36 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x7fffc58fb2f0) at src/gui/kernel/qguiapplication.cpp:2011 #27 0x00007ffff761db12 in QWindowSystemEventHandler::sendEvent (this=0x555555904b50, e=0x7fffc58fb2f0) at src/gui/kernel/qwindowsysteminterface.cpp:194 #28 0x00007fffd5d773fe in QtWayland::WindowSystemEventHandler::sendEvent (this=0x555555904b50, e=0x7fffc58fb2f0) at src/compositor/compositor_api/qwaylandcompositor.cpp:104 #29 0x00007ffff7620425 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at src/gui/kernel/qwindowsysteminterface.cpp:1162 #30 0x00007ffff224415e in xcbSourceDispatch (source=0x5555555e5670) at src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:93 #31 0x00007ffff592e17d in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #32 0x00007ffff592e400 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #33 0x00007ffff592e4a3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #34 0x00007ffff658c1a0 in QEventDispatcherGlib::processEvents (this=0x5555555de150, flags=...) at src/corelib/kernel/qeventdispatcher_glib.cpp:429 #35 0x00007ffff22443c2 in QXcbGlibEventDispatcher::processEvents (this=0x5555555de150, flags=...) at src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:132 #36 0x00007ffff61993f9 in QEventLoop::processEvents (this=0x7fffffffd820, flags=...) at src/corelib/kernel/qeventloop.cpp:135 #37 0x00007ffff619976d in QEventLoop::exec (this=0x7fffffffd820, flags=...) at src/corelib/kernel/qeventloop.cpp:219 #38 0x00007ffff618596d in QCoreApplication::exec () at src/corelib/kernel/qcoreapplication.cpp:1378 #39 0x00007ffff759d750 in QGuiApplication::exec () at src/gui/kernel/qguiapplication.cpp:1874 #40 0x0000555555556557 in main (argc=1, argv=0x7fffffffd9f8) at main.cpp:67
I have no idea why the compositor would be null in this case, but it always crashes in this location, so it does not seem like a random side effect.
If I comment out the asserts in filterMouseEvent() that trigger the crash, a new crash happens:
#0 0x00007ffff097efbc in wl_resource_post_event () from /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 #1 0x00007fffd5e7bd03 in xdg_toplevel_send_configure (resource_=0x55555594d730, width=490, height=626, states=0x7fffffffc430) at /media/eskil/Dev/dev/qt5-dev-2/base/include/QtWaylandCompositor/6.2.0/QtWaylandCompositor/private/../../../../../../wayland/src/compositor/wayland-xdg-shell-server-protocol.h:1391 #2 0x00007fffd5e7f845 in QtWaylandServer::xdg_toplevel::send_configure (this=0x555555953f88, resource=0x55555594d730, width=490, height=626, states=...) at src/compositor/qwayland-server-xdg-shell.cpp:1314 #3 0x00007fffd5e7f7c3 in QtWaylandServer::xdg_toplevel::send_configure (this=0x555555953f88, width=490, height=626, states=...) at src/compositor/qwayland-server-xdg-shell.cpp:1300 #4 0x00007fffd5df0bbd in QWaylandXdgToplevel::sendConfigure (this=0x5555559707b0, size=..., states=...) at src/compositor/extensions/qwaylandxdgshell.cpp:1028 #5 0x00007fffd5df10b8 in QWaylandXdgToplevel::sendResizing (this=0x5555559707b0, maxSize=...) at src/compositor/extensions/qwaylandxdgshell.cpp:1178 #6 0x00007fffd5ec6540 in QtWayland::XdgToplevelIntegration::filterMouseMoveEvent (this=0x55555596cea0, event=0x7fffffffd310) at src/compositor/extensions/qwaylandxdgshellintegration.cpp:99 #7 0x00007fffd5ec63c1 in QtWayland::XdgToplevelIntegration::eventFilter (this=0x55555596cea0, object=0x55555594d970, event=0x7fffffffd310) at src/compositor/extensions/qwaylandxdgshellintegration.cpp:77 #8 0x00007ffff6185539 in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=0x55555594d970, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1189 #9 0x00007ffff6185624 in QCoreApplicationPrivate::notify_helper (receiver=0x55555594d970, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1218 #10 0x00007ffff618520d in doNotify (receiver=0x55555594d970, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1153 #11 0x00007ffff618516c in QCoreApplication::notify (this=0x7fffffffd8a0, receiver=0x55555594d970, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1139 #12 0x00007ffff759d93f in QGuiApplication::notify (this=0x7fffffffd8a0, object=0x55555594d970, event=0x7fffffffd310) at src/gui/kernel/qguiapplication.cpp:1942 #13 0x00007ffff6185095 in QCoreApplication::notifyInternal2 (receiver=0x55555594d970, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1063 #14 0x00007ffff6185b52 in QCoreApplication::sendEvent (receiver=0x55555594d970, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1471 #15 0x00007fffd679f4d9 in QQuickDeliveryAgentPrivate::deliverMatchingPointsToItem (this=0x5555559066b0, item=0x55555594d970, isGrabber=true, pointerEvent=0x7fffffffd310, handlersOnly=false) at src/quick/util/qquickdeliveryagent.cpp:1969 #16 0x00007fffd679e623 in QQuickDeliveryAgentPrivate::deliverUpdatedPoints (this=0x5555559066b0, event=0x7fffffffd310) at src/quick/util/qquickdeliveryagent.cpp:1813 #17 0x00007fffd679da61 in QQuickDeliveryAgentPrivate::deliverPointerEvent (this=0x5555559066b0, event=0x7fffffffd310) at src/quick/util/qquickdeliveryagent.cpp:1689 #18 0x00007fffd679c180 in QQuickDeliveryAgentPrivate::handleMouseEvent (this=0x5555559066b0, event=0x7fffffffd310) at src/quick/util/qquickdeliveryagent.cpp:1487 #19 0x00007fffd6797c88 in QQuickDeliveryAgent::event (this=0x555555906690, ev=0x7fffffffd310) at src/quick/util/qquickdeliveryagent.cpp:705 #20 0x00007fffd663fda1 in QQuickWindow::event (this=0x555555906120, e=0x7fffffffd310) at src/quick/items/qquickwindow.cpp:1457 #21 0x00007ffff6185650 in QCoreApplicationPrivate::notify_helper (receiver=0x555555906120, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1224 #22 0x00007ffff618520d in doNotify (receiver=0x555555906120, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1153 #23 0x00007ffff618516c in QCoreApplication::notify (this=0x7fffffffd8a0, receiver=0x555555906120, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1139 #24 0x00007ffff759d93f in QGuiApplication::notify (this=0x7fffffffd8a0, object=0x555555906120, event=0x7fffffffd310) at src/gui/kernel/qguiapplication.cpp:1942 #25 0x00007ffff6185095 in QCoreApplication::notifyInternal2 (receiver=0x555555906120, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1063 #26 0x00007ffff6185b8a in QCoreApplication::sendSpontaneousEvent (receiver=0x555555906120, event=0x7fffffffd310) at src/corelib/kernel/qcoreapplication.cpp:1483 #27 0x00007ffff759ea8b in QGuiApplicationPrivate::processMouseEvent (e=0x7fffc58f92f0) at src/gui/kernel/qguiapplication.cpp:2260 #28 0x00007ffff759de36 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x7fffc58f92f0) at src/gui/kernel/qguiapplication.cpp:2011 #29 0x00007ffff761db12 in QWindowSystemEventHandler::sendEvent (this=0x5555559010d0, e=0x7fffc58f92f0) at src/gui/kernel/qwindowsysteminterface.cpp:194 #30 0x00007fffd5d773fe in QtWayland::WindowSystemEventHandler::sendEvent (this=0x5555559010d0, e=0x7fffc58f92f0) at src/compositor/compositor_api/qwaylandcompositor.cpp:104 #31 0x00007ffff7620425 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at src/gui/kernel/qwindowsysteminterface.cpp:1162 #32 0x00007ffff224415e in xcbSourceDispatch (source=0x5555555e2220) at src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:93 #33 0x00007ffff592e17d in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #34 0x00007ffff592e400 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #35 0x00007ffff592e4a3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #36 0x00007ffff658c1a0 in QEventDispatcherGlib::processEvents (this=0x5555555e7b80, flags=...) at src/corelib/kernel/qeventdispatcher_glib.cpp:429 #37 0x00007ffff22443c2 in QXcbGlibEventDispatcher::processEvents (this=0x5555555e7b80, flags=...) at src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:132 #38 0x00007ffff61993f9 in QEventLoop::processEvents (this=0x7fffffffd820, flags=...) at src/corelib/kernel/qeventloop.cpp:135 #39 0x00007ffff619976d in QEventLoop::exec (this=0x7fffffffd820, flags=...) at src/corelib/kernel/qeventloop.cpp:219 #40 0x00007ffff618596d in QCoreApplication::exec () at src/corelib/kernel/qcoreapplication.cpp:1378 #41 0x00007ffff759d750 in QGuiApplication::exec () at src/gui/kernel/qguiapplication.cpp:1874 #42 0x0000555555556557 in main (argc=1, argv=0x7fffffffd9f8) at main.cpp:67