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

When showing a tooltip it can crash when querying the QScreen for the handle()

    XMLWordPrintable

Details

    • macOS
    • ffbf5ae11d8df95ec2bb0ed7c3c32be9a45eac0c (qt/qtbase/5.14.2)
    • Q1/2020 Finale

    Description

      When showing a tooltip it can crash when querying the QScreen for the handle(). This happened in Qt Creator and crashed with the following:

      Process: Qt Creator [88778]
      Path: /Users/USER/*/Qt Creator.app/Contents/MacOS/Qt Creator
      Identifier: org.qt-project.qtcreator
      Version: 4.11.1 (4.11.1)
      Code Type: X86-64 (Native)
      Parent Process: ??? [1]
      Responsible: Qt Creator [88778]
      User ID: 501
      
      Date/Time: 2020-03-10 15:54:54.778 -0500
      OS Version: Mac OS X 10.14.6 (18G103)
      Report Version: 12
      Bridge OS Version: 4.1 (17P1081)
      Anonymous UUID: 334B0A41-53C6-7D51-BD65-64A23C95424F
      
      Sleep/Wake UUID: FF2D47F2-AB68-4D99-B442-93E223A8BC1D
      
      Time Awake Since Boot: 1700000 seconds
      Time Since Wake: 570 seconds
      
      System Integrity Protection: enabled
      
      Crashed Thread: 0 Dispatch queue: com.apple.main-thread
      
      Exception Type: EXC_BAD_ACCESS (SIGSEGV)
      Exception Codes: EXC_I386_GPFLT
      Exception Note: EXC_CORPSE_NOTIFY
      
      Termination Signal: Segmentation fault: 11
      Termination Reason: Namespace SIGNAL, Code 0xb
      Terminating Process: exc handler [88778]
      
      Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
      0 org.qt-project.QtGui 0x000000010966d258 QScreen::handle() const
      + 8
      1 org.qt-project.QtWidgets 0x00000001090bb98f 0x109043000 + 493967
      2 org.qt-project.QtWidgets 0x00000001090bbd02
      QToolTip::showText(QPoint const&, QString const&, QWidget*, QRect
      const&, int) + 242
      3 org.qt-project.QtWidgets 0x000000010908e71d QWidget::event(QEvent*)
      + 2269
      4 org.qt-project.QtWidgets 0x0000000109236f5f
      QToolButton::event(QEvent*) + 319
      5 org.qt-project.QtWidgets 0x00000001090535ba
      QApplicationPrivate::notify_helper(QObject*, QEvent*) + 266
      6 org.qt-project.QtWidgets 0x0000000109054e73
      QApplication::notify(QObject*, QEvent*) + 1667
      7 org.qt-project.QtCore 0x0000000109f64ae4
      QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
      8 org.qt-project.QtWidgets 0x0000000109051bc7
      QApplication::event(QEvent*) + 1607
      9 org.qt-project.QtWidgets 0x00000001090535ba
      QApplicationPrivate::notify_helper(QObject*, QEvent*) + 266
      10 org.qt-project.QtWidgets 0x0000000109054a46
      QApplication::notify(QObject*, QEvent*) + 598
      11 org.qt-project.QtCore 0x0000000109f64ae4
      QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
      12 org.qt-project.QtCore 0x0000000109fbf95f
      QTimerInfoList::activateTimers() + 991
      13 libqcocoa.dylib 0x000000010c4e5892 0x10c4af000 + 223378
      14 com.apple.CoreFoundation 0x00007fff48b19de3
      __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
      15 com.apple.CoreFoundation 0x00007fff48b19d89 __CFRunLoopDoSource0 +
      108
      16 com.apple.CoreFoundation 0x00007fff48afd74b __CFRunLoopDoSources0 +
      195
      17 com.apple.CoreFoundation 0x00007fff48afcd15 __CFRunLoopRun + 1189
      18 com.apple.CoreFoundation 0x00007fff48afc61e CFRunLoopRunSpecific +
      455
      19 com.apple.HIToolbox 0x00007fff47d5b1ab
      RunCurrentEventLoopInMode + 292
      20 com.apple.HIToolbox 0x00007fff47d5aee5 ReceiveNextEventCommon +
      603
      21 com.apple.HIToolbox 0x00007fff47d5ac76
      _BlockUntilNextEventMatchingListInModeWithFilter + 64
      22 com.apple.AppKit 0x00007fff460f377d _DPSNextEvent + 1135
      23 com.apple.AppKit 0x00007fff460f246b -[NSApplication(NSEvent)
      _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
      24 com.apple.AppKit 0x00007fff460ec588 -[NSApplication run] +
      699
      25 libqcocoa.dylib 0x000000010c4e6623 0x10c4af000 + 226851
      26 org.qt-project.QtCore 0x0000000109f60b6f
      QEventLoop::exec&#40;QFlags<QEventLoop::ProcessEventsFlag>&#41;
      + 431
      27 org.qt-project.QtCore 0x0000000109f650f2
      QCoreApplication::exec&#40;&#41; + 130
      28 org.qt-project.qtcreator 0x0000000108cec016 main + 15318
      29 libdyld.dylib 0x00007fff74a783d5 start + 1
      

      The steps to reproduce are not certain, I suspect that it can happen when showing the tooltip for the project/config selection near the bottom right (above the big play button)

      Attachments

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

        Activity

          People

            vhilshei Volker Hilsheimer
            andysh Andy Shaw
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes