Closed Bug 1613130 Opened 2 months ago Closed 1 month ago

Crash in [@ @0x0 | moz_gtk_widget_paint]

Categories

(Core :: Widget: Gtk, defect, P3)

Unspecified
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla75
Tracking Status
firefox-esr68 --- wontfix
firefox72 --- wontfix
firefox73 --- wontfix
firefox74 --- fixed
firefox75 --- fixed

People

(Reporter: pascalc, Assigned: stransky)

References

Details

(Keywords: crash, regression)

Crash Data

Attachments

(3 files)

This bug is for crash report bp-6502d301-4f13-482a-bbb3-36a580200203.

Top 10 frames of crashing thread:

0  @0x0 
1 libxul.so moz_gtk_widget_paint widget/gtk/gtk3drawing.cpp
2 libxul.so nsNativeThemeGTK::DrawWidgetBackground widget/gtk/nsNativeThemeGTK.cpp:1196
3 libxul.so non-virtual thunk to nsNativeThemeGTK::DrawWidgetBackground widget/gtk/nsNativeThemeGTK.cpp
4 libxul.so nsDisplayThemedBackground::PaintInternal layout/painting/nsDisplayList.cpp:4872
5 libxul.so mozilla::FrameLayerBuilder::PaintItems layout/painting/FrameLayerBuilder.cpp:7122
6 libxul.so mozilla::FrameLayerBuilder::DrawPaintedLayer layout/painting/FrameLayerBuilder.cpp:7282
7 libxul.so mozilla::layers::ClientPaintedLayer::RenderLayerWithReadback gfx/layers/client/ClientPaintedLayer.cpp
8 libxul.so mozilla::layers::ClientContainerLayer::RenderLayer gfx/layers/client/ClientContainerLayer.h:53
9 libxul.so mozilla::layers::ClientLayerManager::EndTransactionInternal gfx/layers/client/ClientLayerManager.cpp:352

A few crashes per week last week on nightly, we also have crashes on beta. It may be a startup crash so that means user loss.

The crashreport is too optimized, it's missing some key parts. Can we get more signatures here?

Priority: -- → P3

widget/gtk/WidgetStyleCache.cpp:1436 is sGtkStyleContextSetScalePtr(style, aScaleFactor); so it looks like style is null.

It seems to crash at moz_gtk_button_paint() where StyleContextSetScale() is called.

Assignee: nobody → stransky
Status: NEW → ASSIGNED
Pushed by shindli@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/accd52484594
[Linux] Use GtkWindow as a fallback if a particular GtkWidget is missing, r=jhorak
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
Regressions: 1614421
Duplicate of this bug: 1611628
Crash Signature: [@ @0x0 | moz_gtk_widget_paint] → [@ @0x0 | moz_gtk_widget_paint] [@ @0x0 | moz_gtk_button_paint ]
Crash Signature: [@ @0x0 | moz_gtk_widget_paint] [@ @0x0 | moz_gtk_button_paint ] → [@ @0x0 | moz_gtk_widget_paint] [@ @0x0 | moz_gtk_button_paint ] [@ @0x0 | StyleContextSetScale ]

Given the crash volume on release, I'm thinking we should probably consider taking this in 73.0.1. WDYT, Martin? Please nominate for approval if you agree.

Flags: needinfo?(stransky)

(In reply to Ryan VanderMeulen [:RyanVM] from comment #10)

Given the crash volume on release, I'm thinking we should probably consider taking this in 73.0.1. WDYT, Martin? Please nominate for approval if you agree.

This patch causes a regression at Bug 1614421. I'll create a new patch based on Bug 1614421 for release.

Flags: needinfo?(stransky)

Comment on attachment 9126360 [details]
Bug 1613130 [Linux] Use GtkInvisible as a fallback widget to avoid crashes, r?jhorak

Beta/Release Uplift Approval Request

  • User impact if declined: Browser crashes when non-supported widget is rendered.
  • Is this code covered by automated tests?: No
  • 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): Linux theme fix.
  • String changes made/needed: none
Attachment #9126360 - Flags: approval-mozilla-release?

Comment on attachment 9126360 [details]
Bug 1613130 [Linux] Use GtkInvisible as a fallback widget to avoid crashes, r?jhorak

Fixes a Linux topcrash in Fx73. Approved for 73.0.1.

Attachment #9126360 - Flags: approval-mozilla-release? → approval-mozilla-release+

unfortunately these crash signatures are still reported by users who have received the 73.0.1 update containing the patch here.

Martin, any other suggestions?

Flags: needinfo?(stransky)

Looks like Gtk routines are called too early so perhaps any widget can't be created. I'll look at it.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Bugbug thinks this bug is a regression, but please revert this change in case of error.

Keywords: regression
Status: REOPENED → ASSIGNED
Target Milestone: mozilla74 → ---

Updated, Thanks.

Flags: needinfo?(stransky)
Crash Signature: [@ @0x0 | moz_gtk_widget_paint] [@ @0x0 | moz_gtk_button_paint ] [@ @0x0 | StyleContextSetScale ] → [@ @0x0 | moz_gtk_widget_paint] [@ @0x0 | moz_gtk_button_paint ] [@ @0x0 | StyleContextSetScale ] [@ @0x0 | nsNativeThemeGTK::DrawWidgetBackground ]
Pushed by rgurzau@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d4d4865357d9
[Linux] Check that we have gtk_style_context_set_scale() and style, r=jhorak
Status: ASSIGNED → RESOLVED
Closed: 2 months ago1 month ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75

Comment on attachment 9127680 [details]
Bug 1613130 [Linux] Check that we have gtk_style_context_set_scale() and style, r?jhorak

Beta/Release Uplift Approval Request

  • User impact if declined: Potential crashes when gtk_style_context_set_scale() is used on Gtk < 3.20
  • 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): Just a check we have a valid style and gtk_style_context_set_scale() function.
  • String changes made/needed: none
Attachment #9127680 - Flags: approval-mozilla-beta?

Comment on attachment 9127680 [details]
Bug 1613130 [Linux] Check that we have gtk_style_context_set_scale() and style, r?jhorak

Fix for a known Linux top crasher on the release channel, uplift approved for 74.0b8, thanks.

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