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

QMapDataBase::CreateNode crashes on some touch events

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 5.10.1
    • None
    • Linux/Wayland

    Description

      We are developing a linux panel that has a touchscreen with Wayland. When we touch the screen we often get this Qt error message:

      "TouchPointPressed without previous release event QQuickEventPoint(accepted:false state:Pressed scenePos:QPointF(627,215) id:2000002 time)"

      Sometimes the system continues running after this message, with the pressed widget (i.e. keyboard key) remaining down and not popping up, but usually the system also crashes. 

      A typical crashdump looks like this:

      Crash reason:  SIGSEGV /0x00000000
      Crash address: 0x650067
      Process uptime: not availableThread 40 (crashed)
      0  libc-2.27.so + 0x76420
          x0 = 0x0000fffefc0008d0    x1 = 0x0000fffefc0008d8
          x2 = 0x000000000000001f    x3 = 0x0000aaab0d84a2f8
          x4 = 0x0000000000650067    x5 = 0x0000000000000000
          x6 = 0x0000000000000001    x7 = 0x0000ffff95965000
          x8 = 0x0000fffefc0008d0    x9 = 0x0000ffff15ffb8a0
         x10 = 0x0000000000000004   x11 = 0x0000000000000001
         x12 = 0x0000000000000001   x13 = 0x000000000000270f
         x14 = 0x0000000000000002   x15 = 0x0000000000000000
         x16 = 0x0000ffff9613cf78   x17 = 0x0000ffff9588e2c8
         x18 = 0x0000ffff95966a70   x19 = 0x0000000000000001
         x20 = 0x0000000000000028   x21 = 0x0000ffff15ffb920
         x22 = 0x0000000000000080   x23 = 0x0000ffff15ffb8a0
         x24 = 0x0000000000000001   x25 = 0x0000ffff969eded0
         x26 = 0x0000ffff15ff9ef0   x27 = 0x0000ffff969edec0
         x28 = 0x0000aaab0d84a2f0    fp = 0x0000ffff15ff9d10
          lr = 0x0000ffff95c4855c    sp = 0x0000ffff15ff9d10
          pc = 0x0000ffff9588e420
         Found by: given as instruction pointer in context
      1  libQt5Core.so.5.10.1!QMapDataBase::createNode(int, int, QMapNodeBase*, bool) [qmap.cpp : 315 + 0x8]
          fp = 0x0000ffff15ff9d50    lr = 0x0000ffff95c4855c
          sp = 0x0000ffff15ff9d20    pc = 0x0000ffff95c4855c
         Found by: previous frame's frame pointer
      2  libQt5Gui.so.5.10.1!QWindowSystemInterfacePrivate::fromNativeTouchPoints(QList<QWindowSystemInterface::TouchPoint> const&, QWindow const*, unsigned char, QEvent::Type*) [qmap.h : 225 + 0x8]
         x19 = 0x0000aaab0d6b6e80   x20 = 0x0000ffff15ff9e50
         x21 = 0x0000ffff15ff9e60   x22 = 0x0000000000000000
         x23 = 0x00000003000000f8    fp = 0x0000ffff15ff9d90
          sp = 0x0000ffff15ff9d90    pc = 0x0000ffff96608d24
         Found by: call frame info

      The crashes appear to occur in qmap.cpp in the QMapDataBase::CreateNode function. 

      These QTBUG reports look very similar to our problem, but they don't offer any solutions:

      When I run Qt5_NMapper instead, it has no problem interpreting taps and drawing to the screen. I can drum all my fingers on the screen hundreds and hundreds of times without getting any crashes or "Press without release" errors.

      On the other hand, running our app usually crashes after a couple of dozen screen taps.

      Attachments

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

        Activity

          People

            srutledg Shawn Rutledge
            danldalton DAN DALTON
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes