Closed Bug 1978325 Opened 1 year ago Closed 1 year ago

[Sway] Crash when scrolling on wayland if EGL is unavailable

Categories

(Core :: Widget: Gtk, defect)

defect

Tracking

()

RESOLVED INVALID

People

(Reporter: eijebong, Unassigned)

References

(Regression)

Details

(Keywords: regression)

Starting firefox with mozregression makes it unable to use EGL for some reason. Which leads to crashes when scrolling a page. I can easily reproduce by starting firefox and scrolling on the newtab page. I actually found this while trying to figure out a regressor for bug 1978076.

To reproduce:

  • Run firefox on wayland through mozregression
  • Scroll down the newtab page

Logs:

2025-07-21T15:20:27.055000: INFO : Running mozilla-central build for 2025-07-21
2025-07-21T15:20:30.151000: INFO : Launching /tmp/tmpvoc0au0p/firefox/firefox
2025-07-21T15:20:30.152000: INFO : Application command: /tmp/tmpvoc0au0p/firefox/firefox -profile /tmp/tmpn17bg1zg.mozrunner
2025-07-21T15:20:30.160000: INFO : application_buildid: 20250721090929
2025-07-21T15:20:30.160000: INFO : application_changeset: 9396a65ed903ccbf2b34fac9f18a1ed776790cb3
2025-07-21T15:20:30.160000: INFO : application_display_name: Firefox Nightly
2025-07-21T15:20:30.160000: INFO : application_id: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
2025-07-21T15:20:30.160000: INFO : application_name: Firefox
2025-07-21T15:20:30.160000: INFO : application_remotingname: firefox-nightly
2025-07-21T15:20:30.160000: INFO : application_repository: https://hg.mozilla.org/mozilla-central
2025-07-21T15:20:30.160000: INFO : application_vendor: Mozilla
2025-07-21T15:20:30.160000: INFO : application_version: 142.0a1
2025-07-21T15:20:30.160000: INFO : platform_buildid: 20250721090929
2025-07-21T15:20:30.160000: INFO : platform_changeset: 9396a65ed903ccbf2b34fac9f18a1ed776790cb3
2025-07-21T15:20:30.160000: INFO : platform_repository: https://hg.mozilla.org/mozilla-central
2025-07-21T15:20:30.160000: INFO : platform_version: 142.0a1
2025-07-21T15:20:30.336000: INFO : b'[GFX1-]: glxtest: libEGL no display'
2025-07-21T15:20:30.337000: INFO : b'[GFX1-]: glxtest: EGL test failed'
2025-07-21T15:20:31.421000: INFO : b"[GFX1-]: (sway) Wayland protocol error: interface 'wl_pointer' has no event 9"
2025-07-21T15:20:31.421000: INFO : b''
2025-07-21T15:20:31.424000: INFO : b'ExceptionHandler::GenerateDump attempting to generate:\x00/tmp/tmpn17bg1zg.mozrunner/minidumps/664eec0b-df83-9105-0217-f05cdf63392b.dmp'
2025-07-21T15:20:31.427000: INFO : b'ExceptionHandler::GenerateDump cloned child 4067724'
2025-07-21T15:20:31.429000: INFO : b'ExceptionHandler::SendContinueSignalToChild sent continue signal to child'
2025-07-21T15:20:31.431000: INFO : b'ExceptionHandler::WaitForContinueSignal waiting for continue signal...'
2025-07-21T15:20:31.514000: INFO : b'ExceptionHandler::GenerateDump minidump generation \x00succeeded'
2025-07-21T15:20:31.530000: INFO : b'\x00Exiting due to channel error.'
2025-07-21T15:20:31.530000: INFO : b'Exiting due to channel error.'
2025-07-21T15:20:31.550000: WARNING : Process exited with code 11

:stransky, since you are the author of the regressor, bug 1836886, could you take a look?

For more information, please visit BugBot documentation.

Flags: needinfo?(stransky)

Fixed by https://phabricator.services.mozilla.com/D224842
Mozregression downloads broken version so you see the crash then.

Flags: needinfo?(stransky)

I'm a bit confused, mozregression says it's running 20250721090929 which is way past the version where this is supposedly fixed.

Can you please test latest nightly directly? Also which Sway version do you run?

Summary: Crash when scrolling on wayland if EGL is unavailable → [Sway] Crash when scrolling on wayland if EGL is unavailable

It doesn't happen outside of mozregression and the only difference I can see is that mozregression is complaining about EGL.

Running sway 1.11

Can you reproduce on a local build if you do:

diff --git a/toolkit/xre/glxtest/glxtest.cpp b/toolkit/xre/glxtest/glxtest.cpp
index 077bf2a396c4b..1fdcd2bb243d6 100644
--- a/toolkit/xre/glxtest/glxtest.cpp
+++ b/toolkit/xre/glxtest/glxtest.cpp
@@ -562,7 +562,7 @@ static bool get_egl_status(EGLNativeDisplayType native_dpy) {
   PFNEGLTERMINATEPROC eglTerminate = nullptr;

   void* libegl = dlopen(LIBEGL_FILENAME, RTLD_LAZY);
-  if (!libegl) {
+  if (!libegl || (true)) {
     record_warning("libEGL missing");
     return false;
   }

?

Severity: -- → S2

Doesn't reproduce no. So EGL is a red herring, I have no idea what else the difference could be. I don't think it's something in the profile because starting firefox from mozregression with an existing profile sill reproduces the issue.

If you can reproduce reliably please run on terminal with WAYLAND_DEBUG=1 crash it and attach the log here.
Thanks.

Flags: needinfo?(borivel)

Ok, I finally was able to reproduce this outside of mozregression and it turns out to be a PEBKAC

It runs firefox with LD_LIBRARY_PATH=/path/to/build/_internal: which contains a lot of things that should be loaded from my system instead. I guess it's my fault for downloading this months ago and not remembering that it's supposed to be a ubuntu build (I'm on arch). I guess something changed recently that makes some bundled library incompatible with the version of wayland that I'm running.

Running mozregression from source doesn't exhibit that issue so I'll just do that.

Sorry for the noise about this, I'll just close this as invalid as it's a user error not an actual bug

Status: NEW → RESOLVED
Closed: 1 year ago
Flags: needinfo?(borivel)
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.