Closed Bug 1424280 Opened 3 years ago Closed 3 years ago

Update webrender to f9bc4a5c263e707e3498bea47d3ec9096cc3d099


(Core :: Graphics: WebRender, defect, P1)

59 Branch



Tracking Status
firefox59 --- fixed


(Reporter: kats, Assigned: kats)


(Blocks 1 open bug)


(Whiteboard: [wr-mvp] [gfx-noted])


(3 files)

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

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".

Whiteboard: [wr-mvp] [gfx-noted] → [wr-reserve] [gfx-noted]
WR @ e558d41b74b0f9601e75346e37a36cad553e0990 (based off autoland tip at the time of pushing)

f8 orange is pre-existing from autoland, so ignore that. Mostly still pending but no problems so far.
WR @ cb8d8d973de1e3ab2d4aed41a187faf6d65c5fd5 (also based off autoland)

Linux seems green, but there's a M-e10s(gpu) which is orange. Not sure if that's intermittent or not, but I retriggered it. Windows, however, is red with a rust panic. That's no good. It's on the opt build so the backtrace is useless. Retriggered debug to see if we can get more info.

Regression range:

*   cb8d8d97 Auto merge of #2162 - kvark:gpu-upload, r=glennw
| * 720c58cc GPU Cache: switch scattering OFF by default, comment the decision; Address review notes.
| * 20bffb5c GPU cache: fixed the ordering of deferred updates
| * d6b7800d Better error out of CacheTexture failure Proper shader includes, point size
| * adfcfc5a GPU cache: wrench png saving, OSMESA fix
| * c0e1b2df GPU cache: resizing ahead of time in prepare_for_updates
| * d9b7ea9a GPU Cache: comments
| * 361640f3 GPU Cache: refactor the old rows/cpu_blocks
| * 3ee00046 GPU Cache: stress test and fixes
| * 44d41236 GPU cache: target resize with content preservation
| * 2f42494a GPU cache: texture/fbo binding, first working results
| * 9283a4ac GPU cache: strong VBOs and multiple updates
| * 2c3838ac GPU cache data upload and scatter
| * d4a60dd9 Basic infrastructure for scatter style GPU cache updates
*   46f9d998 Auto merge of #2198 - lsalzman:delayed-bitmaps, r=glennw
| * e9933462 determine whether a font has bitmaps only when fetching glyphs
* 822edff1 Auto merge of #2128 - Gankro:deserialize_from, r=kvark
* 36864e9b use deserialize_from for faster deserialization
* 70f5e681 bump serde/serde_derive versions to prepare for soft-fork

Seems likely that this will be from servo/webrender#2162, but I'll bisect to confirm.
Oh... FWIW, was merged with the new code path disabled by default, so I wouldn't expect any breakage.
Both of those bisections are fine, so it's definitely from servo/webrender#2162. The debug jobs from comment 5 have a lot of panic messages with no symbols but at the end of the log file there's 6 crashdumps which all contain this stack:

Thread 10 (crashed)
 0  xul.dll!panic_abort::__rust_start_panic [ : 53 + 0x4]
    Found by: given as instruction pointer in context
 1  xul.dll!std::panicking::rust_panic [ : 608 + 0x5]
 2  xul.dll!std::panicking::rust_panic_with_hook [ : 593 + 0x11]
 3  xul.dll!std::panicking::begin_panic<alloc::string::String> [ : 538 + 0x12]
 4  xul.dll!std::panicking::begin_panic_fmt [ : 522 + 0x20]
 5  xul.dll!std::panicking::rust_begin_panic [ : 498 + 0x1c]
 6  xul.dll!core::panicking::panic_fmt [ : 71 + 0x27]
 7  xul.dll!core::slice::slice_index_len_fail [ : 746 + 0x10]
 8  xul.dll!webrender::renderer::{{impl}}::render::{{closure}} [ : 2753 + 0x16c]
 9  xul.dll!webrender::renderer::Renderer::render [ : 2681 + 0x61]
10  xul.dll!webrender_bindings::bindings::wr_renderer_render [ : 509 + 0x19]
11  xul.dll!mozilla::wr::RendererOGL::Render() [RendererOGL.cpp:4a0c01e5c661 : 149 + 0x18]
12  xul.dll!mozilla::wr::RenderThread::UpdateAndRender(mozilla::wr::WrWindowId) [RenderThread.cpp:4a0c01e5c661 : 228 + 0x5]
13  xul.dll!mozilla::wr::RenderThread::NewFrameReady(mozilla::wr::WrWindowId) [RenderThread.cpp:4a0c01e5c661 : 174 + 0xb]
14  xul.dll!mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread *,void ( mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId),1,0,mozilla::wr::WrWindowId>::Run() [nsThreadUtils.h:4a0c01e5c661 : 1192 + 0x7]
15  xul.dll!MessageLoop::RunTask(already_AddRefed<nsIRunnable>) [ : 452 + 0xf]
16  xul.dll!MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask &&) [ : 460 + 0x31]
17  xul.dll!MessageLoop::DoWork() [ : 535 + 0x5]
18  xul.dll!base::MessagePumpDefault::Run(base::MessagePump::Delegate *) [ : 36 + 0x9]
19  xul.dll!MessageLoop::RunHandler() [ : 319 + 0x5]
20  xul.dll!MessageLoop::Run() [ : 299 + 0x8]
21  xul.dll!base::Thread::ThreadMain() [ : 181 + 0xa]
22  xul.dll!`anonymous namespace'::ThreadFunc [ : 28 + 0x6]
23  kernel32.dll!LdrpLoadResourceFromAlternativeModule + 0x27c

where is this line:
Blocks: 1424562
WR @ 2c5c04369ac8d07ee3ba708c0f45e67e09b55581

Same as before.

Last night's cron job ran into a problem because serde got bumped to 1.0.24 on and we only have a replacement for 1.0.23. Trying to figure out how to convince cargo to do what we want.
That's looking good; Windows is red but that try push didn't include kvark's fix so that's expected. I'm doing another one with WR master (has all the fixes) on autoland to make sure the landing didn't have any hiccups.
Alias: wr-future-update
Assignee: nobody → bugmail
Summary: Future webrender update bug → Update webrender to f9bc4a5c263e707e3498bea47d3ec9096cc3d099
Version: unspecified → 59 Branch
Comment on attachment 8936160 [details]
Bug 1424280 - Update cargo lockfiles and re-vendor rust dependencies.
Attachment #8936160 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8936159 [details]
Bug 1424280 - Replace serde and serde_derive with Gankro's modified branch.
Attachment #8936159 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8936158 [details]
Bug 1424280 - Update webrender to commit f9bc4a5c263e707e3498bea47d3ec9096cc3d099.
Attachment #8936158 - Flags: review?(jmuizelaar) → review+
Pushed by
Update webrender to commit f9bc4a5c263e707e3498bea47d3ec9096cc3d099. r=jrmuizel
Replace serde and serde_derive with Gankro's modified branch. r=jrmuizel
Update cargo lockfiles and re-vendor rust dependencies. r=jrmuizel
Try push is looking good. I landed without waiting for the r?Build these since we want the serde changes in for the all-hands, and I'm not really sure if the .cargo/ changes actually need build peer review or not. I'm hoping that it's a simple enough change that post-landing review is ok for it.
Priority: P2 → P1
Whiteboard: [wr-reserve] [gfx-noted] → [wr-mvp] [gfx-noted]
Comment on attachment 8936159 [details]
Bug 1424280 - Replace serde and serde_derive with Gankro's modified branch.

Assuming this just replaces where we are vendoring this crate from, r+.
Attachment #8936159 - Flags: review+
Attachment #8936159 - Flags: review?(core-build-config-reviews) → review+
(In reply to Nathan Froyd [:froydnj] (Limited time-only Austin reviews; void where prohibited) from comment #22)
> Assuming this just replaces where we are vendoring this crate from, r+.

Yup, thanks!
You need to log in before you can comment on or make changes to this bug.