Closed Bug 1316654 Opened 3 years ago Closed 3 years ago

5,300 bogus instances of "Not backed by pixels - we need to handle PDF backed SkCanvas" emitted from gfx/2d/DrawTargetSkia.cpp during linux64 debug testing

Categories

(Core :: Graphics, defect, P5)

defect

Tracking

()

RESOLVED FIXED
mozilla53
Tracking Status
firefox52 --- fixed
firefox53 --- fixed

People

(Reporter: erahm, Assigned: jwatt)

References

(Blocks 1 open bug)

Details

(Whiteboard: [gfx-noted])

Attachments

(1 file, 1 obsolete file)

> 5349 WARNING: Not backed by pixels - we need to handle PDF backed SkCanvas: file gfx/2d/DrawTargetSkia.cpp, line 1577

This warning [1] shows up in the following test suites:

>    677 - desktop-test-linux64/debug-reftest-no-accel-e10s-7 Ru7
>    413 - desktop-test-linux64/debug-reftest-no-accel-4 Ru4
>    400 - desktop-test-linux64/debug-reftest-4 R4
>    375 - desktop-test-linux64/debug-reftest-no-accel-e10s-4 Ru4
>    353 - desktop-test-linux64/debug-reftest-e10s-4 R4
>    281 - desktop-test-linux64/debug-reftest-e10s-7 R7
>    256 - desktop-test-linux64/debug-reftest-e10s-1 R1
>    249 - desktop-test-linux64/debug-reftest-no-accel-e10s-1 Ru1
>    246 - desktop-test-linux64/debug-reftest-1 R1
>    242 - desktop-test-linux64/debug-reftest-no-accel-1 Ru1
>    220 - desktop-test-linux64/debug-mochitest-3 3
>    220 - desktop-test-linux64/debug-mochitest-e10s-2 2
>    151 - desktop-test-linux64/debug-reftest-7 R7
>    151 - desktop-test-linux64/debug-reftest-no-accel-7 Ru7
>    103 - desktop-test-linux64/debug-firefox-ui-functional-local-e10s en-US
>     61 - desktop-test-linux64/debug-mochitest-jetpack JP
>     53 - desktop-test-linux64/debug-mochitest-browser-chrome-5 bc5
>     51 - desktop-test-linux64/debug-web-platform-tests-1 1
>     51 - desktop-test-linux64/debug-web-platform-tests-e10s-1 1
>     48 - desktop-test-linux64/debug-web-platform-tests-e10s-5 5
>     42 - desktop-test-linux64/debug-reftest-8 R8
>     42 - desktop-test-linux64/debug-reftest-no-accel-8 Ru8
>     42 - desktop-test-linux64/debug-reftest-no-accel-e10s-8 Ru8
>     42 - desktop-test-linux64/debug-reftest-e10s-8 R8
>     41 - desktop-test-linux64/debug-mochitest-browser-chrome-e10s-2 bc2
>     35 - desktop-test-linux64/debug-mochitest-webgl-e10s-3 gl3
>     35 - desktop-test-linux64/debug-mochitest-webgl-3 gl3
>     34 - desktop-test-linux64/debug-mochitest-devtools-chrome-6 dt6
>     30 - desktop-test-linux64/debug-crashtest-e10s C
>     30 - desktop-test-linux64/debug-crashtest C
>     25 - desktop-test-linux64/debug-reftest-no-accel-3 Ru3
>     23 - desktop-test-linux64/debug-reftest-e10s-3 R3
>     23 - desktop-test-linux64/debug-firefox-ui-functional-local en-US
>     23 - desktop-test-linux64/debug-reftest-no-accel-e10s-3 Ru3
>     23 - desktop-test-linux64/debug-firefox-ui-functional-remote en-US
>     23 - desktop-test-linux64/debug-reftest-3 R3
>     19 - desktop-test-linux64/debug-mochitest-webgl-e10s-2 gl2
>     19 - desktop-test-linux64/debug-mochitest-webgl-2 gl2
>     12 - desktop-test-linux64/debug-mochitest-e10s-3 3
>     12 - desktop-test-linux64/debug-mochitest-devtools-chrome-4 dt4
>     12 - desktop-test-linux64/debug-mochitest-devtools-chrome-9 dt9
>     11 - desktop-test-linux64/debug-mochitest-e10s-5 5
>     10 - desktop-test-linux64/debug-mochitest-5 5
>      9 - desktop-test-linux64/debug-reftest-e10s-2 R2
>      9 - desktop-test-linux64/debug-reftest-no-accel-e10s-2 Ru2
>      7 - desktop-test-linux64/debug-web-platform-tests-e10s-11 11
>      7 - desktop-test-linux64/debug-firefox-ui-functional-remote-e10s en-US
>      7 - desktop-test-linux64/debug-web-platform-tests-11 11
>      6 - desktop-test-linux64/debug-mochitest-devtools-chrome-10 dt10
>      6 - desktop-test-linux64/debug-reftest-no-accel-2 Ru2
>      6 - desktop-test-linux64/debug-reftest-2 R2
>      6 - desktop-test-linux64/debug-mochitest-devtools-chrome-1 dt1
>      5 - desktop-test-linux64/debug-web-platform-tests-reftests-e10s Wr
>      5 - desktop-test-linux64/debug-web-platform-tests-4 4
>      5 - desktop-test-linux64/debug-web-platform-tests-reftests Wr
>      5 - desktop-test-linux64/debug-web-platform-tests-e10s-4 4
>      4 - desktop-test-linux64/debug-mochitest-chrome-1 c1
>      4 - desktop-test-linux64/debug-reftest-no-accel-5 Ru5
>      4 - desktop-test-linux64/debug-reftest-e10s-5 R5
>      4 - desktop-test-linux64/debug-reftest-5 R5
>      4 - desktop-test-linux64/debug-reftest-no-accel-e10s-5 Ru5
>      3 - desktop-test-linux64/debug-mochitest-chrome-2 c2
>      3 - desktop-test-linux64/debug-mochitest-media-e10s mda
>      3 - desktop-test-linux64/debug-mochitest-devtools-chrome-7 dt7
>      3 - desktop-test-linux64/debug-mochitest-e10s-8 8
>      2 - desktop-test-linux64/debug-mochitest-8 8
>      2 - desktop-test-linux64/debug-mochitest-e10s-9 9
>      2 - desktop-test-linux64/debug-web-platform-tests-e10s-10 10
>      2 - desktop-test-linux64/debug-mochitest-browser-chrome-e10s-6 bc6
>      2 - desktop-test-linux64/debug-web-platform-tests-10 10
>      2 - desktop-test-linux64/debug-web-platform-tests-3 3
>      2 - desktop-test-linux64/debug-web-platform-tests-e10s-3 3
>      1 - desktop-test-linux64/debug-web-platform-tests-8 8
>      1 - desktop-test-linux64/debug-mochitest-devtools-chrome-8 dt8
>      1 - desktop-test-linux64/debug-mochitest-browser-chrome-1 bc1
>      1 - desktop-test-linux64/debug-mochitest-browser-chrome-7 bc7
>      1 - desktop-test-linux64/debug-mochitest-browser-chrome-e10s-5 bc5
>      1 - desktop-test-linux64/debug-web-platform-tests-e10s-8 8
>      1 - desktop-test-linux64/debug-mochitest-browser-chrome-e10s-7 bc7
>      1 - desktop-test-linux64/debug-mochitest-9 9
>      1 - desktop-test-linux64/debug-mochitest-media mda
>      1 - desktop-test-linux64/debug-mochitest-browser-chrome-e10s-3 bc3
>      1 - desktop-test-linux64/debug-mochitest-browser-chrome-4 bc4

It shows up in 798 tests. A few of the most prevalent:

>    661 - [e10s] file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/svg/smil/transform/use-1.svg == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/svg/smil/transform/lime.svg
>    154 -        dom/canvas/test/test_canvas.html
>    154 - [e10s] dom/canvas/test/test_canvas.html
>     52 -        browser/components/uitour/test/browser_UITour_heartbeat.js
>     48 -        file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/css-blending/background-blending-darken.html == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/css-blending/background-blending-darken-ref.svg
>     48 -        file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-objectopacity2.svg == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-objectopacity2-ref.svg
>     48 - [e10s] file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-objectopacity2.svg == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-objectopacity2-ref.svg
>     48 - [e10s] file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/svg/smil/anim-pattern-attr-presence-01.svg == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/svg/smil/anim-pattern-attr-presence-01-ref.svg
>     48 -        file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/svg/smil/anim-pattern-attr-presence-01.svg == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/svg/smil/anim-pattern-attr-presence-01-ref.svg
>     47 -        file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/css-blending/background-blending-color-dodge.html == file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/css-blending/background-blending-color-dodge-ref.svg

[1] https://hg.mozilla.org/mozilla-central/annotate/02876b8cf2b0/gfx/2d/DrawTargetSkia.cpp#l1577
Priority: -- → P5
Whiteboard: [gfx-noted]
Assignee: nobody → jwatt
Attached patch patch (obsolete) — Splinter Review
Attachment #8823494 - Flags: review?(lsalzman)
Summary: 5,300 instances of "Not backed by pixels - we need to handle PDF backed SkCanvas" emitted from gfx/2d/DrawTargetSkia.cpp during linux64 debug testing → 5,300 bogus instances of "Not backed by pixels - we need to handle PDF backed SkCanvas" emitted from gfx/2d/DrawTargetSkia.cpp during linux64 debug testing
Getting flooded by these on mac too.
Comment on attachment 8823494 [details] [diff] [review]
patch

How does this work? SkCanvas::getProps() only returns false if getDevice() fails, but for SkCanvas backed by an SkPDFDevice, won't this return true always?
Flags: needinfo?(jwatt)
Darnit, then the docs for that Skia method are wrong/out of date:

https://skia-doc.commondatastorage.googleapis.com/doxygen/doxygen/html/classSkCanvas.html#aa15f9888cc15b30e2e6820d54fc342fd
Flags: needinfo?(jwatt)
Attached patch patchSplinter Review
Attachment #8823494 - Attachment is obsolete: true
Attachment #8823494 - Flags: review?(lsalzman)
Attachment #8823733 - Flags: review?(lsalzman)
Attachment #8823733 - Flags: review?(lsalzman) → review+
Pushed by jwatt@jwatt.org:
https://hg.mozilla.org/integration/mozilla-inbound/rev/358b2e64b5c1
Fix the DrawTargetSkia::CreateSimilarDrawTarget check for non-raster backed SkCanvas to avoid false positives. r=lsalzman
https://hg.mozilla.org/mozilla-central/rev/358b2e64b5c1
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Comment on attachment 8823733 [details] [diff] [review]
patch

Approval Request Comment
[Feature/Bug causing the regression]: n/a
[User impact if declined]: none - this is for debug builds for gecko devs. lots of people are currently working on printing and debugging on branches. This potentially helps them avoid wasting lots of time with bogus warnings, and makes it possible to spot genuine warnings.
[Is this code covered by automated tests?]: yes
[Has the fix been verified in Nightly?]: yes
[Needs manual test from QE? If yes, steps to reproduce]: no
[List of other uplifts needed for the feature/fix]: none
[Is the change risky?]: very low
[Why is the change risky/not risky?]: it's mostly just debug changes and the one code change is likely to fix things if it changes anything at all.
[String changes made/needed]: none
Attachment #8823733 - Flags: approval-mozilla-aurora?
Comment on attachment 8823733 [details] [diff] [review]
patch

avoid bogus warnings in debug builds, aurora52+
Attachment #8823733 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.