Closed Bug 1128229 Opened 5 years ago Closed 3 days ago

Add fuzzy annotations to Android and Windows test failures caused by failure to call imgFrame::Optimize before the reftest snapshot is taken

Categories

(Core :: ImageLib, defect)

defect
Not set

Tracking

()

RESOLVED INACTIVE
mozilla38
Tracking Status
firefox36 --- fixed
firefox37 --- fixed
firefox38 --- fixed

People

(Reporter: seth, Unassigned)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

We have a number of Android intermittent failures right now that are caused by a failure to call imgFrame::Optimize() before the reftest snapshot is taken. (The issue is generally that we use the same image in the test and the reference, and we end up calling Optimize() for one but not the other.) The important ones I know about are:

- layout/reftests/w3c-css/submitted/ui3/box-sizing-replaced-002.xht
- layout/reftests/w3c-css/submitted/ui3/box-sizing-replaced-003.xht
- layout/reftests/text-overflow/marker-basic.html
- layout/reftests/bugs/407111-1.html

Bug 1128225 is impressively effective at turning these intermittent failures into permanent failures; this is presumably because it changes when we perceive an image to be "complete". (In other words, when we no longer feel that we have to sync decode for the reftest snapshot.) Previous to bug 1128225, this was determined by imgIContainer::IsDecoded(), which was determined by the value of RasterImage::mHasBeenDecoded, which got set in RasterImage::DecodingComplete() on the main thread sometime after the image was decoded, making it more likely that we'd have already optimized the image's imgFrame. After bug 1128225, we consider the image to be complete when we draw it successfully, which is determined by (among other things) imgFrame::IsImageComplete() returning true, which can happen well before the imgFrame gets optimized.

The change in behavior in bug 1128225 is not wrong; imgFrame::Optimize() should be an optimization, but we should not depend on it for correctness. We should therefore mark these tests fuzzy.

I do plan to eventually start calling imgFrame::Optimize() off-main-thread; it's possible, but in practice several things block it. When we start doing that, we will be able to remove these fuzzy annotations.

(Note that we also have issues with this problem on Windows; see e.g. bug 1126530. Bug 1128225 doesn't seem to change timing so much on Windows, though, so for now I'm mostly worried about Android.)
Blocks: 1059123
Blocks: 1084266
Blocks: 1114630
This is purely a fuzzyness tweak, so I think this can go ahead and land without review. Pushed:

https://hg.mozilla.org/integration/mozilla-inbound/rev/5903bcfa581c
https://hg.mozilla.org/mozilla-central/rev/5903bcfa581c
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
You meant to have this be leave-open, since you want to come back and remove these annotations (and you don't want scripts that look for manifest comments which refer to closed bugs yelling at you, either).

You also want to be reminded of https://hg.mozilla.org/integration/mozilla-inbound/rev/dc9aad9b9ce1 as being the same sort of annotation.
Status: RESOLVED → REOPENED
Keywords: leave-open
Resolution: FIXED → ---
Summary: Add fuzzy annotations to Android test failures caused by failure to call imgFrame::Optimize before the reftest snapshot is taken → Add fuzzy annotations to Android and Windows test failures caused by failure to call imgFrame::Optimize before the reftest snapshot is taken
Bug 1125490 and bug 1128769 revealed more tests that suffer from the same issue, so I pushed another round of fuzzification:

https://hg.mozilla.org/integration/mozilla-inbound/rev/393838728c27
Blocks: 1125490
Blocks: 853273, 1126530
No longer blocks: 1125490
See Also: 1126530
Blocks: 1125490
Pushed a followup because layout/reftests/w3c-css/submitted/ui3/box-sizing-replaced-002.xht wasn't quite fuzzy enough:

https://hg.mozilla.org/integration/mozilla-inbound/rev/469ff237d9c5
Blocks: 943863
Pushed even more fuzz for layout/reftests/w3c-css/submitted/ui3/box-sizing-replaced-002.xht. It seems to vary a lot, probably because it contains lots and lots of images.

https://hg.mozilla.org/integration/mozilla-inbound/rev/b6393809e286
See Also: → 1019840
Blocks: 1146002
See Also: → 1174923
Blocks: 1172123
See Also: → 1220052
The leave-open keyword is there and there is no activity for 6 months.
:aosmond, maybe it's time to close this bug?
Flags: needinfo?(aosmond)

The leave-open keyword is there and there is no activity for 6 months.
:aosmond, maybe it's time to close this bug?

Flags: needinfo?(aosmond)
Assignee: seth.bugzilla → nobody
Keywords: feature
Status: REOPENED → RESOLVED
Closed: 5 years ago3 days ago
Flags: needinfo?(aosmond)
Keywords: leave-open
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.