The default bug view has changed. See this FAQ.

"ABORT: Shouldn't have current interval in startup or postactive states"

RESOLVED FIXED in mozilla9

Status

()

Core
SVG
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: Jesse Ruderman, Assigned: birtles)

Tracking

(Blocks: 1 bug, {assertion, testcase})

Trunk
mozilla9
assertion, testcase
Points:
---
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments)

(Reporter)

Description

6 years ago
Created attachment 553115 [details]
testcase (asserts fatally when loaded)

###!!! ABORT: Shouldn't have current interval in startup or postactive states: '!mCurrentInterval', file content/smil/nsSMILTimedElement.cpp, line 576
(Reporter)

Comment 1

6 years ago
Created attachment 553116 [details]
stack trace
(Reporter)

Comment 2

6 years ago
Harmless in opt
(Assignee)

Updated

6 years ago
Assignee: nobody → birtles
Status: NEW → ASSIGNED
(Assignee)

Updated

6 years ago
OS: Mac OS X → All
Hardware: x86_64 → All
(Assignee)

Comment 3

6 years ago
Created attachment 557068 [details] [diff] [review]
Patch v1a

Proposed patch with testcase

The problem is we were calling Rewind -> ClearIntervals -> ResetCurrentInterval

Inside ResetCurrentInterval, when we unlink the current interval, we can get callbacks that actually set the current interval again, right after we cleared it. That is, there is no guarantee that at the end of a call to ResetCurrentInterval, mCurrentInterval will be nsnull, just that the previously-current interval (if any) will have been cleared. Likewise for ClearIntervals.

However, Rewind was assuming that mCurrentInterval would be nsnull. That was probably valid a while back since when we were setting mElementState to STATE_STARTUP in advance since so long as we're in the startup state we won't bother updating the current interval and mCurrentInterval will stay nsnull. However, when we refactored out ClearIntervals we made it change the state to STATE_POSTACTIVE which meant that assumption no longer held.
(http://hg.mozilla.org/mozilla-central/rev/6dffbe5e1b5f)

For now, I've made it set the state to STATE_STARTUP before clearing the intervals so we'll ignore any attempts to update the current interval from that point on.
Attachment #557068 - Flags: review?(dholbert)
(Assignee)

Comment 4

6 years ago
By the way, I reshuffled a couple of lines in content/smil/crashtests/crashtests.list because the numbering got out of sequence somehow. I just thought I'd fix it while I was already touching that file.
Attachment #557068 - Flags: review?(dholbert) → review+
(Assignee)

Comment 5

6 years ago
Pushed to m-i:
http://hg.mozilla.org/integration/mozilla-inbound/rev/b6608d4de5f7
Whiteboard: [inbound]
http://hg.mozilla.org/mozilla-central/rev/b6608d4de5f7
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Whiteboard: [inbound]
Target Milestone: --- → mozilla9
(Assignee)

Updated

6 years ago
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.