Closed Bug 1795308 Opened 2 years ago Closed 1 year ago

mozregression-gui: crashes with Segmentation fault (core dumped) under Wayland session

Categories

(Testing :: mozregression, defect, P2)

All
Linux
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bmaris, Assigned: zeid)

References

Details

(Whiteboard: workaround in comment 9)

Attachments

(3 files)

Steps to reproduce:

  1. Install a fresh Ubuntu 22.04 in a VM
  2. apt-get update | apt-get upgrade so that Ubuntu is up to date
  3. Download mozregression 5.0.0 from github

Expected result:

  • Mozregression app starts without issues.

Actual results:

  • The following error is thrown in the terminal: Warning: ignoring wayland_display on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. Segmentation fault (core dumped) and mozregression does not start.
  • I also tried with an old version 4.0.17 but I get the same result.
  • I tried the solution 1 from https://ittutorialpoint.com/warning-ignoring-xdg_session_typewayland-on-gnome-use-qt_qpa_platformwayland-to-run-on-wayland-anyway/ but that did not do me any good, I had other errors and still the app did not start:
    (mozregression-gui:3787): GLib-GIO-ERROR **: 16:20:36.488: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing' Trace/breakpoint trap (core dumped) so I think that's not the best solution for the initial problem.
  • We need mozregression app since we as QA are using it quite often for finding regressions so I will mark it as an S1 just to draw attention to it.
  • As far as I know only Ubuntu 22.04 is affected, I have another Ubuntu 18.04 machine with mozreg 4.0.18 and it works fine.

Please provide more context, that error is coming from Qt, which we dont use on our side, and I dont think mozregression does.

Flags: needinfo?(bogdan.maris)

Ubuntu 22.04 VM with GNOME over Wayland, installed mozregression and it works for me.

Downloaded the mozregression-gui tool from GitHub and I do reproduce the issue, but it has nothing to do with starting Firefox, it's MozRegression GUI version that just fails to run.

Summary: warning: ignoring wayland_display on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. Segmentation fault (core dumped) → mozregression-gui: crashes with Segmentation fault (core dumped) under Wayland session

Running from source works:

$ git clone https://github.com/mozilla/mozregression
$ git checkout 5.0.0
$ python3 -m venv venv
$ source venv/bin/activate
$ pip3 install -r requirements/requirements-3.10-Linux.txt
$ pip3 install --upgrade mozregression
$ python3 gui/build.py run

And the GUI is shown.

Packaging the bundle locally and running it also works:

$ python3 gui/build.py bundle

I do see that UPX is being used and for myself in the past on different projects I remember packing some libs with UPX could introduce similar weird segfaults.

The build process shows a lot of missing deps on GitHub Actions https://github.com/mozilla/mozregression/actions/runs/2957792972/jobs/4730445187#step:6:201 :

1383 WARNING: Cannot find libxcb-shape.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so)
1383 WARNING: Cannot find libxcb-shape.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so)
1426 WARNING: Cannot find libxkbcommon-x11.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1427 WARNING: Cannot find libxcb-icccm.so.4 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1427 WARNING: Cannot find libxcb-image.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1427 WARNING: Cannot find libxcb-keysyms.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1427 WARNING: Cannot find libxcb-randr.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1427 WARNING: Cannot find libxcb-render-util.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1427 WARNING: Cannot find libxcb-shape.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1427 WARNING: Cannot find libxcb-xkb.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1427 WARNING: Cannot find libxcb-icccm.so.4 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1427 WARNING: Cannot find libxcb-image.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1427 WARNING: Cannot find libxcb-keysyms.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1427 WARNING: Cannot find libxcb-randr.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1428 WARNING: Cannot find libxcb-render-util.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1428 WARNING: Cannot find libxcb-shape.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1428 WARNING: Cannot find libxcb-xkb.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1428 WARNING: Cannot find libxkbcommon-x11.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-glx-integration.so)
1659 WARNING: Cannot find libxkbcommon-x11.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1660 WARNING: Cannot find libxcb-icccm.so.4 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1660 WARNING: Cannot find libxcb-image.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1660 WARNING: Cannot find libxcb-keysyms.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1660 WARNING: Cannot find libxcb-randr.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1660 WARNING: Cannot find libxcb-render-util.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1660 WARNING: Cannot find libxcb-shape.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1660 WARNING: Cannot find libxcb-xkb.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1660 WARNING: Cannot find libxcb-icccm.so.4 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1660 WARNING: Cannot find libxcb-image.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1661 WARNING: Cannot find libxcb-keysyms.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1661 WARNING: Cannot find libxcb-randr.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1661 WARNING: Cannot find libxcb-render-util.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1661 WARNING: Cannot find libxcb-shape.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1661 WARNING: Cannot find libxcb-xkb.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1661 WARNING: Cannot find libxkbcommon-x11.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforms/libqxcb.so)
1895 WARNING: Cannot find libxkbcommon-x11.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1895 WARNING: Cannot find libxcb-icccm.so.4 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1895 WARNING: Cannot find libxcb-image.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1895 WARNING: Cannot find libxcb-keysyms.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1895 WARNING: Cannot find libxcb-randr.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1896 WARNING: Cannot find libxcb-render-util.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1896 WARNING: Cannot find libxcb-shape.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1896 WARNING: Cannot find libxcb-xkb.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1896 WARNING: Cannot find libxcb-icccm.so.4 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1896 WARNING: Cannot find libxcb-image.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1896 WARNING: Cannot find libxcb-keysyms.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1896 WARNING: Cannot find libxcb-randr.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1896 WARNING: Cannot find libxcb-render-util.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1896 WARNING: Cannot find libxcb-shape.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1896 WARNING: Cannot find libxcb-xkb.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
1896 WARNING: Cannot find libxkbcommon-x11.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/libqxcb-egl-integration.so)
3504 WARNING: Cannot find libxcb-shape.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/platforminputcontexts/../../lib/libQt6VirtualKeyboard.so.6)
3737 WARNING: Cannot find libxcb-icccm.so.4 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/../../lib/libQt6XcbQpa.so.6)
3737 WARNING: Cannot find libxcb-image.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/../../lib/libQt6XcbQpa.so.6)
3737 WARNING: Cannot find libxcb-keysyms.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/../../lib/libQt6XcbQpa.so.6)
3737 WARNING: Cannot find libxcb-randr.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/../../lib/libQt6XcbQpa.so.6)
3737 WARNING: Cannot find libxcb-render-util.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/../../lib/libQt6XcbQpa.so.6)
3737 WARNING: Cannot find libxcb-shape.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/../../lib/libQt6XcbQpa.so.6)
3737 WARNING: Cannot find libxcb-xkb.so.1 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/../../lib/libQt6XcbQpa.so.6)
3737 WARNING: Cannot find libxkbcommon-x11.so.0 (needed by /home/runner/work/mozregression/mozregression/env/lib/python3.9/site-packages/PySide6/Qt/plugins/xcbglintegrations/../../lib/libQt6XcbQpa.so.6)

Given the reported crash is in libxcbcommon-x11.so, I am wondering how much it could be because of some incompatility between the packages Qt6 version from 20.04 in the bundle and this library on the host version 22.04

Assignee: nobody → zeid

(In reply to Alexandre LISSY :gerard-majax from comment #1)

Please provide more context, that error is coming from Qt, which we dont use on our side, and I dont think mozregression does.

Yeah, I was using the GUI version of mozregression, I saw that you also reproduced on your end. Please let me know if there are any extra info I missed in order to help.

Flags: needinfo?(bogdan.maris)
Whiteboard: workaround in comments 5 and 6

Here is a workaround that should get you going on mozregression-gui 5.0.0:

Within the mozregression-gui directory, run:

$ rm libwayland-client.so.0
$ GDK_BACKEND=x11 QT_QPA_PLATFORM=wayland ./mozregression-gui

This should get it running, however you may still get some other errors and warnings, which you should be able to suppress by running the below (though make sure you have the right dev packages installed system-wide):

$ rm libstdc++.so.6
$ rm libgio-2.0.so.0

This is obviously a band-aid solution until we fix the packaging. Please confirm if this workaround works for you.

Severity: S1 → S3
Flags: needinfo?(bogdan.maris)
Priority: P2 → --
Priority: -- → P2
Whiteboard: workaround in comments 5 and 6 → workaround in comment 9

(In reply to Zeid Zabaneh [:zeid] from comment #9)

Here is a workaround that should get you going on mozregression-gui 5.0.0:

Within the mozregression-gui directory, run:

$ rm libwayland-client.so.0
$ GDK_BACKEND=x11 QT_QPA_PLATFORM=wayland ./mozregression-gui

This should get it running, however you may still get some other errors and warnings, which you should be able to suppress by running the below (though make sure you have the right dev packages installed system-wide):

$ rm libstdc++.so.6
$ rm libgio-2.0.so.0

This is obviously a band-aid solution until we fix the packaging. Please confirm if this workaround works for you.

Without removing libstdc++.so.6 and libgio-2.0.so.0 I got a warning saying cannot open display: :0 but after removing them, the GUI started without any errors. So I can confirm that this is a good workaround for now.

Flags: needinfo?(bogdan.maris)

Hmm, it seems that I spoke too soon...If I try and use the tool and running a single build I get these errors in GUI log:

2022-10-19T09:03:00.788000: INFO : b'XPCOMGlueLoad error for file /tmp/tmpdfe_p0fu/firefox/libmozgtk.so:'
2022-10-19T09:03:00.789000: INFO : b'/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined symbol: g_source_set_static_name'
2022-10-19T09:03:00.794000: INFO : b"Couldn't load XPCOM."
2022-10-19T09:03:00.814000: WARNING : Process exited with code 255
2022-10-19T09:03:49.605000: INFO : Stopped

I am not able to reproduce this right now, is this happening with trying to run any build? I can try this again with a clean install to see if I can reproduce.

Depends on: 1796149

Yes, just a simple run of a random nightly build (from a few days ago), not a bisection necessarily (it does happen when doing a bisection as well).

Ok I wasn't able to reproduce this even with a clean Ubuntu install and the STR in the original bug. However, I believe deploying a separate build that's built on Ubuntu 22.04 should fix this issue, which will be done in bug 1796149 shortly.

(In reply to Zeid Zabaneh [:zeid] from comment #14)

Ok I wasn't able to reproduce this even with a clean Ubuntu install and the STR in the original bug. However, I believe deploying a separate build that's built on Ubuntu 22.04 should fix this issue, which will be done in bug 796149 shortly.

I'm really surprised, it was trivial to repro: download the bundled package, try to run it, it blows instantly.

(In reply to Alexandre LISSY :gerard-majax from comment #15)

(In reply to Zeid Zabaneh [:zeid] from comment #14)

Ok I wasn't able to reproduce this even with a clean Ubuntu install and the STR in the original bug. However, I believe deploying a separate build that's built on Ubuntu 22.04 should fix this issue, which will be done in bug 796149 shortly.

I'm really surprised, it was trivial to repro: download the bundled package, try to run it, it blows instantly.

I was able to reproduce the original issue, but not the issue in comment 11. Screenshot is fresh install in a virtual machine (VirtualBox). There are some warnings in the logs but no fatal errors.

(In reply to Zeid Zabaneh [:zeid] from comment #16)

(In reply to Alexandre LISSY :gerard-majax from comment #15)

(In reply to Zeid Zabaneh [:zeid] from comment #14)

Ok I wasn't able to reproduce this even with a clean Ubuntu install and the STR in the original bug. However, I believe deploying a separate build that's built on Ubuntu 22.04 should fix this issue, which will be done in bug 796149 shortly.

I'm really surprised, it was trivial to repro: download the bundled package, try to run it, it blows instantly.

I was able to reproduce the original issue, but not the issue in comment 11. Screenshot is fresh install in a virtual machine (VirtualBox). There are some warnings in the logs but no fatal errors.

Oh right, I misread then. Sorry.

Here is a screenshot from my side, showing the error

Can you please try running the updated build (mozregression-gui-ubuntu-22.04.tar.gz), which you can fetch from this URL: https://github.com/mozilla/mozregression/releases/tag/5.1.0.dev1 and let me know if you are still running into any issues?

Flags: needinfo?(bogdan.maris)

(In reply to Zeid Zabaneh [:zeid] from comment #20)

Can you please try running the updated build (mozregression-gui-ubuntu-22.04.tar.gz), which you can fetch from this URL: https://github.com/mozilla/mozregression/releases/tag/5.1.0.dev1 and let me know if you are still running into any issues?

Yep, this version seems to work just fine, the app is starting without errors and also I can successfully start a firefox build without issues. \o/

Flags: needinfo?(bogdan.maris)

Great, this will soon be merged and released as 5.1.0, but for now you should be OK using the dev release.

Awesome, will download the released version once its up thanks for the quick fix!

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: