Assertion failure: aStart <= aEnd, at dom/media/Intervals.h:56, from mozilla::dom::TextTrackManager::TimeMarchesOn

RESOLVED FIXED in Firefox 49

Status

()

RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: dbaron, Assigned: bechen)

Tracking

({assertion, crash, regression})

Trunk
mozilla50
assertion, crash, regression
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox48 unaffected, firefox49 fixed, firefox50 fixed)

Details

(URL)

Attachments

(3 attachments)

I loaded http://www.khou.com/news/local/resident-uses-aquadam-to-protect-home-from-floodwaters/238455798 , paused the video at about 2 seconds in, skipped it to 10 seconds, and then unpaused and played the entire rest of the video.  When the video finished, I think it was starting to play a different video, but the content process crashed due to a fatal assertion.

Assertion failure: aStart <= aEnd, at /home/dbaron/builds/ssd/mozilla-central/mozilla/dom/media/Intervals.h:56

The key problem seems to be:

#5  0x00007f843d1a63d0 in <signal handler called> ()
    at /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f843997fd09 in mozilla::dom::TextTrackManager::TimeMarchesOn() (this=<optimized out>, __in_chrg=<optimized out>)
    at /home/dbaron/builds/ssd/mozilla-central/obj/firefox-debugopt/dist/include/mozilla/AlreadyAddRefed.h:101
#7  0x00007f843997fd09 in mozilla::dom::TextTrackManager::TimeMarchesOn() (this=0x9a8f6b0)
    at /home/dbaron/builds/ssd/mozilla-central/mozilla/dom/html/TextTrackManager.cpp:569
#8  0x00007f8439930216 in mozilla::dom::HTMLMediaElement::FireTimeUpdate(bool) (this=0x7b7fd30, aPeriodic=<optimized out>)
    at /home/dbaron/builds/ssd/mozilla-central/mozilla/dom/html/HTMLMediaElement.cpp:4848

(gdb) f 7
#7  mozilla::dom::TextTrackManager::TimeMarchesOn (this=0x9a8f6b0)
    at /home/dbaron/builds/ssd/mozilla-central/mozilla/dom/html/TextTrackManager.cpp:569
569	    otherCues = mNewCues->GetCueListByTimeInterval(interval);;
(gdb) p currentPlaybackTime
$1 = 0.0043990000000000001
(gdb) p mLastTimeMarchesOnCalled
$2 = 155.07811899999999

which looks like a regression from https://hg.mozilla.org/mozilla-central/rev/a12cd85eb79d0f93e62375f4731c6cbee82ce79e (bug 882718).
Flags: needinfo?(andrew.quartey)
And I'm running a 64-bit Linux debug build based on https://hg.mozilla.org/mozilla-central/rev/3ce53bd1e25b plus some of my local changes, but not including anything likely relevant here.

The code that's asserting is this call to the Interval constructor:

  // Populate otherCues with 'non-active" cues.
  if (hasNormalPlayback) {
    media::Interval<double> interval(mLastTimeMarchesOnCalled,
                                     currentPlaybackTime);
    otherCues = mNewCues->GetCueListByTimeInterval(interval);;
Flags: needinfo?(bechen)
(Assignee)

Updated

2 years ago
Flags: needinfo?(bechen)
See Also: → bug 1280192
(Assignee)

Updated

2 years ago
Flags: needinfo?(andrew.quartey)
(Assignee)

Comment 3

2 years ago
The comment 0 gdb shows that during these two timeupdate (155s the first video end and 0.004s the second video start), there is no seek operation, the crash at TextTrackManager::TimeMarchesOn().

After discussed with jw offline, I guess we need to notify the TextTrackManager at the end of video and the the AbortExistingLoads().
Assignee: nobody → bechen
(Assignee)

Comment 4

2 years ago
Created attachment 8763476 [details]
Bug 1280814 - Prevent the media::Interval crash due to the unexpected playback position.

Review commit: https://reviewboard.mozilla.org/r/59674/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/59674/
Attachment #8763476 - Flags: review?(giles)
Comment on attachment 8763476 [details]
Bug 1280814 - Prevent the media::Interval crash due to the unexpected playback position.

https://reviewboard.mozilla.org/r/59674/#review56726
Attachment #8763476 - Flags: review?(giles) → review+
(Assignee)

Updated

2 years ago
Keywords: checkin-needed

Comment 6

2 years ago
Pushed by cbook@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/0cefc193909c
Prevent the media::Interval crash due to the unexpected playback position. r=rillian
Keywords: checkin-needed

Comment 7

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/0cefc193909c
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox50: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
(Assignee)

Comment 8

2 years ago
Created attachment 8765347 [details] [diff] [review]
bug1280814aurora.patch

Approval Request Comment
[Feature/regressing bug #]: 882718
[User impact if declined]: video element might crash at debug build
[Describe test coverage new/current, TreeHerder]: current mochitest test_peerConnection_scaleResolution.html
[Risks and why]: low risk, fix crash.
[String/UUID change made/needed]: none
Attachment #8765347 - Flags: approval-mozilla-aurora?
Liz, 
Could you help approve the patch?
It is important due to bug 882718 comment 111.
Flags: needinfo?(lhenry)
Comment on attachment 8765347 [details] [diff] [review]
bug1280814aurora.patch

Crash fix, will help with web compat. Please uplift to aurora
Flags: needinfo?(lhenry)
Attachment #8765347 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
https://hg.mozilla.org/releases/mozilla-aurora/rev/3053d997f2e9
status-firefox49: affected → fixed
(Assignee)

Updated

2 years ago
See Also: → bug 1278479
(Assignee)

Updated

2 years ago
Depends on: 1294142
You need to log in before you can comment on or make changes to this bug.