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

Qt multimedia notify crash on program exit

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Invalid
    • Icon: Not Evaluated Not Evaluated
    • None
    • 6.10
    • None
    • Windows

      I haven't been able to figure out a small repro for this yet, but I can reproduce it readily in our environment, caused by getting 0xdddd... from d_func() in one of the notify paths. I'll see if I can boil it down to a simple example. We have Qt Multimedia playing .opus from https and it crashes when closing the hosting process.

      See attached VS screenshots

       

      Call stack most of the time:
      Qt6Cored.dll!std::_Atomic_storage<QThreadData *,8>::load(const std::memory_order _Order) Line 1042	at C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include\atomic(1042)Qt6Cored.dll!QAtomicOps<QThreadData *>::loadAcquire<QThreadData *>(const std::atomic<QThreadData *> & _q_value) Line 216	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\thread\qatomic_cxx11.h(216)Qt6Cored.dll!QBasicAtomicPointer<QThreadData>::loadAcquire() Line 178	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\thread\qbasicatomic.h(178)Qt6Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1088	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qcoreapplication.cpp(1088)Qt6Cored.dll!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 1550	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qcoreapplication.cpp(1550)Qt6Cored.dll!QEventDispatcherWin32Private::sendTimerEvent(int timerId) Line 414	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qeventdispatcher_win.cpp(414)Qt6Cored.dll!QEventDispatcherWin32::event(QEvent * e) Line 906	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qeventdispatcher_win.cpp(906)Qt6Cored.dll!QCoreApplicationPrivate::notify_helper(QObject * receiver, QEvent * event) Line 1281	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qcoreapplication.cpp(1281)Qt6Cored.dll!doNotify(QObject * receiver, QEvent * event) Line 1210	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qcoreapplication.cpp(1210)Qt6Cored.dll!QCoreApplication::notify(QObject * receiver, QEvent * event) Line 1194	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qcoreapplication.cpp(1194)Qt6Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1109	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qcoreapplication.cpp(1109)Qt6Cored.dll!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 1550	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qcoreapplication.cpp(1550)Qt6Cored.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver, int event_type, QThreadData * data) Line 1904	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qcoreapplication.cpp(1904)Qt6Cored.dll!QEventDispatcherWin32::sendPostedEvents() Line 925	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qeventdispatcher_win.cpp(925)Qt6Cored.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 483	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qeventdispatcher_win.cpp(483)Qt6Cored.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 105	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qeventloop.cpp(105)Qt6Cored.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 186	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qeventloop.cpp(186)Qt6Cored.dll!QCoreApplication::exec() Line 1452	at C:\Qt\6.10.0\git_source\qtbase\src\corelib\kernel\qcoreapplication.cpp(1452)

       

       

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

            thiago Thiago Macieira
            makkonen Lauri Ahonen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes