Closed Bug 1442921 Opened 7 years ago Closed 7 years ago

Crash in mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame

Categories

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

x86_64
All
defect

Tracking

()

RESOLVED FIXED
mozilla61
Tracking Status
firefox-esr52 --- unaffected
firefox58 --- unaffected
firefox59 --- unaffected
firefox60 --- disabled
firefox61 --- fixed

People

(Reporter: jan, Assigned: gw)

References

(Blocks 1 open bug)

Details

(Keywords: crash, nightly-community)

Crash Data

bp-dd89a5ef-6190-4988-8fc9-3fec40180303 > assertion failed: `(left == right)` > |[G0][GFX1-]: WR: Attempting to allocate a texture of size 22140x2048 above the limit, trimming (t=432.375)
Crash Signature: [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame ] → [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h52b8bcad75aa7114 ] [@ webrender::renderer::Renderer::draw_tile_frame ]
OS: Linux → All
I see the same and it results in a perma-crash for me each time when I want to sign into Treeherder via Auth0: Crash report: bp-dc4ac6da-e209-46d4-99d8-f44b70180305. Top 10 frames of crashing thread: 0 libmozglue.dylib mozalloc_abort memory/mozalloc/mozalloc_abort.cpp:33 1 libmozglue.dylib abort memory/mozalloc/mozalloc_abort.cpp:80 2 XUL std::panicking::rust_panic src/libpanic_abort/lib.rs:59 3 XUL std::panicking::rust_panic_with_hook::h6e16f84ca8c4a724 src/libstd/panicking.rs:593 4 XUL std::panicking::begin_panic::h950ea52f07a191e2 src/libstd/panicking.rs:538 5 XUL std::panicking::begin_panic_fmt::he83be180ce68059a src/libstd/panicking.rs:522 6 XUL webrender::renderer::Renderer::draw_tile_frame::h34631d473819e941 src/libcore/fmt/mod.rs 7 XUL webrender::renderer::Renderer::render_impl::h0ed5dd32021869b8 gfx/webrender/src/renderer.rs:2872 8 XUL webrender_bindings::bindings::wr_renderer_render gfx/webrender/src/renderer.rs:2771 9 XUL mozilla::wr::RendererOGL::UpdateAndRender gfx/webrender_bindings/RendererOGL.cpp:136 Here the steps to reproduce the crash: 1) Open https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound 2) Click Login/Register at the top right 3) Select Auth0 (in that case my mozilla.com address)
Hm, now after upgrading the Nightly to Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Firefox/60.0 ID:20180304220118 everything seems to work fine. Was there a webrender push in the meantime which fixed that crash?
Assignee: nobody → gwatson
Priority: -- → P1
Crash Signature: [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h52b8bcad75aa7114 ] [@ webrender::renderer::Renderer::draw_tile_frame ] → [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h52b8bcad75aa7114 ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h346…
(In reply to Henrik Skupin (:whimboo) from comment #2) > Hm, now after upgrading the Nightly to Mozilla/5.0 (Macintosh; Intel Mac OS > X 10.13; rv:60.0) Gecko/20100101 Firefox/60.0 ID:20180304220118 everything > seems to work fine. Was there a webrender push in the meantime which fixed > that crash? There was a WR update that landed on March 2nd, bug 1440664. And then there was an out-of-band fix in bug 1442608 which landed on March 3rd. It's possible the latter might have fixed this, particularly if the STR involved the first paint of a new window (which I think the Auth0 login case does, but not sure).
It's actually not fixed. I hit it again with Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Firefox/60.0 ID:20180304220118. Crash report: bp-54a6b7d3-b5c9-49ef-bf24-d9c700180305
while using Firefox nightly (20180306100123) which webrender enabled, the rendering process is changed to 'Basic' with this crash. Crash report: bp-3a2b544a-54ac-47f6-8a76-4c5840180306
#6 top crash for the March 7 Windows Nightly.
Blocks: 1440664
I'm currently unable to reproduce this (on Linux). I was able to log in to Treeherder without problems - although, I do use Duo security for a 2FA, which may be different than in the original report? I notice above it was mentioned that it's fixed for some users - are the steps to repro still the same as the original report?
I have seen it when using containers and accidentally tried to login to Treeherder in a container which was never used with auth0 before. Glenn, did you try with a fresh profile? Maybe that gives better results.
Crash Signature: [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h52b8bcad75aa7114 ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h346… → [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame ] [@ webrender::renderer::Renderer::draw_tile_frame ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h52b8bcad75aa7114 ] [@ mozalloc_abort | abort |…
Happened again with latest Nightly build: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0 ID:20180312220041
I tried with a fresh profile, and still can't reproduce this yet.
Are there any other known sites that reproduce this issue other than treeherder?
Bug 1441392's crash stack has Renderer::draw_tile_frame(). It could be reproduced on my linux pc.
(In reply to Sotaro Ikeda [:sotaro] from comment #12) > Bug 1441392's crash stack has Renderer::draw_tile_frame(). It could be > reproduced on my linux pc. I meant attachment 8954253 [details] in Bug 1441392 caused crash by hitting assertion. And the crash stack had Renderer::draw_tile_frame().
That bug you linked to does reproduce on my machine, thanks Sotaro! It would be somewhat surprising if the real treeherder page above is trying to open a window / popup that is larger than the maximum texture size, but perhaps there is an initial very large window size supplied by Gecko? Anyway, I'll add a workaround in WR to handle the linked bug, and we'll see if that also resolves this bug.
(In reply to Glenn Watson [:gw] from comment #11) > Are there any other known sites that reproduce this issue other than > treeherder? I can repro from soccoro's web interface when you try to file a bug in say CORE from soccoro. I fails with this stack https://crash-stats.mozilla.com/report/index/ffe5c6ba-f9d5-4ef9-ac49-3c3d80180315#tab-bugzilla and [ludo@Oulanl ~]$ bin/firefox/firefox WebRender - OpenGL version new 4.5 (Core Profile) Mesa 17.3.6 WebRender - OpenGL version new 4.5 (Core Profile) Mesa 17.3.6 ERROR:<unknown>: Attempting to allocate a texture of size 18824x2048 above the limit, trimming thread '<unnamed>' panicked at 'assertion failed: `(left == right)` left: `16384×2048`, right: `18824×2048`', gfx/webrender/src/tiling.rs:222:9 stack backtrace: 0: 0x7f55f515c263 - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::hb98fbe643b37b8bb 1: 0x7f55f5156c0c - std::panicking::default_hook::{{closure}}::h83c090f00cd2917d 2: 0x7f55f515659d - std::panicking::default_hook::hf9722061a353cd29 3: 0x7f55f515615c - std::panicking::rust_panic_with_hook::h574be4fada9826dc 4: 0x7f55f5158045 - std::panicking::begin_panic::h87949d2c83be3718 5: 0x7f55f5157fd9 - std::panicking::begin_panic_fmt::h351d9e48d73bd160 6: 0x7f55f512a509 - webrender::renderer::Renderer::draw_tile_frame::hb68db5e58463a1ef 7: 0x7f55f511a392 - webrender::renderer::Renderer::render_impl::h6b04bb72ad93d195 8: 0x7f55f4bfe01d - wr_renderer_render 9: 0x7f55f234dab9 - _ZN7mozilla2wr11RendererOGL15UpdateAndRenderEb 10: 0x7f55f234db77 - _ZN7mozilla2wr12RenderThread15UpdateAndRenderENS0_10WrWindowIdEb 11: 0x7f55f234ede7 - _ZN7mozilla2wr12RenderThread13NewFrameReadyENS0_10WrWindowIdE 12: 0x7f55f234cee6 - _ZN7mozilla6detail18RunnableMethodImplIPNS_2wr12RenderThreadEMS3_FvNS2_10WrWindowIdEELb1ELNS_12RunnableKindE0EJS5_EE3RunEv 13: 0x7f55f3ee7824 - _ZN4base18MessagePumpDefault3RunEPNS_11MessagePump8DelegateE 14: 0x7f55f4695bf6 - _ZN11MessageLoop3RunEv 15: 0x7f55f46978ba - _ZN4base6Thread10ThreadMainEv 16: 0x7f55f4695a19 - _ZL10ThreadFuncPv 17: 0x7f560267761a - start_thread 18: 0x7f56016a5c2e - __GI___clone 19: 0x0 - <unknown> Redirecting call to abort() to mozalloc_abort ExceptionHandler::GenerateDump cloned child ExceptionHandler::WaitForContinueSignal waiting for continue signal... 3429 ExceptionHandler::SendContinueSignalToChild sent continue signal to child [ludo@Oulanl ~]$ Failed to open curl lib from binary, use libcurl.so instead
Debian Testing (KDE, Radeon RX480, 2560x1440) Instant crash. mozregression --launch 7faa8401a434 --pref gfx.webrender.all:true startup.homepage_welcome_url:"https://bugzilla.mozilla.org/attachment.cgi?id=8933009" -B debug > 0:46.65 INFO: [GFX1-]: WR: Attempting to allocate a texture of size 202x50004 above the limit, trimming > 0:46.66 INFO: [GFX1-]: WR: Attempting to allocate a texture of size 2048x50004 above the limit, trimming > 0:46.66 INFO: thread '<unnamed>' panicked at 'assertion failed: `(left == right)` > 0:46.66 INFO: left: `2048×16384`, > 0:46.66 INFO: right: `2048×50004`', gfx/webrender/src/tiling.rs:223:9 ----- mozregression --find-fix --bad 20180308100121 --good 2018-03-14 --pref gfx.webrender.all:true startup.homepage_welcome_url:"https://bugzilla.mozilla.org/attachment.cgi?id=8933009" -B debug > 9:52.11 INFO: First good revision: 8a988d1a6f23f900b90c7843e2c61db14a57e56c > 9:52.11 INFO: Last bad revision: 5110a382f6a073a9fa220936442125c961bc57af > 9:52.11 INFO: Pushlog: > https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=5110a382f6a073a9fa220936442125c961bc57af&tochange=8a988d1a6f23f900b90c7843e2c61db14a57e56c > 8a988d1a6f23 Kartikaya Gupta — Bug 1443807 - Update reftest annotations for changes in WR PR 2487. r=jrmuizel > 1bc8b8422379 Kartikaya Gupta — Bug 1443807 - Update webrender to commit 5cb71f0f23719795e7c89417d91a7abad8ac20e9. r=jrmuizel > WR @ f3af2632723f62eb7973a87bfaece43a675cefb5 mozregression --repo try --launch c2415020c1acc328f0dab4b0f72fafae312ea996 --pref gfx.webrender.all:true startup.homepage_welcome_url:"https://bugzilla.mozilla.org/attachment.cgi?id=8933009" -B debug good > WR @ 7e459e819cbfb6ed81a86bf94a5384af472583e0 mozregression --repo try --launch 4ce5c83364d2a96c74a233e2241c65373e741ece --pref gfx.webrender.all:true startup.homepage_welcome_url:"https://bugzilla.mozilla.org/attachment.cgi?id=8933009" -B debug good Fix range: https://github.com/servo/webrender/compare/0da6c839b3a0e165f1115fb9fe286be7540c24ed...f3af2632723f62eb7973a87bfaece43a675cefb5 = servo/webrender#2487 (Fixed the crash at least for me.) That might explain why crash numbers went down. So it's fixed for me, but not for everyone. > https://hg.mozilla.org/mozilla-central/rev/1bc8b8422379 "first release with" bug 1443807: 2018-03-10_100108 Last crashes so far: Linux: 2018-03-15_223216 Mac: 2018-03-12_220041 Win: 2018-03-10_220052
Depends on: 1443807
Jan, I assume you wanted to set fixed and not disabled for both 60 and 61?
Flags: needinfo?(jan)
servo/webrender#2524 says "potentially", so we could wait some days to be sure.
Flags: needinfo?(jan)
Another site that crashes for me is https://www.bloomberg.com/graphics/2018-tesla-tracker/ I think the update should have made it into the most recent nightly, but I'll test again tomorrow.
(In reply to Thomas Daede [:TD-Linux] from comment #20) > https://www.bloomberg.com/graphics/2018-tesla-tracker/ Nightly 61 x64 20180317111042 de_DE 97160a734959af73cc97af0bf8d198e301ebedae @ Debian Testing (KDE, Radeon RX480, 2560x1440) main profile: gpu process, webrender, omtp, etc. My build contains bug 1444946. I got a fallback to OpenGL compositing just by zooming in on that website. bp-8d387fad-f6d7-4e0f-85e4-ce3bf0180317 17.03.18 23:29 bp-db23ea3a-8df7-43a7-9d15-097240180317 17.03.18 23:29
I believe I'm still affected by this as well. In a fresh profile with gfx.webrender.all, opening this website causes a crash: https://www.fimfiction.net/story/395229/the-nameless-queen Nightly 61 x64 20180318002633 en_US efce78e62b6dac195e7cb4898684da54155d1661 Arch Linux (GNOME, Geforce 980M, 3840x2160, UI scale 2) Built from https://hg.mozilla.org/mozilla-unified/rev/efce78e62b6dac195e7cb4898684da54155d1661 Report: bp-a0156d33-a27d-4707-ac2d-41be10180319 Log: WebRender - OpenGL version new 3.2.0 NVIDIA 390.42 ERROR:<unknown>: Attempting to allocate a texture of size 2048x21435 above the limit, trimming thread '<unnamed>' panicked at 'assertion failed: `(left == right)` left: `2048×16384`, right: `2048×21435`', gfx/webrender/src/tiling.rs:222:9
On my other machine I can also reproduce it, but only when launching Firefox with GDK_SCALE=2. Nightly 61 x64 20180318002633 en_US efce78e62b6dac195e7cb4898684da54155d1661 Arch Linux (GNOME, Intel Haswell GT3e, 1920x1080) Report: bp-d3aaf803-19db-48a3-b8b4-130650180319 Log: WebRender - OpenGL version new 4.5 (Core Profile) Mesa 17.3.6 ERROR:<unknown>: Attempting to allocate a texture of size 2048x33664 above the limit, trimming thread '<unnamed>' panicked at 'assertion failed: `(left == right)` left: `2048×16384`, right: `2048×33664`', gfx/webrender/src/tiling.rs:222:9
I hit this crash every time I log into the Magic Leap SDK website with Nightly 61 (2018-03-19) on macOS 10.13.3. STR: 1. Load https://creator.magicleap.com/home 2. Register an email address. 3. Click through the EULA pages. RESULT: Crash with assertion failed: `(left == right)` bp-cbc911c4-28f5-41e3-b1cb-076060180319
Crash Signature: [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame ] [@ webrender::renderer::Renderer::draw_tile_frame ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h52b8bcad75aa7114 ] [@ mozalloc_abort | abort |… → [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame ] [@ webrender::renderer::Renderer::draw_tile_frame ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h34631d473819e941 ] [@ mozalloc_abort | abort |…
The issue is that a box shadow that is too thin (400x25473) for the minimal shadow rect (blur 60 + corners 200 = 580x580) BoxShadowStretchMode::Stretch, so it falls back to Simple mode (clip.rs:188), which needs to draw the entire height.
Crash Signature: webrender::renderer::Renderer::draw_tile_frame::h52e5434dc1e391e8 ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h9ca4e9cf46a9869c ] → webrender::renderer::Renderer::draw_tile_frame::h52e5434dc1e391e8 ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h9ca4e9cf46a9869c ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h9b805076286…
Crash Signature: webrender::renderer::Renderer::draw_tile_frame::h9b8050762869af4f ] → webrender::renderer::Renderer::draw_tile_frame::h9b8050762869af4f ] [@ mozalloc_abort | abort | webrender::renderer::Renderer::draw_tile_frame::h068cbc973c91ae5a ]
https://github.com/servo/webrender/pull/2563 has landed in WR now, so will hopefully be included in the next WR update in Gecko.
Depends on: 1447998
Crashes are fixed for me.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Thanks! I also cannot reproduce the crash with auth0 anymore.
Target Milestone: --- → mozilla61
You need to log in before you can comment on or make changes to this bug.