Closed Bug 1532290 Opened 4 years ago Closed 2 years ago

MOZ_RELEASE_ASSERT(mStart <= mEnd) (Invalid Interval) failure in [@ mozilla::WebMDemuxer::GetBuffered]


(Core :: Audio/Video: Playback, defect, P2)

Windows 10



Tracking Status
firefox67 --- wontfix
firefox68 --- wontfix
firefox69 --- fix-optional


(Reporter: marcia, Unassigned)



(Keywords: crash, regression)

Crash Data

This bug is for crash report bp-8bebc394-697a-4649-8d7b-fb0e00190303.

Seen while looking at nightly crash stats:

Crashes started in Build 20190301201651. Possible regression range based on Build ID:

Top 10 frames of crashing thread:

0 xul.dll class mozilla::media::TimeIntervals mozilla::WebMDemuxer::GetBuffered dom/media/webm/WebMDemuxer.cpp:949
1 xul.dll class mozilla::media::TimeIntervals mozilla::WebMTrackDemuxer::GetBuffered dom/media/webm/WebMDemuxer.cpp:1225
2 xul.dll void mozilla::WebMTrackDemuxer::Reset dom/media/webm/WebMDemuxer.cpp:1159
3 xul.dll nsresult mozilla::detail::RunnableFunction<`lambda at z:/task_1551475619/build/src/dom/media/MediaFormatReader.cpp:800:9'>::Run xpcom/threads/nsThreadUtils.h:562
4 xul.dll nsresult mozilla::TaskQueue::Runner::Run xpcom/threads/TaskQueue.cpp:199
5 xul.dll nsresult nsThreadPool::Run xpcom/threads/nsThreadPool.cpp:241
6 xul.dll nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:1166
7 xul.dll NS_ProcessNextEvent xpcom/threads/nsThreadUtils.cpp:482
8 xul.dll mozilla::ipc::MessagePumpForNonMainThreads::Run ipc/glue/MessagePump.cpp:333
9 xul.dll MessageLoop::RunHandler ipc/chromium/src/base/

Blocks: 1530322
Flags: needinfo?(jyavenard)
Priority: -- → P1
Summary: Crash in [@ mozilla::WebMDemuxer::GetBuffered] → MOZ_RELEASE_ASSERT(mStart <= mEnd) (Invalid Interval) failure in [@ mozilla::WebMDemuxer::GetBuffered]

Some stacks are in MediaFormatReader::DemuxerProxy::Wrapper::UpdateBuffered(). e.g.

This is not P1, there's max one a day, and will only crash in nightly

Flags: needinfo?(jyavenard)
Priority: P1 → P2

Marking as fix-optional for 67 given the very low volume of crashes. I'd take a safe uplift in early beta if a fix comes up.

Bulk change for all regression bugs with status-firefox67 as 'fix-optional' to be marked 'affected' for status-firefox68.

Crash Signature: [@ mozilla::WebMDemuxer::GetBuffered] → [@ mozilla::WebMDemuxer::GetBuffered] [@ mozilla::WebMTrackDemuxer::GetBuffered]

jya: we're seeing crashes in beta for this one. Do you have any updates?

Flags: needinfo?(jyavenard)

No crashes seen on 66, so this seems to be a regression introduced in 67 beta.

the crashstack in the original report is nonsensical (it can't crash where it says it does).

The assertion is a diagnostic assert, it won't crash in release.

Flags: needinfo?(jyavenard)
See Also: → 1530897

I'm fairly confident this is bug 1530897. As noted in comment 7, the crash stacks appear nonsensical as we're crashing on a line that constructs an empty interval[0]. I observed the same issue while debugging bug 1530897 locally, and this it's down to code optimization and symbolization. While it looks like we're returning an empty interval, it's actually that we're returning a non empty interval constructed in the later lines of code, and that the opt + symbolization has merged the return paths and shows the earlier one.


Closed: 2 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.