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

App crashed because QSemaphore::acquire call std::terminate

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P2: Important
    • None
    • 6.5.2
    • Core: Threads
    • None
    • macOS

    Description

       

      My application crashed about 4 times with no reason on different MacbookPro M2 after upgraded Qt from 5.15.2 to 6.5.2. Here are the crash stacks from ips files. Each of them occured twice.

      Stack A:

      Crashed Thread:        0  CrBrowserMain  
      Dispatch queue: com.apple.main-thread
      Exception Type:        EXC_CRASH (SIGABRT)
      Exception Codes:       0x0000000000000000, 0x0000000000000000
      Application Specific Information:
      abort() called
      Kernel Triage:
      VM - pmap_enter retried due to resource shortage
      Thread 0 Crashed:: CrBrowserMain Dispatch queue: com.apple.main-thread
      0   libsystem_kernel.dylib                   0x19f06a868 __pthread_kill + 8
      1   libsystem_pthread.dylib                  0x19f0a1cec pthread_kill + 288
      2   libsystem_c.dylib                        0x19efda2c8 abort + 180
      3   libc++abi.dylib                          0x19f05ab18 abort_message + 132
      4   libc++abi.dylib                          0x19f04a9f4 demangling_terminate_handler() + 312
      5   libobjc.A.dylib                          0x19ed4f774 _objc_terminate() + 160
      6   libc++abi.dylib                          0x19f059eb4 std::__terminate(void (*)()) + 20
      7   libc++abi.dylib                          0x19f059e50 std::terminate() + 56
      8   QtCore                                   0x10850ab10 QSemaphore::acquire(int) + 80
      9   QtGui                                    0x108002070 0x107bc0000 + 4464752
      10  QtGui                                    0x107d030f8 0x107bc0000 + 1323256
      11  QtGui                                    0x107d2971c 0x107bc0000 + 1480476
      12  QtGui                                    0x107d2bc1c QRasterPaintEngine::fill(QVectorPath const&, QBrush const&) + 1248
      13  QtWidgets                                0x1056b9480 0x105618000 + 660608
      14  QtWidgets                                0x1056b9730 0x105618000 + 661296
      15  QtWidgets                                0x1056ca0ac 0x105618000 + 729260
      16  QtWidgets                                0x105663324 QWidgetPrivate::paintBackground(QPainter*, QRegion const&, QFlags<QWidgetPrivate::DrawWidgetFlag>) const + 808
      17  QtWidgets                                0x105661858 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 2052
      18  QtWidgets                                0x1056693d4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 864
      19  QtWidgets                                0x1056692c4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 592
      20  QtWidgets                                0x105661e44 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 3568
      21  QtWidgets                                0x1056693d4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 864
      22  QtWidgets                                0x105661e44 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 3568
      23  QtWidgets                                0x1056693d4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 864
      24  QtWidgets                                0x105661e44 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 3568
      25  QtWidgets                                0x1056693d4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 864
      26  QtWidgets                                0x1056692c4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 592
      27  QtWidgets                                0x1056692c4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 592
      28  QtWidgets                                0x105661e44 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 3568
      29  QtWidgets                                0x1056693d4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 864
      30  QtWidgets                                0x105661e44 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 3568
      31  QtWidgets                                0x1056693d4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 864
      32  QtWidgets                                0x1056692c4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 592
      33  QtWidgets                                0x105661e44 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 3568
      34  QtWidgets                                0x1056693d4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 864
      35  QtWidgets                                0x105661e44 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 3568
      36  QtWidgets                                0x1056693d4 QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 864
      37  QtWidgets                                0x105661e44 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) + 3568
      38  QtWidgets                                0x10567f530 QWidgetRepaintManager::paintAndFlush() + 3904
      39  QtWidgets                                0x10567f7b4 QWidgetRepaintManager::sync() + 252
      40  QtWidgets                                0x10566f0c8 QWidget::event(QEvent*) + 1316
      41  MyApp                                    0x1009f3430 CommonWnd::event(QEvent*) + 168
      42  QtWidgets                                0x105625afc QApplicationPrivate::notify_helper(QObject*, QEvent*) + 272
      43  QtWidgets                                0x1056274a4 QApplication::notify(QObject*, QEvent*) + 3396
      44  QtCore                                   0x108397c54 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 292
      45  QtCore                                   0x108398f04 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 1428
      46  libqcocoa.dylib                          0x105e63224 0x105e4c000 + 94756
      47  libqcocoa.dylib                          0x105e63cfc 0x105e4c000 + 97532
      48  CoreFoundation                           0x19f181a08 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
      49  CoreFoundation                           0x19f18199c __CFRunLoopDoSource0 + 176
      50  CoreFoundation                           0x19f18170c __CFRunLoopDoSources0 + 244
      51  CoreFoundation                           0x19f180310 __CFRunLoopRun + 836
      52  CoreFoundation                           0x19f17f878 CFRunLoopRunSpecific + 612
      53  HIToolbox                                0x1a885ffa0 RunCurrentEventLoopInMode + 292
      54  HIToolbox                                0x1a885fc30 ReceiveNextEventCommon + 236
      55  HIToolbox                                0x1a885fb2c _BlockUntilNextEventMatchingListInModeWithFilter + 72
      56  AppKit                                   0x1a240584c _DPSNextEvent + 632
      57  AppKit                                   0x1a24049dc -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 728
      58  AppKit                                   0x1a23f8e0c -[NSApplication run] + 464
      59  libqcocoa.dylib                          0x105e62600 0x105e4c000 + 91648
      60  QtCore                                   0x1083a15d4 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 532
      61  QtCore                                   0x1083982e0 QCoreApplication::exec() + 112
      62  MyApp                                    0x10090fbd0 QWidgetFrameAdapter::RunMessageLoop() + 156
      63  MyApp                                    0x1008f1010 BusApplication::RunMessageLoop() + 284
      64  MyApp                                    0x1008fcdd4 BrowserEntry::RunLoop() + 280
      65  MyApp                                    0x1008fdf28 RunBrowser(unsigned int, int, char**) + 180
      66  MyApp                                    0x1008fdd3c main + 1748
      67  dyld                                     0x19ed77e50 start + 2544
      

       

       

      Stack B:

      Crashed Thread:        0  CrBrowserMain  Dispatch queue: com.apple.main-thread
      Exception Type:        EXC_CRASH (SIGABRT)
      Exception Codes:       0x0000000000000000, 0x0000000000000000
      Termination Reason:    Namespace SIGNAL, Code 6 Abort trap: 6
      Application Specific Information:
      abort() called
      
      Thread 0 Crashed:: CrBrowserMain Dispatch queue: com.apple.main-thread
      0   libsystem_kernel.dylib                   0x184d3511c __pthread_kill + 8
      1   libsystem_pthread.dylib                  0x184d6ccc0 pthread_kill + 288
      2   libsystem_c.dylib                        0x184c7ca40 abort + 180
      3   libc++abi.dylib                          0x184d246d8 abort_message + 132
      4   libc++abi.dylib                          0x184d147ac demangling_terminate_handler() + 320
      5   libobjc.A.dylib                          0x1849bf8a4 _objc_terminate() + 160
      6   libc++abi.dylib                          0x184d23a9c std::__terminate(void (*)()) + 16
      7   libc++abi.dylib                          0x184d23a40 std::terminate() + 56
      8   QtCore                                   0x108fa6b10 QSemaphore::acquire(int) + 80
      9   QtGui                                    0x108aa1d58 0x10865c000 + 4480344
      10  QtGui                                    0x1087c6a98 0x10865c000 + 1485464
      11  QtGui                                    0x1087cc058 QRasterPaintEngine::drawImage(QRectF const&, QImage const&, QRectF const&, QFlags<Qt::ImageConversionFlag>) + 4276
      12  QtGui                                    0x1087e4e90 QPainter::drawImage(QRectF const&, QImage const&, QRectF const&, QFlags<Qt::ImageConversionFlag>) + 540
      13  libqcocoa.dylib                          0x103d64180 0x103d54000 + 65920
      14  QtGui                                    0x10874a1fc QBackingStore::flush(QRegion const&, QWindow*, QPoint const&) + 536
      15  QtWidgets                                0x10611a2f8 QWidgetRepaintManager::flush(QWidget*, QRegion const&, QPlatformTextureList*) + 1456
      16  QtWidgets                                0x10611c40c QWidgetRepaintManager::flush() + 752
      17  QtWidgets                                0x10611b540 QWidgetRepaintManager::paintAndFlush() + 3920
      18  QtWidgets                                0x10611b7b4 QWidgetRepaintManager::sync() + 252
      19  QtWidgets                                0x10610b0c8 QWidget::event(QEvent*) + 1316
      20  MyApp                                    0x1010c73e0 CommonWnd::event(QEvent*) + 168
      21  QtWidgets                                0x1060c1afc QApplicationPrivate::notify_helper(QObject*, QEvent*) + 272
      22  QtWidgets                                0x1060c34a4 QApplication::notify(QObject*, QEvent*) + 3396
      23  QtCore                                   0x108e33c54 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 292
      24  QtCore                                   0x108e34f04 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 1428
      25  libqcocoa.dylib                          0x103d6b224 0x103d54000 + 94756
      26  libqcocoa.dylib                          0x103d6bcfc 0x103d54000 + 97532
      27  CoreFoundation                           0x184e49cfc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
      28  CoreFoundation                           0x184e49c90 __CFRunLoopDoSource0 + 176
      29  CoreFoundation                           0x184e49a00 __CFRunLoopDoSources0 + 244
      30  CoreFoundation                           0x184e485f0 __CFRunLoopRun + 828
      31  CoreFoundation                           0x184e47c5c CFRunLoopRunSpecific + 608
      32  HIToolbox                                0x18f3c1448 RunCurrentEventLoopInMode + 292
      33  HIToolbox                                0x18f3c1284 ReceiveNextEventCommon + 648
      34  HIToolbox                                0x18f3c0fdc _BlockUntilNextEventMatchingListInModeWithFilter + 76
      35  AppKit                                   0x188622c54 _DPSNextEvent + 660
      36  AppKit                                   0x188df8ebc -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 716
      37  AppKit                                   0x188616100 -[NSApplication run] + 476
      38  libqcocoa.dylib                          0x103d6a600 0x103d54000 + 91648
      39  QtCore                                   0x108e3d5d4 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 532
      40  QtCore                                   0x108e342e0 QCoreApplication::exec() + 112
      41  MyApp                                    0x100fe3c40 QWidgetFrameAdapter::RunMessageLoop() + 156
      42  MyApp                                    0x100fc5090 BusApplication::RunMessageLoop() + 284
      43  MyApp                                    0x100fd0e44 BrowserEntry::RunLoop() + 280
      44  MyApp                                    0x100fd1f98 RunBrowser(unsigned int, int, char**) + 180
      45  MyApp                                    0x100fd1dac main + 1748
      46  dyld                                     0x1849f10e0 start + 2360 

      Since it never happened on Qt 5.15.2, could you please check if it's a regression?

       

      Attachments

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

        Activity

          People

            vhilshei Volker Hilsheimer
            midori Yi Cui
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes