Closed
Bug 1305672
Opened 8 years ago
Closed 8 years ago
Assertion failure: aStart <= aEnd, mozilla::MediaDecoderStateMachine::HasLowBufferedData
Categories
(Core :: Audio/Video: Playback, defect)
Core
Audio/Video: Playback
Tracking
()
RESOLVED
FIXED
mozilla52
Tracking | Status | |
---|---|---|
firefox52 | --- | fixed |
People
(Reporter: jya, Assigned: jya)
References
Details
(Keywords: regression)
Attachments
(1 file)
Assertion failure: aStart <= aEnd, at c:\users\jyavenard\work\mozilla\mozilla-central\obj-x86_64-pc-mingw32\dist\include\Intervals.h:56
#01: mozilla::MediaDecoderStateMachine::HasLowBufferedData (c:\users\jyavenard\work\mozilla\mozilla-central\dom\media\mediadecoderstatemachine.cpp:2391)
#02: mozilla::MediaDecoderStateMachine::HasLowBufferedData (c:\users\jyavenard\work\mozilla\mozilla-central\dom\media\mediadecoderstatemachine.cpp:2346)
#03: mozilla::MediaDecoderStateMachine::NeedToSkipToNextKeyframe (c:\users\jyavenard\work\mozilla\mozilla-central\dom\media\mediadecoderstatemachine.cpp:1028)
#04: mozilla::MediaDecoderStateMachine::RequestVideoData (c:\users\jyavenard\work\mozilla\mozilla-central\dom\media\mediadecoderstatemachine.cpp:2280)
#05: mozilla::MediaDecoderStateMachine::EnsureVideoDecodeTaskQueued (c:\users\jyavenard\work\mozilla\mozilla-central\dom\media\mediadecoderstatemachine.cpp:2272)
#06: mozilla::MediaDecoderStateMachine::DispatchVideoDecodeTaskIfNeeded (c:\users\jyavenard\work\mozilla\mozilla-central\dom\media\mediadecoderstatemachine.cpp:2248)
#07: mozilla::MediaDecoderStateMachine::OnVideoPopped (c:\users\jyavenard\work\mozilla\mozilla-central\dom\media\mediadecoderstatemachine.cpp:1137)
#08: <lambda_564b2560bf46c3b2e200296a59d339c3>::operator() (c:\users\jyavenard\work\mozilla\mozilla-central\obj-x86_64-pc-mingw32\dist\include\mediaeventsource.h:437)
#09: mozilla::detail::ListenerHelper<1,mozilla::AbstractThread,<lambda_564b2560bf46c3b2e200296a59d339c3> >::R<RefPtr<mozilla::MediaData> const & __ptr64>::Invoke<RefPtr<mozilla::MediaData>,0> (c:\users\jyavenard\work\mozilla\mozilla-central\obj-x86_64-pc-mingw32\dist\include\mediaeventsource.h:178)
#10: mozilla::detail::ListenerHelper<1,mozilla::AbstractThread,<lambda_564b2560bf46c3b2e200296a59d339c3> >::R<RefPtr<mozilla::MediaData> const & __ptr64>::Run (c:\users\jyavenard\work\mozilla\mozilla-central\obj-x86_64-pc-mingw32\dist\include\mediaeventsource.h:185)
#11: mozilla::AutoTaskDispatcher::TaskGroupRunnable::Run (c:\users\jyavenard\work\mozilla\mozilla-central\obj-x86_64-pc-mingw32\dist\include\mozilla\taskdispatcher.h:195)
#12: mozilla::TaskQueue::Runner::Run (c:\users\jyavenard\work\mozilla\mozilla-central\xpcom\threads\taskqueue.cpp:237)
#13: nsThreadPool::Run (c:\users\jyavenard\work\mozilla\mozilla-central\xpcom\threads\nsthreadpool.cpp:227)
#14: nsThread::ProcessNextEvent (c:\users\jyavenard\work\mozilla\mozilla-central\xpcom\threads\nsthread.cpp:1082)
#15: NS_ProcessNextEvent (c:\users\jyavenard\work\mozilla\mozilla-central\xpcom\glue\nsthreadutils.cpp:290)
#16: mozilla::ipc::MessagePumpForNonMainThreads::Run (c:\users\jyavenard\work\mozilla\mozilla-central\ipc\glue\messagepump.cpp:338)
#17: MessageLoop::RunInternal (c:\users\jyavenard\work\mozilla\mozilla-central\ipc\chromium\src\base\message_loop.cc:233)
#18: MessageLoop::RunHandler (c:\users\jyavenard\work\mozilla\mozilla-central\ipc\chromium\src\base\message_loop.cc:226)
#19: MessageLoop::Run (c:\users\jyavenard\work\mozilla\mozilla-central\ipc\chromium\src\base\message_loop.cc:206)
#20: nsThread::ThreadFunc (c:\users\jyavenard\work\mozilla\mozilla-central\xpcom\threads\nsthread.cpp:467)
#21: _PR_NativeRunThread (c:\users\jyavenard\work\mozilla\mozilla-central\nsprpub\pr\src\threads\combined\pruthr.c:406)
#22: pr_root (c:\users\jyavenard\work\mozilla\mozilla-central\nsprpub\pr\src\md\windows\w95thred.c:96)
#23: o__realloc_base[C:\WINDOWS\System32\ucrtbase.dll +0x1cab0]
#24: BaseThreadInitThunk[C:\WINDOWS\System32\KERNEL32.DLL +0x8364]
#25: RtlUserThreadStart[C:\WINDOWS\SYSTEM32\ntdll.dll +0x65e91]
context:
aUsecs 5000000 __int64
end 6997798 __int64
+ interval {mStart={mValue={mValue=22000000 mIsValid=true } } mEnd={mValue={mValue=6997798 mIsValid=true } } mFuzz=...} mozilla::media::Interval<mozilla::media::TimeUnit>
+ mBuffered {mImpl={mRawPtr=0x0000013e84f1d120 {mValue={...} mCanonical={mRawPtr=0x0000013e821a6010 {mValue={...} ...} } } } } mozilla::Mirror<mozilla::media::TimeIntervals>
start 22000000 __int64
Assignee | ||
Comment 1•8 years ago
|
||
The issue seems to have been intrdouced in bug 1302045
the commit message states " Check if we have [GetMediaTime(), GetMediaTime() + aUsecs] in the buffer ranges to decide whether we are in low buffered data"
but at a glance, this isn't what the code is doing...
it checks that [endOfDecodeData, GetMediaTime()+aUsecs] is in the buffered range.
so either something is wrong in the comment, or it's the code
Assignee | ||
Comment 2•8 years ago
|
||
The assertion will occur if the duration of the frames decoded and queued by the MDSM is greater than LOW_DATA_THRESHOLD_USECS = 5000000.
If so, GetMediaTime() + aUsecs will be less than endOfDecodedData
The video available at bug 1301869 will trigger it (each frame but the first is 2s long)
Assignee | ||
Updated•8 years ago
|
Keywords: regression
Comment hidden (mozreview-request) |
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → jyavenard
Comment 4•8 years ago
|
||
mozreview-review |
Comment on attachment 8795720 [details]
Bug 1305672: Prevent assertion.
https://reviewboard.mozilla.org/r/81694/#review80518
Doh!
Attachment #8795720 -
Flags: review?(jwwang) → review+
Pushed by jyavenard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b33de2e876d6
Prevent assertion. r=jwwang
Comment 6•8 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox52:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
Updated•8 years ago
|
Version: unspecified → Trunk
You need to log in
before you can comment on or make changes to this bug.
Description
•