Fatal assert releasing WebMBufferedState off mainthread playing YouTube

RESOLVED DUPLICATE of bug 1025770

Status

()

Core
Audio/Video
RESOLVED DUPLICATE of bug 1025770
4 years ago
4 years ago

People

(Reporter: cpearce, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

4 years ago
We're hitting a fatal assert playing YouTube videos. It's caused by WebMBufferedState being released by WebMReader's dtor on the media decode task queue:

Hit MOZ_CRASH(WebMBufferedState not thread-safe) at c:\users\chris\src\mozilla\central\content\media\webm\WebMBufferedParser.h:187
nsRefPtr<mozilla::WebMBufferedState>::~nsRefPtr<mozilla::WebMBufferedTState>+0x0000001A [xul +0x000000000290306A] (c:\users\chris\src\mozilla\central\objdir\dist\include\nsautoptr.h, line 872)
mozilla::WebMReader::~WebMReader+0x000000E0 [xul +0x00000000001BC8A0] (c:\users\chris\src\mozilla\central\content\media\webm\webmreader.cpp, line 200)
mozilla::WebMReader::`scalar deleting destructor'+0x0000000F [xul +0x00000000028FF40F]
mozilla::MediaDecoderReader::Release+0x00000099 [xul +0x00000000028641D9] (c:\users\chris\src\mozilla\central\content\media\mediadecoderreader.h, line 32)
[1704] WARNING: Subdocument container has no presshell: file c:/Users/Chris/src/mozilla/central/layout/base/nsDocumentViewer.cpp, line 2492
nsRefPtr<mozilla::MediaDecoderReader>::~nsRefPtr<mozilla::MediaDecoderReader>+0x0000001A [xul +0x000000000286412A] (c:\users\chris\src\mozilla\central\objdir\dist\include\nsautoptr.h, line 872)
++DOMWINDOW == 38mo z(i1lDl9aB:2:2R0e0q)u e[sptiVdi d=e oW1i7t0h4S]k i[psTearsika:l: ~=Re q5u4e]s t[VoiudteeoWri t=h S1kCi7pDTAa8s0k0+]0
00000012 [xul +0x000000000282E792]
mozilla::RequestVideoWithSkipTask::`scalar deleting destructor'+0x0000000F [xul +0x000000000282E74F]
nsRunnable::Release+0x00000158 [xul +0x00000000001DD948] (c:\users\chris\src\mozilla\central\xpcom\glue\nsthreadutils.cpp, line 32)
mozilla::RefPtr<nsIRunnable>::unref+0x00000017 [xul +0x0000000002869FD7] (c:\users\chris\src\mozilla\central\objdir\dist\include\mozilla\refptr.h, line 284)
mozilla::RefPtr<nsIRunnable>::assign+0x00000012 [xul +0x0000000002869F72] (c:\users\chris\src\mozilla\central\objdir\dist\include\mozilla\refptr.h, line 269)
mozilla::RefPtr<nsIRunnable>::operator=+0x0000001C [xul +0x0000000002862C3C] (c:\users\chris\src\mozilla\central\objdir\dist\include\mozilla\refptr.h, line 245)
mozilla::MediaTaskQueue::Runner::Run+0x00000182 [xul +0x0000000002859892] (c:\users\chris\src\mozilla\central\content\media\mediataskqueue.cpp, line 137)
nsThreadPool::Run+0x000002B2 [xul +0x00000000002BB662] (c:\users\chris\src\mozilla\central\xpcom\threads\nsthreadpool.cpp, line 219)
nsThread::ProcessNextEvent+0x0000038F [xul +0x00000000002B870F] (c:\users\chris\src\mozilla\central\xpcom\threads\nsthread.cpp, line 766)
NS_ProcessNextEvent+0x00000058 [xul +0x00000000001DE3D8] (c:\users\chris\src\mozilla\central\xpcom\glue\nsthreadutils.cpp, line 263)
mozilla::ipc::MessagePumpForNonMainThreads::Run+0x000001EF [xul +0x00000000007A3B1F] (c:\users\chris\src\mozilla\central\ipc\glue\messagepump.cpp, line 307)
MessageLoop::RunInternal+0x0000004E [xul +0x000000000072398E] (c:\users\chris\src\mozilla\central\ipc\chromium\src\base\message_loop.cc, line 230)
MessageLoop::RunHandler+0x00000082 [xul +0x00000000007238B2] (c:\users\chris\src\mozilla\central\ipc\chromium\src\base\message_loop.cc, line 223)
MessageLoop::Run+0x0000001D [xul +0x00000000007237BD] (c:\users\chris\src\mozilla\central\ipc\chromium\src\base\message_loop.cc, line 197)
nsThread::ThreadFunc+0x00000118 [xul +0x00000000002B6FB8] (c:\users\chris\src\mozilla\central\xpcom\threads\nsthread.cpp, line 353)
_PR_NativeRunThread+0x000000DB [nss3 +0x00000000001E322B] (c:\users\chris\src\mozilla\central\nsprpub\pr\src\threads\combined\pruthr.c, line 397)
pr_root+0x00000019 [nss3 +0x00000000001CAE59] (c:\users\chris\src\mozilla\central\nsprpub\pr\src\md\windows\w95thred.c, line 90)
endthreadex+0x0000003A [MSVCR100 +0x000000000005C556]
endthreadex+0x000000E4 [MSVCR100 +0x000000000005C600]
BaseThreadInitThunk+0x0000000E [KERNEL32 +0x000000000001919F]
RtlInitializeExceptionChain+0x00000084 [ntdll +0x000000000004A22B]
RtlInitializeExceptionChain+0x0000005A [ntdll +0x000000000004A201]

I have MSE enbled, but I'm not actually sure if that's being used here.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1025770
You need to log in before you can comment on or make changes to this bug.