Closed Bug 1643149 Opened 4 years ago Closed 4 years ago

[wayland] Firefox hangs when a second window is opened (with software rendering)

Categories

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

79 Branch
x86_64
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla79
Tracking Status
firefox-esr68 --- unaffected
firefox76 --- unaffected
firefox77 --- unaffected
firefox78 --- unaffected
firefox79 --- fixed

People

(Reporter: dm, Assigned: stransky)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: nightly-community, regression)

Attachments

(2 files)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0

Steps to reproduce:

Open a new window.

Actual results:

Firefox stopped to respond to commands and sometimes there are rendering glitches.

I run mozregression first with a new profile and then with webrender enabled but nothing was wrong. I tried it with my usual profile and the problematic commit is this one: https://hg.mozilla.org/integration/autoland/rev/9b17e776c11765d83ef5f1b0a6288a0c688cd1e1.

Right I know I can't try other flags but I still want to help. What is the best way to share my config?

I use sway on Arch Linux.

I noticed that Webrender is now disabled by default, I enabled it with gfx.webrender.all=true and the issue now is gone. I also tried to disable/enable widget.wayland-dmabuf-vaapi.enabled and widget.wayland-dmabuf-webgl.enabled but they don't have any effect on the issue.

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Graphics
Product: Firefox → Core

(In reply to d.masserut from comment #3)

I noticed that Webrender is now disabled by default, I enabled it with gfx.webrender.all=true and the issue now is gone.

0x5917 is whitelisted and WebRender is enabled by default on Nightly with Mesa 18+ if your screen size is at maximum 4953600 pixels.

What is your screen size?

Component: Graphics → Widget: Gtk
OS: Unspecified → Linux
Regressed by: 1641778
Hardware: Unspecified → x86_64
Summary: [wayland] Firefox hangs when a second window is opened. → [wayland] Firefox hangs when a second window is opened (with software rendering)
Has Regression Range: --- → yes
Blocks: wayland
Flags: needinfo?(stransky)

Thanks, I'll look at it asap.

Assignee: nobody → stransky
Flags: needinfo?(stransky)

Appears to just be an accidental inverted check in InhibitWaylandIdle.

bool WakeLockTopic::InhibitWaylandIdle() {
  // ...
  MozContainer* container = focusedWindow->GetMozContainer();
  wl_surface* waylandSurface = moz_container_wayland_surface_lock(container);
  /* The check below is wrong */
  if (!waylandSurface) {
    mWaylandInhibitor = zwp_idle_inhibit_manager_v1_create_inhibitor(
        waylandDisplay->GetIdleInhibitManager(), waylandSurface);
    moz_container_wayland_surface_unlock(container);
  }
  return true;
}

I see thanks. There's another bug in mozcontainer where the lock it's release.

Priority: -- → P1
Pushed by abutkovits@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/827d6e47acfc
[Wayland] Fix MozContainer deadlock, r=jhorak
Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: