Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-97157

attempting to interact with any widget dialog on touchscreen fails; mouse causes crash after that

    XMLWordPrintable

Details

    • bd71fb2514 (qt/qtbase/dev) bd71fb2514 (qt/tqtc-qtbase/dev) 35feab8d5e (qt/qtbase/6.3) 35feab8d5e (qt/tqtc-qtbase/6.3) fd912ea952 (qt/qtbase/6.2) fd912ea952 (qt/tqtc-qtbase/6.2)

    Description

      1. build qtbase/examples/widgets/dialogs/standarddialogs
      2. run on the touchscreen
      3. open any dialog
      4. maybe try to interact with any content in the dialog on the touchscreen, to make sure it's possible; but usually skip this step
      5. press the cancel button on the touchscreen
      6. crash:
        Thread 1 "standarddialogs" received signal SIGSEGV, Segmentation fault.
        0x00007ffff7193ab8 in QEventPoint::id() const () from /usr/lib/libQt6Gui.so.6
        (gdb) bt
        #0  0x00007ffff7193ab8 in QEventPoint::id() const () from /usr/lib/libQt6Gui.so.6
        #1  0x00007ffff71e0710 in QPointingDevicePrivate::setExclusiveGrabber(QPointerEvent const*, QEventPoint const&, QObject*) () from /usr/lib/libQt6Gui.so.6
        #2  0x00007ffff71ae17f in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt6Gui.so.6
        #3  0x00007ffff71b0aee in QGuiApplicationPrivate::processTouchEvent(QWindowSystemInterfacePrivate::TouchEvent*) () from /usr/lib/libQt6Gui.so.6
        #4  0x00007ffff71facd5 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt6Gui.so.6
        #5  0x00007ffff30cacfc in ?? () from /usr/lib/libQt6XcbQpa.so.6
        #6  0x00007ffff61cc4dc in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
        #7  0x00007ffff6220749 in ?? () from /usr/lib/libglib-2.0.so.0
        #8  0x00007ffff61c9bc1 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
        #9  0x00007ffff6d80e0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt6Core.so.6
        #10 0x00007ffff6b2905c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt6Core.so.6
        #11 0x00007ffff6b24403 in QCoreApplication::exec() () from /usr/lib/libQt6Core.so.6
        #12 0x000055555555a000 in main ()
        

      A different crash when using mouse after touch (sometimes in dev branch, it doesn't crash with touch, but ignores the touch, and then if you try to hit Cancel with the mouse, it crashes):

      1  QEventPoint::id                                  qeventpoint.cpp            331  0x7ffff69e51d8 
      2  QPointingDevicePrivate::setExclusiveGrabber      qpointingdevice.cpp        491  0x7ffff6a585e1 
      3  QPointerEvent::setExclusiveGrabber               qevent.cpp                 394  0x7ffff69e81db 
      4  QGuiApplicationPrivate::processMouseEvent        qguiapplication.cpp        2299 0x7ffff69feeb7 
      5  operator()                                       qguiapplication.cpp        2978 0x7ffff6a01149 
      6  QGuiApplicationPrivate::processTouchEvent        qguiapplication.cpp        3012 0x7ffff6a0280e 
      7  QGuiApplicationPrivate::processWindowSystemEvent qguiapplication.cpp        2015 0x7ffff69fddc9 
      8  QWindowSystemInterface::sendWindowSystemEvents   qwindowsysteminterface.cpp 1132 0x7ffff6a7d8e4 
      9  xcbSourceDispatch                                qxcbeventdispatcher.cpp    93   0x7ffff2440660 
      10 g_main_context_dispatch                                                          0x7ffff564c4dc 
      11 ??                                                                               0x7ffff56a0749 
      12 g_main_context_iteration                                                         0x7ffff5649bc1 
      13 QEventDispatcherGlib::processEvents              qeventdispatcher_glib.cpp  429  0x7ffff64655be 
      14 QXcbGlibEventDispatcher::processEvents           qxcbeventdispatcher.cpp    132  0x7ffff24408b2 
      15 QEventLoop::processEvents                        qeventloop.cpp             135  0x7ffff609bb1d 
      16 QEventLoop::exec                                 qeventloop.cpp             219  0x7ffff609be88 
      17 QCoreApplication::exec                           qcoreapplication.cpp       1389 0x7ffff6088594 
      18 QGuiApplication::exec                            qguiapplication.cpp        1862 0x7ffff69fd65a 
      19 QApplication::exec                               qapplication.cpp           2610 0x7ffff7623c9b 
      20 main                                             main.cpp                   83   0x555555564eb0 
      

      With the Arch package of 6.2.0 it crashes when trying to tap the cancel button on the touchscreen, and there's no problem with the interactive widgets in the dialog ignoring touches. Likewise it's that way in the 6.2 branch with a debug build; so I'm trying to debug there. Just repeatedly open dialogs and hit cancel on the touchscreen, and it will often crash (but not always).

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-97157
          # Subject Branch Project Status CR V

          Activity

            People

              srutledg Shawn Rutledge
              srutledg Shawn Rutledge
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: