Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.5.1
-
None
-
Archlinux, xf86-input-libinput 1.3.0, libxcb 1.15, xorg-server 21.1.8
-
-
a8a75d2c4 (dev), 8c36f935a (6.5.2), 755b80b1f (6.5), e938a4a10 (6.6)
Description
- Use a device with a touchpad (i.e. pretty much any laptop) or a touchscreen
- Run any Qt example on Qt 6.5.1, e.g. the widgets/calculator example
- Disconnect any input device (e.g. an USB or bluetooth keyboard)
- Do a gesture (e.g. pinch zoom) on the touchpad/touchscreen
- The application segfaults here:
#0 0x00007ffff2ba3ccc in QXcbConnection::xi2HandleGesturePinchEvent(void*) () from /usr/lib/qt6/plugins/platforms/../../../libQt6XcbQpa.so.6 #1 0x00007ffff2b9397c in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () from /usr/lib/qt6/plugins/platforms/../../../libQt6XcbQpa.so.6 #2 0x00007ffff2b9b92c in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/qt6/plugins/platforms/../../../libQt6XcbQpa.so.6 #3 0x00007ffff2bb0f97 in ?? () from /usr/lib/qt6/plugins/platforms/../../../libQt6XcbQpa.so.6 #4 0x00007ffff6126981 in g_main_dispatch (context=0x7fffec000f10) at ../glib/glib/gmain.c:3460 #5 g_main_context_dispatch (context=0x7fffec000f10) at ../glib/glib/gmain.c:4200 #6 0x00007ffff6183b39 in g_main_context_iterate.isra.0 (context=context@entry=0x7fffec000f10, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4276 #7 0x00007ffff6124032 in g_main_context_iteration (context=0x7fffec000f10, may_block=1) at ../glib/glib/gmain.c:4343 #8 0x00007ffff6b344d4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt6Core.so.6 #9 0x00007ffff6944cd3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt6Core.so.6 #10 0x00007ffff693e378 in QCoreApplication::exec() () from /usr/lib/libQt6Core.so.6 #11 0x0000555555558818 in main ()
In the upstream issue, I also get reports with a stacktrace pointing to xi2HandleGestureSwipeEvent. Touchscreen users report that using the touchscreen on the window is enough as well (though I haven't tried that), and one user reports that "For instance, I use a three-finger drag (intercepted by libinput-gestures) to switch between workspaces, and that will also often lead to a crash (though not reliably, strangely enough)."