Crash in [@ mozilla::gfx::DrawTargetCairo::DrawSurfaceWithShadow]
Categories
(Core :: Graphics, defect, P3)
Tracking
()
People
(Reporter: gsvelto, Assigned: lsalzman)
References
Details
(Keywords: crash)
Crash Data
Attachments
(2 files)
3.16 KB,
text/x-log
|
Details | |
47 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
|
Details | Review |
This bug is for crash report bp-191481fa-96c1-48da-bff7-be8a30200405.
Top 10 frames of crashing thread:
0 libxul.so mozilla::gfx::DrawTargetCairo::DrawSurfaceWithShadow /build/firefox-8TuxxS/firefox-74.0.1+build1/gfx/2d/DrawTargetCairo.cpp:844
1 libxul.so mozilla::dom::AdjustedTargetForShadow::~AdjustedTargetForShadow /build/firefox-8TuxxS/firefox-74.0.1+build1/dom/canvas/CanvasRenderingContext2D.cpp:525
2 libxul.so mozilla::dom::AdjustedTarget::~AdjustedTarget /build/firefox-8TuxxS/firefox-74.0.1+build1/dom/canvas/CanvasRenderingContext2D.cpp:633
3 libxul.so mozilla::dom::CanvasBidiProcessor::DrawText /build/firefox-8TuxxS/firefox-74.0.1+build1/dom/canvas/CanvasRenderingContext2D.cpp:3680
4 libxul.so nsBidiPresUtils::ProcessText /build/firefox-8TuxxS/firefox-74.0.1+build1/layout/base/nsBidiPresUtils.cpp:2235
5 libxul.so mozilla::dom::CanvasRenderingContext2D::DrawOrMeasureText /build/firefox-8TuxxS/firefox-74.0.1+build1/dom/canvas/CanvasRenderingContext2D.cpp:3988
6 libxul.so mozilla::dom::CanvasRenderingContext2D_Binding::strokeText /build/firefox-8TuxxS/firefox-74.0.1+build1/obj-x86_64-linux-gnu/dom/bindings/CanvasRenderingContext2DBinding.cpp:6342
7 libxul.so bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions> /build/firefox-8TuxxS/firefox-74.0.1+build1/dom/bindings/BindingUtils.cpp:3170
8 libxul.so js::InternalCallOrConstruct /build/firefox-8TuxxS/firefox-74.0.1+build1/js/src/vm/Interpreter.cpp:562
9 libxul.so Interpret /build/firefox-8TuxxS/firefox-74.0.1+build1/js/src/vm/Interpreter.cpp:629
This crash seems to have been around for a while, I can find crashes going all the way back to Firefox 52 with consistent stacks. Not many useful comments but more than one mentions Google maps and these two URLs show up in 20 crashes:
Many crashes also have some private URLs from:
Updated•5 years ago
|
Updated•5 years ago
|
This issue seems to be related: https://bugzilla.mozilla.org/show_bug.cgi?id=1626668
I had the same issue (my crash reports redirected me to this bug report).
The problem seems to be SOLVED for me now after updating nVidia drivers (see attached aptitude log).
Firefox also got updated some time before (included in log), but that didn't solve the problem on its own.
Comment 4•5 years ago
|
||
Thanks! ~99 % of these crashes happened with Nvidia since it spiked.
Reporter | ||
Comment 5•5 years ago
|
||
All the Linux crashes are with nVidia driver version 440.64.0.0 and Ubuntu 19.10. From the update log in comment 2 it suggests that there might have been a problem with that specific version of the closed-source nVidia driver packaged for Ubuntu.
Unfortunately the issue is back. With no action from my side (software or plugin installation or update).
It was perfectly fine after https://bugzilla.mozilla.org/show_bug.cgi?id=1627689#c2 - from 2020-04-09 to 2020-04-14.
But today I just had those crashes again.
Reproducible after restarting the browser (clean history, cookies), even in --safe-mode.
https://crash-stats.mozilla.org/report/index/4cae681d-1453-496b-8303-2aeff0200415
Assignee | ||
Comment 7•5 years ago
|
||
Ary, can you please attach your "about:support" information?
I have reviewed my "about:support" contents and found preference "gfx.canvas.azure.backends" modified to "cairo" (from default "skia").
Toggling this entry between those two values (and restarting the browser) seems to fix/reproduce the issue 100% of the time.
I also had "gfx.content.azure.backends" set alike, but changing this does not seem to have any negative effect.
So with both set to "skia" the issue seems solved for me.
Changing "cairo" to "skia" (as noted above) also fixed the two Google Maps links from the original report. Previously they also caused a crash for me.
Comment 10•5 years ago
•
|
||
Sorry for my naive question: Why was cairo kept allowed for Gtk and is there an opportunity to remove this deprecated backend (cleanup)?
Assignee | ||
Comment 11•5 years ago
|
||
This just duplicates some error checking we already do in DrawSurface to this case.
Updated•5 years ago
|
Comment 12•5 years ago
|
||
Comment 13•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Comment 14•5 years ago
|
||
The patch landed in nightly and beta is affected.
:lsalzman, is this bug important enough to require an uplift?
If not please set status_beta
to wontfix
.
For more information, please visit auto_nag documentation.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 15•5 years ago
|
||
Comment on attachment 9141056 [details]
Bug 1627689 - check for valid surfaces in DrawTargetCairo::DrawSurfaceWithShadow. r?jrmuizel
Beta/Release Uplift Approval Request
- User impact if declined: Potential Linux crashes on webpages that use Canvas2d
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: No
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): This just duplicates some bail-out code we have in other places in DrawTargetCairo so that we ultimately don't crash but just print out an error instead. Likewise, we don't actively use Cairo as a canvas2d backend anymore unless the user explicitly prefs it on, so most users should remain unaffected by this. However, some users might still unknowingly or purposely pref Cairo on, for which this will resolve the crash.
- String changes made/needed:
Comment 16•5 years ago
|
||
Comment on attachment 9141056 [details]
Bug 1627689 - check for valid surfaces in DrawTargetCairo::DrawSurfaceWithShadow. r?jrmuizel
Fixes a Linux crash. Approved for 76.0b7.
Comment 17•5 years ago
|
||
bugherder uplift |
Description
•