Closed Bug 1434961 Opened 6 years ago Closed 6 years ago

Crash in webrender_bindings::bindings::wr_window_new on x86 Linux

Categories

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

60 Branch
x86
Linux
defect

Tracking

()

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

People

(Reporter: JuliaC, Assigned: sotaro)

References

(Blocks 1 open bug)

Details

(Keywords: crash)

Crash Data

This bug was filed from the Socorro interface and is
report bp-52915f28-0c38-4d94-80ce-69b9e0180201.
=============================================================

Top 10 frames of crashing thread:

0  @0xa03fefc8 
1 libxul.so webrender_bindings::bindings::wr_window_new gfx/webrender_bindings/src/bindings.rs:768
2 libxul.so mozilla::wr::NewRenderer::Run gfx/webrender_bindings/WebRenderAPI.cpp:66
3 libxul.so mozilla::wr::RenderThread::RunEvent gfx/webrender_bindings/RenderThread.cpp:192
4 libxul.so mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void 0u, mozilla::wr::WrWindowId, mozilla::UniquePtr<mozilla::wr::RendererEvent, mozilla::DefaultDelete<mozilla::wr::RendererEvent> >&&>::Run xpcom/threads/nsThreadUtils.h:1142
5 libxul.so MessageLoop::DeferOrRunPendingTask ipc/chromium/src/base/message_loop.cc:452
6 libxul.so MessageLoop::DoWork ipc/chromium/src/base/message_loop.cc:535
7 libxul.so base::MessagePumpDefault::Run ipc/chromium/src/base/message_pump_default.cc:36
8 libxul.so MessageLoop::Run ipc/chromium/src/base/message_loop.cc:326
9 libxul.so base::Thread::ThreadMain ipc/chromium/src/base/thread.cc:181

=============================================================

[Affected versions]:
- 60.0a1 (2018-02-01

[Affected platforms]:
- Ubuntu 16.04 x86
- Ubuntu 14.04 x86

[Steps to reproduce]:
1. Launch Firefox with a clean profile
2. Go to about:config and set gfx.webrender.all to true
3. Restart Firefox (Shift+F2 -> Restart)

[Expected result]:
- The browser successfully restarts and is fully functional

[Actual result]:
- The browser crashes 

[Regression range]:
- I will provide more info about this as soon as possible

[Additional notes]:
- The issue is not reproducible on Firefox 59 builds
- It seems that the issue is not affecting Ubuntu x64 platforms (14.04 and 16.04); there are glitches and graphical artifacts triggered instead (in some cases, layers.acceleration.force-enabled also needs to be set on true)
The screencast showing the glitches mentioned in the [Additional notes] section from above: https://goo.gl/AdAqrj.
Blocks: wr-stability
I could reproduce the problem with 32bit ubuntu 16.04.
I build Firefox on 32bit ubuntu 16.04 with the following mozconfig, since mozbuild downloaded 64 bit clang.

> ac_add_options --with-clang-path=/usr/lib/llvm-3.9/bin/clang
> ac_add_options --with-libclang-path=/usr/lib/llvm-3.9/lib

Then I succeeded to reproduce the crash.

The crash happened by FontContext::new() failure. Actually the failure happened at "FT_Init_FreeType(&mut lib)" calls in gfx/webrender/src/platform/unix/font.rs.
When I build stand alone WebRender and run wrench reftest on 32bit ubuntu 16.04, wrench was crashed with the following log.

> Segmentation fault (core dumped)

When I debugged with rust-gdb, same failure happened at FontContext::new().
Summary: Crash in webrender_bindings::bindings::wr_window_new → Crash in webrender_bindings::bindings::wr_window_new on x86 Linux
See Also: → 1448770
Depends on: 1449562
(In reply to Jan Andre Ikenmeyer [:darkspirit] from bug 1444798 comment 10)
> <offtopic>
> 32 bit WebRender seems to be completely broken on my 64 bit Debian, even before this regression.
> 
> Debian Testing x64 (KDE, Radeon RX480)
> To install missing dependencies: apt-get install firefox-esr:i386 libgl1-mesa-glx:i386 libpulse0:i386
> 
> mozregression --launch 2018-02-10 --bits 32 --pref layers.acceleration.force-enabled:true plugin.disable:true -B debug
> good, OpenGL compositing is used
> 
> mozregression --launch 2018-02-10 --bits 32 --pref gfx.webrender.all:true plugin.disable:true -B debug
> crash, won't start
> </offtopic>

Debian Testing x64, KDE, Radeon RX480
sudo apt install firefox-esr:i386 libgl1:i386 libpulse0:i386

mozregression --launch 2018-04-01 --bits 32 --pref layers.acceleration.force-enabled:true plugin.disable:true startup.homepage_welcome_url:"about:support"
good: OpenGL

mozregression --launch 2018-04-01 --bits 32 --pref gfx.webrender.all:true plugin.disable:true startup.homepage_welcome_url:"about:support"
bad: crash, won't start. (Process exited with code 11)

mozregression --launch 2018-04-05 --bits 32 --pref gfx.webrender.all:true plugin.disable:true startup.homepage_welcome_url:"about:support"
good: WebRender

I directly checked on autoland because a backout has confused mozregression.
mozregression --find-fix --repo autoland --bad 2018-04-04 --good 2018-04-05 --bits 32 --pref gfx.webrender.all:true plugin.disable:true startup.homepage_welcome_url:"about:support"
> 4:10.26 INFO: First good revision: dfc311c89e45ead7e975d45b1643afe7ff160ac8
> 4:10.26 INFO: Last bad revision: 9be8c32a4c59187abee7374ee54609498cf8503b
> 4:10.26 INFO: Pushlog:
> https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=9be8c32a4c59187abee7374ee54609498cf8503b&tochange=dfc311c89e45ead7e975d45b1643afe7ff160ac8

> dfc311c89e45	Kartikaya Gupta — Bug 1449562 - Update Cargo lockfiles and re-vendor rust dependencies. r=jrmuizel
> ca8e5e236ab3	Kartikaya Gupta — Bug 1449562 - Update webrender to commit 941bf5ac998061689a1bcd18d417f1f315e41ae6. r=jrmuizel
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
Assignee: nobody → sotaro.ikeda.g
You need to log in before you can comment on or make changes to this bug.