Intermittent border-radius/intersecting-clipping-1-canvas.html, intersecting-clipping-1-refc.html | image comparison (==)

RESOLVED INCOMPLETE

Status

()

defect
P5
normal
RESOLVED INCOMPLETE
7 years ago
a year ago

People

(Reporter: emorley, Unassigned)

Tracking

({intermittent-failure})

Trunk
x86
Windows 7
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [leave open])

Attachments

(1 attachment)

(Reporter)

Description

7 years ago
Rev3 WINNT 6.1 mozilla-inbound pgo test reftest on 2012-08-06 20:45:39 PDT for push 0bd439a357b7

slave: talos-r3-w7-058

https://tbpl.mozilla.org/php/getParsedLog.php?id=14178209&tree=Mozilla-Inbound

{
REFTEST TEST-START | file:///c:/talos-slave/test/build/reftest/tests/layout/reftests/border-radius/intersecting-clipping-1-canvas.html | 1163 / 8111 (14%)
REFTEST TEST-START | file:///c:/talos-slave/test/build/reftest/tests/layout/reftests/border-radius/intersecting-clipping-1-refc.html | 1163 / 8111 (14%)
REFTEST TEST-UNEXPECTED-FAIL | file:///c:/talos-slave/test/build/reftest/tests/layout/reftests/border-radius/intersecting-clipping-1-canvas.html | image comparison (==)
REFTEST max difference: 199 number of differing pixels: 9
REFTEST INFO | Saved log: START file:///c:/talos-slave/test/build/reftest/tests/layout/reftests/border-radius/intersecting-clipping-1-canvas.html
REFTEST INFO | Saved log: [CONTENT] OnDocumentLoad triggering AfterOnLoadScripts
REFTEST INFO | Saved log: Initializing canvas snapshot
REFTEST INFO | Saved log: DoDrawWindow 0,0,800,1000
REFTEST INFO | Saved log: [CONTENT] RecordResult fired
REFTEST INFO | Saved log: RecordResult fired
REFTEST INFO | Saved log: START file:///c:/talos-slave/test/build/reftest/tests/layout/reftests/border-radius/intersecting-clipping-1-refc.html
REFTEST INFO | Saved log: [CONTENT] OnDocumentLoad triggering AfterOnLoadScripts
REFTEST INFO | Saved log: Initializing canvas snapshot
REFTEST INFO | Saved log: DoDrawWindow 0,0,800,1000
REFTEST INFO | Saved log: [CONTENT] RecordResult fired
REFTEST INFO | Saved log: RecordResult fired
}

{
REFTEST TEST-START | file:///c:/talos-slave/test/build/reftest/tests/layout/reftests/border-radius/intersecting-clipping-1-overflow-hidden.html | 1165 / 8111 (14%)
REFTEST TEST-START | file:///c:/talos-slave/test/build/reftest/tests/layout/reftests/border-radius/intersecting-clipping-1-ref.html | 1165 / 8111 (14%)
REFTEST TEST-PASS | file:///c:/talos-slave/test/build/reftest/tests/layout/reftests/border-radius/intersecting-clipping-1-overflow-hidden.html | image comparison (==)
REFTEST INFO | Loading a blank page
REFTEST TEST-PASS | file:///c:/talos-slave/test/build/reftest/tests/layout/reftests/border-radius/intersecting-clipping-1-refi.html | image comparison (==)
REFTEST INFO | Loading a blank page
REFTEST TEST-UNEXPECTED-FAIL | file:///c:/talos-slave/test/build/reftest/tests/layout/reftests/border-radius/intersecting-clipping-1-refc.html | image comparison (==)
REFTEST max difference: 255 number of differing pixels: 1234
}
Comment hidden (Legacy TBPL/Treeherder Robot)
This occurs when we create a mask layer backed by a D3D10 texture (via LayerManagerD3D10::CreateOptimalSurface), and then attempt to use it to draw a reftest snapshot with BasicLayers.

It seems like this should definitely work, but I've stepped through the cairo-d2d backend code, and nothing is obviously failing.

This is a workaround that forces us to use separate MaskLayers for each LayerManager backend type.

Sharing MaskLayers between multiple layer managers should be very rare outside of reftest, so this shouldn't affect real-world performance.
Attachment #651251 - Flags: review?(ncameron)
Comment on attachment 651251 [details] [diff] [review]
Only re-use mask layers for the same LayerManager backend type

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

lgtm
Attachment #651251 - Flags: review?(ncameron) → review+
Nick, can you try to figure out why this patch is needed? It shouldn't be needed. The cached ImageContainer should work with any layer manager. Apparently we have a bug in there somewhere, and we need to fix that bug.
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #4)
> Nick, can you try to figure out why this patch is needed? It shouldn't be
> needed. The cached ImageContainer should work with any layer manager.
> Apparently we have a bug in there somewhere, and we need to fix that bug.

Yep, I can look into it. I already discussed this with Matt who was playing with the debugger and pretty much exhausted my stock of ideas. He checked the surfaces were not failing anywhere and were OK types, it ends up with a D2D surface wrapped around a D3D10/DXGI surface getting passed to Cairo and being used as a Cairo/D2D surface, which you would hope would work out pretty well, but doesn't. He checked the pixels of the surface and they apparently looked right.

Anyway, I will file a bug and look into it.
Investigating in bug 782368.
Whiteboard: [orange][leave open] → [leave open]
This no longer seems to be an issue and I would like to undo the patch here (see https://bugzilla.mozilla.org/show_bug.cgi?id=782368#c6). We can redo this if we get any more intermittent orange.
(Reporter)

Comment 10

6 years ago
(In reply to Nick Cameron [:nrc] from comment #9)
> This no longer seems to be an issue 

Isn't the lack of TBPLbot comments here just an indication that the patch worked? Or has another landing made it redundant? :-)
(In reply to Ed Morley [UTC+0; email:edmorley@moco] from comment #10)
> (In reply to Nick Cameron [:nrc] from comment #9)
> > This no longer seems to be an issue 
> 
> Isn't the lack of TBPLbot comments here just an indication that the patch
> worked? Or has another landing made it redundant? :-)

Heh, no, I was referring to investigations I did in bug 782368, which were done without this patch. I assume another landing has made this redundant, but I wish I knew which one or knew it for sure.

Since I can't repro the problem and I could before, then I think it has gone away, but the only way to be sure is to backout the bandaid and see what happens.
(Reporter)

Comment 12

6 years ago
Ah; I'm happy to try then :-)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
I think all these errors are due to bug 732535, not this issue. I'll fix it after Christmas...
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Depends on: 824745
I filed bug 824745 for the new failures mentioned in comment 19.
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Depends on: 891255
Priority: -- → P5
(Reporter)

Comment 25

a year ago
Mass-closing old bugs I filed that have not had recent activity/no longer affect me.
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.