Open Bug 1976929 Opened 3 months ago Updated 1 month ago

WebCodecs VideoDecoder frequent reset & close causes tab crash

Categories

(Core :: Audio/Video: Web Codecs, defect)

Firefox 140
x86_64
Windows 10
defect

Tracking

()

Tracking Status
firefox140 --- affected

People

(Reporter: andreas, Unassigned, NeedInfo)

References

(Blocks 1 open bug)

Details

Crash Data

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0

Steps to reproduce:

I have a wasm app that makes use of WebCodec for video decoding. Both upon close and reset of the VideoDecoder I experience tab crashes.

There's no actionable information in the log - my own logs indicate that close/reset is the last thing that happened.

I unfortunately do not have a minimal repro case at this point, but I have a build that repros it very well here:
https://rerun.io/viewer/pr/10590?url=https%3A%2F%2Fstatic.rerun.io%2Frrd%2F0.23.0%2Ftest_video_00d14499a43e355706609cb7f8f902e2b9718b71.rrd
After the application & file is loaded scrub on the timeline. This reliably repros the crash for me on Windows and I have reports from coworkers getting it on Linux as well.

Actual results:

Intermittent tab crashes, as far as I can tell from logs these happen right after a call to either close or reset

Something I forgot to mention: I haven't checked if the codec is relevant, but it's an H264 Annex B video in this case with codec string avc1.640015

I was able to reproduce the tab crash on Win11x64 using Firefox build 140.0.4 and the link from description (https://rerun.io/viewer/pr/10590?url=https%3A%2F%2Fstatic.rerun.io%2Frrd%2F0.23.0%2Ftest_video_00d14499a43e355706609cb7f8f902e2b9718b71.rrd)
Mark issue as new for engineering input. Thank you.

Status: UNCONFIRMED → NEW
Component: Untriaged → General
Ever confirmed: true
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64
Component: General → Audio/Video: Web Codecs
Product: Firefox → Core

The severity field is not set for this bug.
:padenot, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(padenot)

Reporter, thanks for filing!

Would you mind getting us a couple of those crashes from about:crashes, and paste them here? This will get us stacks so we can assign the right person to look into this. Usually we can match them up by time it occurred. Thanks!

Flags: needinfo?(padenot) → needinfo?(andreas)

Chun-Min, something funny with promises in the `MediaChangeMonitor```, can you have a look

Crash Signature: @ mozilla::MediaChangeMonitor::CreateDecoderAndInit::<T>::operator() @ mozilla::MediaChangeMonitor::DecodeFirstSample::<T>::operator()
Flags: needinfo?(cchang)
Crash Signature: @ mozilla::MediaChangeMonitor::CreateDecoderAndInit::<T>::operator() @ mozilla::MediaChangeMonitor::DecodeFirstSample::<T>::operator() → mozilla::MediaChangeMonitor::CreateDecoderAndInit::<T>::operator() mozilla::MediaChangeMonitor::DecodeFirstSample::<T>::operator()
Crash Signature: mozilla::MediaChangeMonitor::CreateDecoderAndInit::<T>::operator() mozilla::MediaChangeMonitor::DecodeFirstSample::<T>::operator() → [ @ mozilla::MediaChangeMonitor::CreateDecoderAndInit::<T>::operator() ] [ @ mozilla::MediaChangeMonitor::DecodeFirstSample::<T>::operator() ]
Crash Signature: [ @ mozilla::MediaChangeMonitor::CreateDecoderAndInit::<T>::operator() ] [ @ mozilla::MediaChangeMonitor::DecodeFirstSample::<T>::operator() ] → [@ mozilla::MediaChangeMonitor::CreateDecoderAndInit::<T>::operator() ] [@ mozilla::MediaChangeMonitor::DecodeFirstSample::<T>::operator() ]
Blocks: VideoDecoder
Flags: needinfo?(cchang)
Flags: needinfo?(cchang)
You need to log in before you can comment on or make changes to this bug.