SVG/SMIL: Compose mapped attributes before the corresponding property

RESOLVED INACTIVE

Status

()

Core
SVG
RESOLVED INACTIVE
8 years ago
9 hours ago

People

(Reporter: roc, Unassigned)

Tracking

Trunk
x86
All
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

REFTEST TEST-UNEXPECTED-FAIL | file:///e:/builds/moz2_slave/mozilla-central-win32-opt-unittest-reftest/build/reftest/tests/layout/reftests/svg/smil/mapped-attr-vs-css-prop-1.svg |

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1268794062.1268794888.23764.gz
and again on mac:
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1268797345.1268798680.32080.gz

I'll mark the test as random for now & investigate.

One clue: so far, the failures have been opt-only (though there have been green opt cycles too).

I'm guessing that the final setCurrentTime (in setTimeAndSnapshot) isn't flushing correctly for mapped-attrs, and that leaves the reftest snapshot out-of-date.
Summary: random timeout in SVG mapped attributes test → random failure in SVG/SMIL mapped attributes test
(the test is set up as a grid)
 * All three logs so far are too dark @ 1st row, 4th col
 * The log from comment 1 is also too dark @ 1st row, 3rd col.

I think I know what's going on.  As described in the log, the attributeType="XML" animation should affect the base value of the attributeType="CSS" animation.  However, if our random hashtable-iteration-order has us compose the attributeType="CSS" animation first, then it will be using out-of-date computedStyle for its base value.

So, to fix this, we need to make sure to compose mapped-attributes before their CSS counterparts.
(In reply to comment #3)
> I think I know what's going on.  As described in the log
er, I mean "as described in the test"
Marked test as random for now:
http://hg.mozilla.org/mozilla-central/rev/9f009849b690
Blocks: 534028
Summary: random failure in SVG/SMIL mapped attributes test → random failure in SVG/SMIL mapped attributes test, mapped-attr-vs-css-prop-1.svg
Re-enabled test with (I think) a workaround:
  http://hg.mozilla.org/mozilla-central/rev/1024d83e7661

I tweaked the onload handler, adding a (hacky) duplicate setCurrentTime() before the setTimeAndSnapshot call.  The new setCurrentTime() call will force a synchronous sample, which will update the animated value of the mapped attribute, so that it's up-to-date when we get to the call to setTimeAndSnapshot (and the sample that happens there).

So if comment 3 is correct, this should work around the problem.
Depends on: 501183

Updated

8 years ago
Blocks: 438871
Updating bug summary with the actual problem here (per comment 3 / bug 501183 comment 1), and unassigning myself for now.
Assignee: dholbert → nobody
Summary: random failure in SVG/SMIL mapped attributes test, mapped-attr-vs-css-prop-1.svg → SVG/SMIL: Compose mapped attributes before the corresponding property
Whiteboard: [orange]

Updated

7 years ago
No longer blocks: 438871

Comment 8

9 hours ago
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Last Resolved: 9 hours ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.