Iframe paints a pair of transforms that change on move of paint invalidation container |
|||||||
Issue descriptionDetailed report: https://cluster-fuzz.appspot.com/testcase?key=4565897983557632 Fuzzer: mbarbella_js_mutation_layout Job Type: windows_asan_content_shell Platform Id: windows Crash Type: CHECK failure Crash Address: Crash State: false in PaintController.cpp blink::PaintController::checkUnderInvalidation blink::PaintController::processNewItem Regressed: https://cluster-fuzz.appspot.com/revisions?job=windows_asan_content_shell&range=419396:419475 Unminimized Testcase: https://cluster-fuzz.appspot.com/download/AMIfv970RgGdJjFVO-PS2oY1wTbCOD732tfpCPGqKGYBFvsjd5O5i45Ylk2opOu6lgifgisuDXMWRZTXwouLATkgEvaYWNedNW-OkuVACam_pz_NxEdNHyrz7tpaJRnOjLn0ZOgiJ40Zm9-cfyV55n3IE1RUmXsenA?testcase_id=4565897983557632 Issue manually filed by: brajkumar See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
,
Sep 22 2016
This "under-invalidation" is actually harmless. It's because we paint iframes with two transforms which each may change when the iframe moves but their combination doesn't change (which happens in the test case when the paint invalidation container of the iframe is moved):
Old:
{index: 2, client: "0x172a73e149c8 LayoutIFrame IFRAME", type: "BeginTransform", transform: [1.000000,0.000000,0.000000,1.000000,-49.000000,79.000000], cacheIsValid: true, visualRect: [0,0 154x204]},
{index: 3, client: "0x172a73e04388 LayoutView #document", type: "BeginTransform", transform: [1.000000,0.000000,0.000000,1.000000,51.000000,-77.000000], cacheIsValid: false, visualRect: [2,2 150x200]},
New:
{index: 2, client: "0x172a73e149c8 LayoutIFrame IFRAME", type: "BeginTransform", transform: [1.000000,0.000000,0.000000,1.000000,-49.000000,-221.000000], cacheIsValid: true},
{index: 3, client: "0x172a73e04388 LayoutView #document", type: "BeginTransform", transform: [1.000000,0.000000,0.000000,1.000000,51.000000,223.000000], cacheIsValid: false},
Both pair of transforms are effectively a transform of translate(2, 2).
Related code is at: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/paint/PartPainter.cpp?rcl=0&l=110.
Will check how this works and if the transforms are harmful on spv2.
,
Nov 22 2016
Removing EditIssue view restrictions from ClusterFuzz filed bugs. If you believe that this issue should still be restricted, please reapply the label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Dec 22 2016
ClusterFuzz testcase 4565897983557632 is flaky and no longer reproduces, so closing issue. If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
,
Dec 22 2016
,
Mar 16 2017
,
Oct 11 2017
It seems that we no longer generate the pair of translations for iframes. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by brajkumar@chromium.org
, Sep 21 2016Labels: -Type-Bug M-55 Te-Logged Type-Bug-Regression
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Untriaged)