Closed Bug 1719327 Opened 4 years ago Closed 3 years ago

Crash in [@ libVSC.so@0x31b3c]

Categories

(Core :: Graphics: WebRender, defect)

Unspecified
Android
defect

Tracking

()

RESOLVED FIXED
98 Branch
Tracking Status
firefox-esr91 --- unaffected
firefox96 --- wontfix
firefox97 --- fixed
firefox98 --- fixed

People

(Reporter: kbrosnan, Assigned: jnicol)

Details

(Keywords: crash)

Crash Data

Attachments

(1 file)

Crash report: https://crash-stats.mozilla.org/report/index/2059401b-4927-4503-83eb-833310210705

Reason: SIGSEGV /SEGV_MAPERR

Top 10 frames of crashing thread:

0 libVSC.so libVSC.so@0x31b3c 
1 libVSC.so libVSC.so@0x31f95 
2 libVSC.so libVSC.so@0x32f9d 
3 libVSC.so libVSC.so@0xb702e 
4 libVSC.so libVSC.so@0x5dd42 
5 libVSC.so libVSC.so@0x5dd52 
6 libVSC.so libVSC.so@0x5a4ee 
7 libVSC.so libVSC.so@0xac2fe 
8 libVSC.so libVSC.so@0x5a4ee 
9 libVSC.so libVSC.so@0xac63a 

libVSC looks to be somewhere in the phone's graphics driver stack. This affects SM-G531F, SM-J110M, SM-G361F, SM-G531M

Severity: -- → S2

I can reproduce a crash locally on a SM-G531F. I can't get symbols nor a debugger to work, so can't verify it's the same signature, but its pretty bad. It crashes 100% reliably when trying to render any page, making firefox unusable on this device.

The crash occurs when attempting to do the first draw call with the composite shader. Commenting out the texture sample in the shader avoids the crash, but obviously doesn't render anything. Interestingly if I disable the optimized shaders then it crashes during draw calls with multiple shaders. This appears to be due to the unoptimized shaders containing code which samples from other textures too (eg the gpu cache) even if that code is dead. But some shaders which contain samples appear to work okay, and the composite shader doesn't even include the code to sample the GPU cache texture. So it's very strange.

SWGL does appear to work correctly, however. It's a bit slow, but so is everything on this phone. And slow is better than always crashing. So I think we should block webrender on this device to move users to software-webrender.

Webrender crashes during draw calls on this GPU. Move users to
software webrender instead.

Assignee: nobody → jnicol
Status: NEW → ASSIGNED
Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8e628cc31548 Block webrender on Vivante GC7000UL devices. r=gfx-reviewers,jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 98 Branch

Please nominate this for release uplift when you get a chance. Seems like a good dot release ride-along.

Flags: needinfo?(jnicol)

Comment on attachment 9261932 [details]
Bug 1719327 - Block webrender on Vivante GC7000UL devices. r?#gfx-reviewers

Beta/Release Uplift Approval Request

  • User impact if declined: Guaranteed crashes for all users with the affected GPU
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • 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): Uses swgl instead of webrender. Tested it works locally on my device. Literally could not be worse than a guaranteed crash without the patch.
  • String changes made/needed:
Flags: needinfo?(jnicol)
Attachment #9261932 - Flags: approval-mozilla-release?

Comment on attachment 9261932 [details]
Bug 1719327 - Block webrender on Vivante GC7000UL devices. r?#gfx-reviewers

Approved for Fenix/Focus 97.2.0.

Attachment #9261932 - Flags: approval-mozilla-release? → approval-mozilla-release+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: