Closed Bug 1370430 Opened 2 years ago Closed 2 years ago

Update webrender to 6752684fcc7402b0a5480e0b9f73152b2f9ed1e5

Categories

(Core :: Graphics: WebRender, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: kats, Assigned: kats)

References

(Blocks 1 open bug)

Details

(Whiteboard: [gfx-noted])

Attachments

(1 file, 3 obsolete files)

+++ This bug was initially created as a clone of Bug #1369152 +++

I'm filing this as a placeholder bug for the next webrender update. I may be running a cron script [1] that does try pushes with webrender update attempts, so that we can track build/test breakages introduced by webrender on a rolling basis. This bug will hold the try push links as well as dependencies filed for those breakages, so that we have a better idea going into the update of what needs fixing. I might abort the cron job because once things get too far out of sync it's hard to fully automate fixing all the breakages.

When we are ready to actually land the update, we can rename this bug and use it for the update, and then file a new bug for the next "future update".

[1] https://github.com/staktrace/moz-scripts/blob/master/try-latest-webrender.sh
WR @ 7c1bc155f644ce587d6b4e547972bea6873bc06f

https://treeherder.mozilla.org/#/jobs?repo=try&revision=261c3698ddedbfd18741074afa44387ce70cb382
https://treeherder.mozilla.org/#/jobs?repo=try&revision=762b561f01687d131a97f289b716d7b749d816d0

Bustage.

Regression range is:
* 7c1bc15 Auto merge of #1337 - nical:euclid-bump, r=kvark
* 8142727 Bump euclid to 0.14
WR @ 6fe9fef06c19325e03e736ba99789e009742f5aa

https://treeherder.mozilla.org/#/jobs?repo=try&revision=671e529cecd8e824a08cdcde17b14edbdb44cd98
https://treeherder.mozilla.org/#/jobs?repo=try&revision=e18b340e8f201105c362b27b500d3b3d451cda7b

Some blue jobs which have been indicative of leaks in the past, but these blues look different. More like timeouts than OOMs, so maybe there was a perf regression somewhere and the slower jobs are now timing out? It might also just be intermittent. Will keep an eye on it.
WR @ 6752684fcc7402b0a5480e0b9f73152b2f9ed1e5

https://treeherder.mozilla.org/#/jobs?repo=try&revision=9e67d55bdcef9e9dcc453420fcd1832b055f6c6a
https://treeherder.mozilla.org/#/jobs?repo=try&revision=c9d4059797fb0bfa6ac896d6898cf31e37849bda

Bustage.

Regression range is:
*   6752684 Auto merge of #1365 - jrmuizel:font-store, r=kvark,glennw
|\
| * 36a9117 Give blob images access to font data
* 5246483 Auto merge of #1364 - mrobinson:split-nodes, r=glennw
* 2a09896 Start splitting apart ScrollFrames and Clips

From the compiler errors it seems like the bustage is from servo/webrender#1365
Try pushes at 6752684fcc7402b0a5480e0b9f73152b2f9ed1e5 with bustage fixes are here (still in progress):

https://treeherder.mozilla.org/#/jobs?repo=try&revision=495380c6b55f80dcfbd77344fe68468d498f0c89
https://treeherder.mozilla.org/#/jobs?repo=try&revision=2acf197df6e652bbdd49f7999cfe610c473e8dee
Assignee: nobody → bugmail
Summary: Future webrender update bug → Update webrender to 6752684fcc7402b0a5480e0b9f73152b2f9ed1e5
Try pushes above look green.
Comment on attachment 8877184 [details]
Bug 1370430 - Re-vendor third-party rust dependencies.

https://reviewboard.mozilla.org/r/148558/#review152998

Can we avoid adding another copy of euclid? It seems like this would be our third.
Comment on attachment 8877185 [details]
Bug 1370430 - Update BlobImageRenderer impl for API changes in WR cset 36a9117.

https://reviewboard.mozilla.org/r/148560/#review153000
Attachment #8877185 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8877182 [details]
Bug 1370430 - Update webrender to cset 6752684fcc7402b0a5480e0b9f73152b2f9ed1e5.

https://reviewboard.mozilla.org/r/148554/#review153002
Attachment #8877182 - Flags: review?(jmuizelaar) → review+
(In reply to Jeff Muizelaar [:jrmuizel] from comment #20)
> Can we avoid adding another copy of euclid? It seems like this would be our
> third.

I think it's only the second. Right now in the tree we have third_party/rust/euclid which contains euclid 0.13.0. With this change, we'll have third_party/rust/euclid-0.13.0 which will contain euclid 0.13.0 and third_party/rust/euclid which will contain euclid 0.14.4.

The 0.13.0 I think is still used by stylo, so unless they update simultaneously with us we'll need both versions in-tree at some point or have broken builds. And updating simultaneously is hard because I think their update is synced from updates to the servo tree.
Comment on attachment 8877184 [details]
Bug 1370430 - Re-vendor third-party rust dependencies.

https://reviewboard.mozilla.org/r/148558/#review153014
Attachment #8877184 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8877183 [details]
Bug 1370430 - Bump euclid version in webrender_bindings.

https://reviewboard.mozilla.org/r/148556/#review153016

This seems fine too.
Attachment #8877183 - Flags: review+
Rebasing onto inbound was not exactly trivial because of the rayon and moz2d_render.rs changes so here's another try push to verify the rebase: https://treeherder.mozilla.org/#/jobs?repo=try&revision=5a421b97e0fbccf4a8f048239a132cfcd5e8b1d4
Comment on attachment 8877183 [details]
Bug 1370430 - Bump euclid version in webrender_bindings.

https://reviewboard.mozilla.org/r/148556/#review153040
Attachment #8877183 - Flags: review?(nical.bugzilla) → review+
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5df8f9f0a5b9
Update webrender to cset 6752684fcc7402b0a5480e0b9f73152b2f9ed1e5. r=jrmuizel
I believe this is what's causing my merge from mozilla-central to inbound to break all builds like this:

02:05:06     INFO -  z:/build/build/src/sccache2/sccache.exe z:/build/build/src/vs2015u3/VC/bin/amd64/cl.exe -FoProcessHangMonitor.obj -c -Iz:/build/build/src/obj-firefox/dist/stl_wrappers  -DDEBUG=1 -DWIN32_LEAN_AND_MEAN -D_WIN32 -DWIN32 -D_CRT_RAND_S -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DOS_WIN=1 -D_UNICODE -DCHROMIUM_BUILD -DU_STATIC_IMPLEMENTATION -DUNICODE -D_WINDOWS -D_SECURE_ATL -DCOMPILER_MSVC '-DBIN_SUFFIX=".exe"' -DMOZ_TOOLKIT_SEARCH -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -Iz:/build/build/src/dom/ipc -Iz:/build/build/src/obj-firefox/dom/ipc -Iz:/build/build/src/obj-firefox/ipc/ipdl/_ipdlheaders -Iz:/build/build/src/ipc/chromium/src -Iz:/build/build/src/ipc/glue -Iz:/build/build/src/caps -Iz:/build/build/src/chrome -Iz:/build/build/src/docshell/base -Iz:/build/build/src/dom/base -Iz:/build/build/src/dom/events -Iz:/build/build/src/dom/filesystem -Iz:/build/build/src/dom/geolocation -Iz:/build/build/src/dom/media/webspeech/synth/ipc -Iz:/build/build/src/dom/security -Iz:/build/build/src/dom/storage -Iz:/build/build/src/dom/workers -Iz:/build/build/src/extensions/cookie -Iz:/build/build/src/extensions/spellcheck/src -Iz:/build/build/src/gfx/2d -Iz:/build/build/src/hal/sandbox -Iz:/build/build/src/layout/base -Iz:/build/build/src/media/webrtc -Iz:/build/build/src/netwerk/base -Iz:/build/build/src/toolkit/components/printingui/ipc -Iz:/build/build/src/toolkit/crashreporter -Iz:/build/build/src/toolkit/xre -Iz:/build/build/src/uriloader/exthandler -Iz:/build/build/src/widget -Iz:/build/build/src/xpcom/base -Iz:/build/build/src/xpcom/threads -Iz:/build/build/src/security/sandbox/chromium -Iz:/build/build/src/security/sandbox/chromium-shim -Iz:/build/build/src/obj-firefox/dist/include  -Iz:/build/build/src/obj-firefox/dist/include/nspr -Iz:/build/build/src/obj-firefox/dist/include/nss        -MD -FI z:/build/build/src/obj-firefox/mozilla-config.h -DMOZILLA_CLIENT -deps.deps/ProcessHangMonitor.obj.pp -utf-8 -TP -nologo -wd5026 -wd5027 -Zc:sizedDealloc- -wd4091 -wd4577 -D_HAS_EXCEPTIONS=0 -W3 -Gy -Zc:inline -Gw -wd4251 -wd4244 -wd4267 -wd4800 -wd4595 -we4553 -GR-  -Z7 -Oy- -WX    z:/build/build/src/dom/ipc/ProcessHangMonitor.cpp
02:05:06     INFO -  error[E0308]: mismatched types
02:05:06     INFO -      --> Z:\build\build\src\gfx\webrender_bindings\src\bindings.rs:1377:25
02:05:06     INFO -       |
02:05:06     INFO -  1377 |         m.rect.origin = m.rect.origin - content_rect.origin;
02:05:06     INFO -       |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `euclid::TypedPoint2D`, found struct `euclid::TypedVector2D`
02:05:06     INFO -       |
02:05:06     INFO -       = note: expected type `euclid::TypedPoint2D<f32, webrender_traits::LayerPixel>`
02:05:06     INFO -                  found type `euclid::TypedVector2D<f32, webrender_traits::LayerPixel>`
02:05:06     INFO -       = help: here are some functions which might fulfill your needs:
02:05:06     INFO -               - .length()
02:05:06     INFO -               - .square_length()
02:05:06     INFO -               - .to_point()
02:05:06     INFO -  error[E0308]: mismatched types
02:05:06     INFO -      --> Z:\build\build\src\gfx\webrender_bindings\src\bindings.rs:1415:28
02:05:06     INFO -       |
02:05:06     INFO -  1415 |         clip_rect.origin = clip_rect.origin - content_rect.origin;
02:05:06     INFO -       |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `euclid::TypedPoint2D`, found struct `euclid::TypedVector2D`
02:05:06     INFO -       |
02:05:06     INFO -       = note: expected type `euclid::TypedPoint2D<f32, webrender_traits::LayerPixel>`
02:05:06     INFO -                  found type `euclid::TypedVector2D<f32, webrender_traits::LayerPixel>`
02:05:06     INFO -       = help: here are some functions which might fulfill your needs:
02:05:06     INFO -               - .length()
02:05:06     INFO -               - .square_length()
02:05:06     INFO -               - .to_point()
02:05:06     INFO -  error: aborting due to 2 previous errors


Backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/7f894f791cdf170d788507d0eff30024ce699523
Flags: needinfo?(bugmail)
Yeah, my bad. Merge failure between this bug and bug 1372321. I'll rebase and push to autoland this time.
Flags: needinfo?(bugmail)
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9fc133b1bdd0
Update webrender to cset 6752684fcc7402b0a5480e0b9f73152b2f9ed1e5. r=jrmuizel
https://hg.mozilla.org/mozilla-central/rev/9fc133b1bdd0
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
Kats or Wes, mozregression points to the backout [1] of this WebRender bug as the regression point for Windows-only visual glitches in Treeherder's job panel opening animation. Does that make any sense?

[1] https://hg.mozilla.org/mozilla-central/rev/7f894f791cdf170d788507d0eff30024ce699523
Flags: needinfo?(wkocher)
Flags: needinfo?(bugmail)
Possible. Did the regression not go away when this relanded the next day?
Flags: needinfo?(wkocher)
(In reply to Chris Peterson [:cpeterson] from comment #35)
> Kats or Wes, mozregression points to the backout [1] of this WebRender bug
> as the regression point for Windows-only visual glitches in Treeherder's job
> panel opening animation. Does that make any sense?

It only makes sense because mozregression tends to blame the first bug number in the range it finds. The backout you are referring to fixed the build so obviously it could have been anything that landed while the build was broken. I think if you look at the actual range that mozregression gave you, you'll see a patchset by matt woodrow that landed that is probably the true regressor.
Flags: needinfo?(bugmail)
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #37)
> It only makes sense because mozregression tends to blame the first bug
> number in the range it finds. The backout you are referring to fixed the
> build so obviously it could have been anything that landed while the build
> was broken. I think if you look at the actual range that mozregression gave
> you, you'll see a patchset by matt woodrow that landed that is probably the
> true regressor.

Thanks. That looks like what happened. Here is the full pushlog and the backout is just the first changeset. I think bug 1361970 was the cause and bug 1373479 the regression.

https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=958d2a5d10091401fd5e900e8e063d21940c137e&tochange=7f894f791cdf170d788507d0eff30024ce699523
You need to log in before you can comment on or make changes to this bug.