Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.3.2
-
None
-
-
de266fd95 (dev), f334da2d3 (6.4), 54830b12f (tqtc/lts-6.2), 27684625a (6.5)
Description
I see such crashes among our users crash reports.
Unfortunately I have no minimal reproducer at the moment.
Unhandled exception at 0x00007FF8B492DB95 (Qt6Core.dll) in minidump (34).dmp: 0xC0000005: Access violation reading location 0x0000000000000030.
Stack:
Qt6Core.dll!doActivate<0>(QObject * sender, int signal_index, void * * argv) Line 3805 C++ Qt6Core.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 3982 C++ [Inline Frame] Qt6Core.dll!QtPrivate::QSlotObjectBase::call(QObject *) Line 399 C++ Qt6Core.dll!doActivate<0>(QObject * sender, int signal_index, void * * argv) Line 3921 C++ Qt6Core.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 3982 C++ [Inline Frame] Qt6Multimedia.dll!QMediaPlayer::mediaStatusChanged(QMediaPlayer::MediaStatus _t1) Line 710 C++ Qt6Multimedia.dll!QMediaPlayerPrivate::setStatus(QMediaPlayer::MediaStatus s) Line 146 C++ > Qt6Multimedia.dll!MFPlayerControl::handleStatusChanged() Line 188 C++ [Inline Frame] Qt6Multimedia.dll!MFPlayerSession::statusChanged() Line 136 C++ [Inline Frame] Qt6Multimedia.dll!MFPlayerSession::changeStatus(QMediaPlayer::MediaStatus) Line 1168 C++ Qt6Multimedia.dll!MFPlayerSession::handleSessionEvent(IMFMediaEvent * sessionEvent) Line 1863 C++ Qt6Core.dll!QMetaCallEvent::placeMetaCall(QObject * object) Line 631 C++ Qt6Core.dll!QObject::event(QEvent * e) Line 1356 C++ Qt6Widgets.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3352 C++ Qt6Widgets.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 3304 C++ Qt6Core.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1067 C++ [Inline Frame] Qt6Core.dll!QCoreApplication::sendEvent(QObject *) Line 1483 C++ Qt6Core.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver, int event_type, QThreadData * data) Line 1845 C++ Qt6Gui.dll!QWindowsGuiEventDispatcher::sendPostedEvents() Line 80 C++ Qt6Core.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 476 C++ Qt6Gui.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 73 C++ [Inline Frame] Qt6Core.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag>) Line 136 C++ Qt6Core.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 218 C++ Qt6Core.dll!QCoreApplication::exec() Line 1388 C++
This code looks weird, pay attention that mediaStatusChanged() is not a signal (why emit?), it's just a regular method of QPlatformMediaPlayer.
Note: as soon as I can see and may trust to minidump, m_session->status() is EndOfMedia at the moment.
Attachments
Issue Links
- relates to
-
QTBUG-97069 [Windows] Crash (use-after-free) on (Q)MediaPlayer destruction
- Closed
For Gerrit Dashboard: QTBUG-109149 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
455730,3 | Fix memory leak and random crash in windows playback backend | dev | qt/qtmultimedia | Status: MERGED | +2 | 0 |
455765,2 | Fix memory leak and random crash in windows playback backend | 6.5 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
455766,2 | Fix memory leak and random crash in windows playback backend | 6.4 | qt/qtmultimedia | Status: MERGED | +2 | 0 |
455770,4 | Fix memory leak and random crash in windows playback backend | tqtc/lts-6.2 | qt/tqtc-qtmultimedia | Status: MERGED | +2 | 0 |