Closed Bug 1792315 Opened 2 years ago Closed 2 years ago

sway/wlroots segfault when quitting firefox while video is in the foreground

Categories

(Core :: Widget: Gtk, defect)

Firefox 107
x86_64
Linux
defect

Tracking

()

RESOLVED MOVED

People

(Reporter: supertux88, Unassigned)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

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

Steps to reproduce:

  1. Open a tab with https://twitch.tv and watch a stream (the stream on the start-page is enough, or watch any channel).
  2. Have the tab with the stream in the foreground
  3. Quit firefox

Actual results:

My whole graphical environment crashes:

[ 4735.096641] sway[88712]: segfault at 2a0 ip 00007f17499e6d40 sp 00007ffca68e3408 error 4 in libwlroots.so.10[7f17499ad000+67000]
[ 4735.096656] Code: e9 a5 6d fc ff 0f 1f 44 00 00 48 8b bb 58 ff ff ff 5b 48 8d 15 57 bc 03 00 be 01 00 00 00 31 c0 e9 85 6d fc ff 0f 1f 44 00 00 <48> 8b 97 a0 02 00 00 48 3b 15 c2 d1 06 00 0f 94 c0 48 3b 15 78 d2

Expected results:

Firefox should exit but everything else should continue running.

A few additional details that didn't fit any predefined fields in the initial form:

When the stream is playing in a tab in the background (so opening a new empty tab or with another website that doesn't play a stream) prevents firefox from crashing sway/wlroots.

With above trick I was able to run mozregression (which is a lot more work than just answering "good" and "bad": screenshot the currently running hash to remember it, quit firefox and see if everything crashes, if not answer "good", if it crashes everything, re-login, do everything again until the same hash appears again that crashed before, close firefox without twitch in the foreground, so it doesn't crash, and answer "bad"), and it narrowed down the problem to this pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=765e4f45346ed0e2aa6eb65224ecd9f80d433e06&tochange=3825a87d293cb5510b9828fccea54aab1eaa9f37

Sway version: 1.7
wlroots version: 0.15.1

Martin, given the regression range in comment 1, can you take a look?

Component: Untriaged → Widget: Gtk
Flags: needinfo?(stransky)
Keywords: regression
OS: Unspecified → Linux
Product: Firefox → Core
Regressed by: 1645677
Hardware: Unspecified → x86_64

I tested that on Mutter and I don't see it. Can you please test that too?
https://fedoraproject.org/wiki/How_to_debug_Firefox_problems#Testing_different_Wayland_compositor

If that's Sway only bug it needs to be reported at https://github.com/swaywm/sway/issues

Blocks: wayland-sway
Flags: needinfo?(stransky)
Flags: needinfo?(mozilla)

As the crash is in wlroots, I assume it doesn't crash Mutter, as that's not based on wlroots. But I didn't try with Mutter yet (I will see when I have time to test that, but I'm not sure if it's worth it if you already verified it doesn't crash Mutter).

I will create an issue in the sway repo, but I need to create a debug log with the crash first, which I also can't do at the moment, but hopefully in the following days and I'll link the issue here once I've done that. But I'm not sure if sway is even the correct location for the issue, or if this affects all compositors based on wlroots, so maybe an issue would need to be reported to wlroots?

Anyway, it currently only affects nightly and for now I just downgraded to the version before the commits which cause the crash, but that's not really a solution. And even if the real bug is in sway or wlroots (and needs to be fixed there in long term), I think something still needs to be fixed/changed in firefox, as it worked before these commits and it crashes now, and if this gets released as stable in some weeks without changes, it will affect a lot more people, especially if it in worst case affects all wlroots based compositors?

Flags: needinfo?(mozilla)

(In reply to Benjamin Neff [:supertux88] from comment #4)

Anyway, it currently only affects nightly and for now I just downgraded to the version before the commits which cause the crash, but that's not really a solution. And even if the real bug is in sway or wlroots (and needs to be fixed there in long term), I think something still needs to be fixed/changed in firefox, as it worked before these commits and it crashes now, and if this gets released as stable in some weeks without changes, it will affect a lot more people, especially if it in worst case affects all wlroots based compositors?

Yes, Firefox didn't update underlying wl_surface when EGL window was changed which led to various crashes on MESA side or Wayland protocol errors when released wl_surface was used for painting.

I created an issue for sway now: https://github.com/swaywm/sway/issues/7193

Martin, from the linked bug, it sounds like this is fixed in a development version (but not released yet). Should this be WONTFIX'ed?

Flags: needinfo?(stransky)

Yes, Thanks. Moved it better here.

Status: UNCONFIRMED → RESOLVED
Closed: 2 years ago
Flags: needinfo?(stransky)
Resolution: --- → MOVED
You need to log in before you can comment on or make changes to this bug.