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

xcb: Enabling touch device while application is running causes a crash on first touch

    XMLWordPrintable

Details

    • Linux/X11
    • 2862cdb7b (dev), ed96f3bd2 (6.7), 6c16bf0c6 (6.6), dcae60f1e (tqtc/lts-6.5), ca6af3cf7 (tqtc/lts-6.2), 87a777f20 (tqtc/lts-5.15)

    Description

      To reproduce:

      • disable touch device through "xinput disable X"
      • start any application
      • enable touch device "xinput enable X"
      • touch something in the app

      This started to happen on Ubuntu 20.04 with kernel 5.15.0-97 -> 5.15.0-100 upgrade which seems to have changed behavior. Now the device is floated when it is disable where as before it seems to have been kept in tree.

      I am not sure yet if this also affects Qt 6, but it seems likely. Also same disable behavior seems to happen with latest kernels too (but I cannot test this now) so this doesn't seem to be specific to just those kernels.

      #0 0x00007f3435c005aa in QRectF::center (this=<optimized out>) at ../../../../include/QtCore/../../src/corelib/tools/qrect.h:712
      #1 QXcbConnection::xi2ProcessTouch (this=<optimized out>, xiDevEvent=0x7f3430006eb0, platformWindow=<optimized out>) at qxcbconnection_xi2.cpp:696
      #2 0x00007f3435c0282e in QArrayData::data (this=0x0) at ../../../../include/QtCore/../../src/corelib/tools/qarraydata.h:61
      #3 QTypedArrayData<QXcbConnection::TouchDeviceData::ValuatorClassInfo>::data (this=0x0) at ../../../../include/QtCore/../../src/corelib/tools/qarraydata.h:208
      #4 QTypedArrayData<QXcbConnection::TouchDeviceData::ValuatorClassInfo>::begin (this=0x0) at ../../../../include/QtCore/../../src/corelib/tools/qarraydata.h:211
      #5 QVector<QXcbConnection::TouchDeviceData::ValuatorClassInfo>::realloc (this=0x7f3430006eb0, aalloc=<optimized out>, options=...) at ../../../../include/QtCore/../../src/corelib/tools/qvector.h:708
      #8 0x00007f343a102a86 in QList<bool (*)(void**)>::node_copy (this=0x555aa55d6060, src=<optimized out>, to=<optimized out>, from=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qlist.h:516
      #9 QList<bool (*)(void**)>::detach_helper_grow (this=0x555aa55d6060, i=32564, c=-943488256) at ../../include/QtCore/../../src/corelib/tools/qlist.h:805
      #10 0x00007f3435bcd4db in QXcbConnection::handleXcbEvent (this=<optimized out>, event=0x23) at qxcbconnection.cpp:652
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            liaqi Liang Qi
            poikelin Joni Poikelin
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews