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

Crash in QCocoaAccessible::shouldBeIgnored

XMLWordPrintable

    • macOS
    • 74e5a51ba (dev), 4874a7b13 (6.9), 0d3d1e290 (6.8), bdcb48007 (tqtc/lts-6.5)

      Deleting a QComboBox that has focus and was "opened" before while some Accessibility feature of macOS (e.g. Voice Over) is enabled, leads to a crash with the following backtrace:

      Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
      0   QtWidgets                     	       0x103c17de0 0x1039b0000 + 2522592
      1   libqcocoa.dylib               	       0x102c60f74 QCocoaAccessible::shouldBeIgnored(QAccessibleInterface*) + 32 (qcocoaaccessibility.mm:195)
      2   AppKit                        	       0x190ba5ca4 __NSAccessibilityEntryPointIsAccessibilityElement_block_invoke + 424
      3   AppKit                        	       0x190ba5ab8 NSAccessibilityPerformEntryPointBOOL + 44
      4   AppKit                        	       0x1905a0454 NSAccessibilityEntryPointIsAccessibilityElement + 140
      5   AppKit                        	       0x1906914b4 NSAccessibilityUnignoredAncestor + 24
      6   AppKit                        	       0x190ff5098 -[NSWindow(NSWindowAccessibility) accessibilityFocusedUIElement] + 88
      7   AppKit                        	       0x1905f56ac NSAccessibilityHandleFocusChangedForce + 136
      8   AppKit                        	       0x190614c90 -[NSWindow _realMakeFirstResponder:] + 724
      9   libqcocoa.dylib               	       0x102c25a8c QCocoaWindow::~QCocoaWindow() + 304 (qcocoawindow.mm:151)
      10  libqcocoa.dylib               	       0x102c25dcc QCocoaWindow::~QCocoaWindow() + 4 (qcocoawindow.mm:147) [inlined]
      11  libqcocoa.dylib               	       0x102c25dcc QCocoaWindow::~QCocoaWindow() + 4 (qcocoawindow.mm:147) [inlined]
      12  libqcocoa.dylib               	       0x102c25dcc non-virtual thunk to QCocoaWindow::~QCocoaWindow() + 16
      13  QtGui                         	       0x102ead470 QWindowPrivate::destroy() + 168 (qwindow.cpp:2022)
      14  QtWidgets                     	       0x103a19ad8 0x1039b0000 + 432856
      15  QtWidgets                     	       0x103a19bf8 0x1039b0000 + 433144
      16  QtWidgets                     	       0x1039f7244 QWidget::destroy(bool, bool) + 648
      17  QtWidgets                     	       0x1039f6d34 QWidget::~QWidget() + 1208
      18  QtWidgets                     	       0x103ad15e4 QComboBoxPrivateContainer::~QComboBoxPrivateContainer() + 124
      19  QtWidgets                     	       0x103ad480c QComboBox::~QComboBox() + 140
      20  QtWidgets                     	       0x103ad4834 QComboBox::~QComboBox() + 12
      21  combobox                      	       0x102989fe4 Window::recreateComboBox() + 108
      22  combobox                      	       0x10298b058 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Window::*)()>::call(void (Window::*)(), Window*, void**) + 140
      23  combobox                      	       0x10298af80 void QtPrivate::FunctionPointer<void (Window::*)()>::call<QtPrivate::List<>, void>(void (Window::*)(), Window*, void**) + 80
      24  combobox                      	       0x10298ae4c QtPrivate::QSlotObject<void (Window::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) + 172
      25  QtCore                        	       0x104abbb94 QtPrivate::QSlotObjectBase::call(QObject*, void**) + 28 (qobjectdefs_impl.h:374) [inlined]
      26  QtCore                        	       0x104abbb94 void doActivate<false>(QObject*, int, void**) + 1320 (qobject.cpp:4063)
      27  QtWidgets                     	       0x103ab91fc 0x1039b0000 + 1085948
      28  QtWidgets                     	       0x103ab907c 0x1039b0000 + 1085564
      29  QtWidgets                     	       0x103ab9f7c QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 172
      30  QtWidgets                     	       0x103a05af8 QWidget::event(QEvent*) + 132
      31  QtWidgets                     	       0x1039bc5d4 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 272
      32  QtWidgets                     	       0x1039be630 QApplication::notify(QObject*, QEvent*) + 5112
      33  QtCore                        	       0x104a71b94 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 292 (qcoreapplication.cpp:1127)
      34  QtWidgets                     	       0x1039bcb74 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) + 808
      35  QtWidgets                     	       0x103a1aa80 0x1039b0000 + 436864
      36  QtWidgets                     	       0x103a19d38 0x1039b0000 + 433464
      37  QtWidgets                     	       0x1039bc5d4 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 272
      38  QtWidgets                     	       0x1039bd438 QApplication::notify(QObject*, QEvent*) + 512
      39  QtCore                        	       0x104a71b94 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 292 (qcoreapplication.cpp:1127)
      40  QtGui                         	       0x102e63520 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 1728 (qguiapplication.cpp:2379)
      41  QtGui                         	       0x102eba8e4 QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 396 (qwindowsysteminterface.cpp:1094)
      42  libqcocoa.dylib               	       0x102c02f9c QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 560 (qcocoaeventdispatcher.mm:921)
      43  CoreFoundation                	       0x18ccc54b8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
      44  CoreFoundation                	       0x18ccc544c __CFRunLoopDoSource0 + 176
      45  CoreFoundation                	       0x18ccc51bc __CFRunLoopDoSources0 + 244
      46  CoreFoundation                	       0x18ccc3da8 __CFRunLoopRun + 828
      47  CoreFoundation                	       0x18ccc3414 CFRunLoopRunSpecific + 608
      48  HIToolbox                     	       0x19746e19c RunCurrentEventLoopInMode + 292
      49  HIToolbox                     	       0x19746de2c ReceiveNextEventCommon + 220
      50  HIToolbox                     	       0x19746dd30 _BlockUntilNextEventMatchingListInModeWithFilter + 76
      51  AppKit                        	       0x190522cc8 _DPSNextEvent + 660
      52  AppKit                        	       0x190d194d0 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 700
      53  AppKit                        	       0x190515ffc -[NSApplication run] + 476
      54  libqcocoa.dylib               	       0x102c00b10 QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2160 (qcocoaeventdispatcher.mm:405)
      55  QtCore                        	       0x104a7b7fc QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 36 (qeventloop.cpp:100) [inlined]
      56  QtCore                        	       0x104a7b7fc QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 532 (qeventloop.cpp:182)
      57  QtCore                        	       0x104a72220 QCoreApplication::exec() + 112 (qcoreapplication.cpp:1448)
      58  combobox                      	       0x10298989c main + 84
      59  dyld                          	       0x18c85b154 start + 2476
      

      See attached minimal example ComboBoxes.zip to reproduce it:
      1. Enable some Accessibility feature (e.g. Voice Over)
      2. Start the example application
      3. Select a different entry in the ComboBox
      4. Click on "Recreate ComboBox"

      The crash doesn't happen if you select a line edit after editing the ComboBox, or if you just use "tab" to get the focus on the ComboBox, without "opening" it.

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

            vhilshei Volker Hilsheimer
            simon.geisseler Simon Geisseler
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes