The default bug view has changed. See this FAQ.

Assertion failure in nsSMILAnimationFunction::ComputePacedPosition when doing paced animation between identical values

RESOLVED FIXED in mozilla10

Status

()

Core
SVG
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: Jesse Ruderman, Assigned: dholbert)

Tracking

({assertion, testcase})

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

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(4 attachments, 1 obsolete attachment)

(Reporter)

Description

6 years ago
Created attachment 571554 [details]
testcase (see comment 0)

With
  user_pref("browser.display.use_document_colors", false);
this testcase triggers

###!!! ASSERTION: shouldn't complete loop & get here -- if we do, then aSimpleProgress was probably out of bounds: 'Not Reached', file content/smil/nsSMILAnimationFunction.cpp, line 616

(Reduced from layout/reftests/svg/smil/style/anim-css-color-2-paced-rgb.svg)
(Reporter)

Comment 1

6 years ago
Created attachment 571556 [details]
stack trace
(Assignee)

Comment 2

6 years ago
Created attachment 571696 [details]
testcase 2

Looks like we're hitting this because the distances between the list-values are all 0, so we never hit the return clause inside the loop.

Here's a simpler testcase animating "x".  This one only triggers the assertion once per simple-duration, so I've added a fancy repeating 'begin' attr to make it fire once per second.
(Assignee)

Comment 3

6 years ago
(fixing summary. note that the assertion-failure is actually inside of ComputePacedPosition)
Summary: Assertion failure in nsSMILAnimationFunction::InterpolateResult when document colors are disabled → Assertion failure in nsSMILAnimationFunction::ComputePacedPosition when doing paced animation between identical values
(Assignee)

Comment 4

6 years ago
Created attachment 571727 [details] [diff] [review]
fix
Attachment #571727 - Flags: review?(birtles)
(Assignee)

Updated

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

Comment 5

6 years ago
Created attachment 571747 [details] [diff] [review]
fix (now with crashtest)

Here's the patch again, now with a crashtest based off of testcase 2 (so as not to need any about:config-pref-tweaking).

I verified that the crashtest fails (due to unexpected assertion) inside the crashtest harness, but passes once the fix is applied.
Attachment #571727 - Attachment is obsolete: true
Attachment #571727 - Flags: review?(birtles)
Attachment #571747 - Flags: review?(birtles)
(Assignee)

Updated

6 years ago
Status: NEW → ASSIGNED
Comment on attachment 571747 [details] [diff] [review]
fix (now with crashtest)

Review of attachment 571747 [details] [diff] [review]:
-----------------------------------------------------------------

Looks great. Thanks Daniel!
Attachment #571747 - Flags: review?(birtles) → review+
(Assignee)

Comment 7

6 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/22b16b552828
Flags: in-testsuite+
Target Milestone: --- → mozilla10
https://hg.mozilla.org/mozilla-central/rev/22b16b552828
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.