Closed Bug 1767916 Opened 3 years ago Closed 3 years ago

[wayland] Firefox aborts on fedora 36 when resizing to second display with scale factor 2: "Buffer size (1568x1501) must be an integer multiple of the buffer_scale (2)"

Categories

(Core :: Widget: Gtk, defect)

Desktop
Linux
defect

Tracking

()

RESOLVED FIXED
102 Branch
Tracking Status
firefox100 --- wontfix
firefox101 --- fixed
firefox102 --- fixed

People

(Reporter: jhorak, Assigned: jhorak)

References

(Blocks 1 open bug)

Details

(Keywords: crash)

Crash Data

Attachments

(1 file)

  1. have at least two monitor setup, first monitor with scale factor 1, second with scale factor 2. open firefox window on first monitor
  2. resize or move window to the second monitor.
  3. crash occurs with following message:
[1720618.985] wl_display@1.error(wl_surface@48, 2, "Buffer size (1568x1501) must be an integer multiple of the buffer_scale (2)")

It's race condition crash and seems to be caused by the Renderer thread. It sets the wl_surface buffer_scale to 2 in moz_container_wayland_set_scale_factor_locked but the attached buffer has not yet been resized to double size - which happens on the main thread.

Crash occurs on Fedora 36.

Assignee: nobody → jhorak

The wl_buffer can be still not resized to double size when the Renderer thread changes
the wl_surface buffer scale to 2 which leads to crash.

Pushed by archaeopteryx@coole-files.de: https://hg.mozilla.org/integration/autoland/rev/71a84ed06b13 Clear the attached wl_buffer from wl_surface before scale factor change;r=stransky
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch

Comment on attachment 9275131 [details]
Bug 1767916 Clear the attached wl_buffer from wl_surface before scale factor change;r=stransky

Beta/Release Uplift Approval Request

  • User impact if declined: Crashes on Wayland when laptop is restored from sleep or multi-monitor system is used.
  • 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): Simple patch, removes attached buffer from wl_surface when we change scale which leads to screen clear.
  • String changes made/needed: none
  • Is Android affected?: No
Attachment #9275131 - Flags: approval-mozilla-beta?

Comment on attachment 9275131 [details]
Bug 1767916 Clear the attached wl_buffer from wl_surface before scale factor change;r=stransky

Approved for 101.0b6.

Attachment #9275131 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Blocks: wayland
Crash Signature: [@ mozilla::GetEffectiveContentSandboxLevel] [@ libxul.so@0x1eefe32 | wl_log] [@ wl_log ]
Keywords: crash
OS: Unspecified → Linux
Hardware: Unspecified → Desktop
Summary: [wayland] Firefox aborts on fedora 36 when resizing to second display with scale factor 2 → [wayland] Firefox aborts on fedora 36 when resizing to second display with scale factor 2: "Buffer size (1568x1501) must be an integer multiple of the buffer_scale (2)"
See Also: → 1769268
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: