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

EXCEPTION_ACCESS_VIOLATION_READ on windowHandle function on a window got from a QAccessibleWidget

    XMLWordPrintable

Details

    • Windows
    • 24a0303b9ed7d48c75c4567b93b327b731b2de3b

    Description

      We have sporadic crashes on multiple different Windows Machines relating to calling a function on a, presumably, null window object, taken from QAccessibleWidget::window().

      We have spent some time trying to figure out what causes this, and the only semi-related issue is that having "Touch Keyboard and Handwriting Panel Service" enabled seems to cause this. This is speculation, but it has been a common theme.

      We have multiple crash dumps and they all look exactly the same.

      Crash reason:  EXCEPTION_ACCESS_VIOLATION_READ
      Crash address: 0x8
      Process uptime: 634 seconds
      
      
      Thread 0 (crashed)
       0  Qt5Widgets.dll!QWidget::windowHandle() [qwidget.cpp : 2656 + 0x0]
       1  Qt5Widgets.dll!QAccessibleWidget::window() [qaccessiblewidget.cpp : 229 + 0x8]
       2  qwindows.dll + 0x5ed4b
       3  qwindows.dll + 0x57c98
       4  Qt5Widgets.dll!QWindowsStyle::eventFilter(QObject *,QEvent *) [qwindowsstyle.cpp : 150 + 0x19]
       5  0x223ad3d1af8
       6  Qt5Widgets.dll!QWindowsStyle::eventFilter(QObject *,QEvent *) [qwindowsstyle.cpp : 150 + 0x19]
       7  0x7ffb0000000c
       8  UIAutomationCore.dll + 0x1fd000
       9  Qt5Gui.dll!QAccessible::queryAccessibleInterface(QObject *) [qaccessible.cpp : 678 + 0x5]
      10  qwindows.dll + 0x5d6f
      11  0x7ffc1f900000
      12  UIAutomationCore.dll + 0x183348
      13  qwindows.dll + 0x57835
      14  UIAutomationCore.dll + 0x44053
      15  ntdll.dll + 0xd997
      16  Qt5Widgets.dll!QAccessibleWidget::window() [qaccessiblewidget.cpp : 231 + 0x8]
      17  0x223b21bb280
      18  UIAutomationCore.dll + 0x41931
      19  UIAutomationCore.dll + 0x2013c0
      20  UIAutomationCore.dll + 0x40636
      21  qwindows.dll + 0x157b60
      22  UIAutomationCore.dll + 0x404dc
      23  ucrtbase.dll + 0xca26
      24  Qt5Core.dll!QMetaObject::Connection::~Connection() [qobject.cpp : 5121 + 0x5]
      25  qwindows.dll + 0x560c7
      26  Qt5Widgets.dll!QWidget::hasFocus() [qwidget.cpp : 6475 + 0x5]
      27  Qt5Core.dll!QMetaObject::cast(QObject *) [qmetaobject.cpp : 357 + 0xd]
      

      At this point, we have run out of options, short of compiling Qt ourselves without any accessibility features.

      Attachments

        1. GenerateTouchInputs.png
          0.7 kB
          Andreas Renz
        2. MicrosoftTouchSimulator.png
          49 kB
          Andreas Renz
        3. QObject_Disconnect_Qt5.12.7_Help.png
          14 kB
          Andreas Renz
        4. QTBUG-83387_MicrosoftTouchSimulator_TestProg_VS2017.gif
          1.74 MB
          Andreas Renz
        5. TestCrash_QTBUG-83387.zip
          6 kB
          Andreas Renz
        6. TestProgramStarted.png
          19 kB
          Andreas Renz
        7. VS2017WithTestProgramInMicrosoftTouchSimulator.png
          172 kB
          Andreas Renz

        Issue Links

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

          Activity

            People

              mitch_curtis Mitch Curtis
              daniel_oxer Daniel Oxer
              Votes:
              2 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes