Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pytest fails with Segmentation fault on headless session #41

Open
3 tasks done
alexandrevicenzi opened this issue Mar 21, 2024 · 1 comment
Open
3 tasks done

Comments

@alexandrevicenzi
Copy link

We are happy to answer your questions about the code or discuss technical ideas.

Please complete the following checklist (by adding [x]):

  • I have searched open and closed issues for duplicates
  • This isn't a feature request
  • This is not a report about my app not working as expected

The tests fail to run if the session has no desktop environment, for example, over SSH or while building an RPM. On a graphical environment, I see that tests open windows.

Ideally, tests should be skipped if there's no desktop, it might be easier than rewriting tests to not require a desktop env.

tests/unit/widgets/headerbar/menu/settings/test_account_settings.py Fatal Python error: Segmentation fault

Thread 0x00007f0fd4e5b700 (most recent call first):
  File "/usr/lib64/python3.10/selectors.py", line 469 in select
  File "/usr/lib64/python3.10/asyncio/base_events.py", line 1871 in _run_once
  File "/usr/lib64/python3.10/asyncio/base_events.py", line 603 in run_forever
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/proton/vpn/app/gtk/utils/executor.py", line 89 in _run_asyncio_loop_forever
  File "/usr/lib64/python3.10/threading.py", line 953 in run
  File "/usr/lib64/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/usr/lib64/python3.10/threading.py", line 973 in _bootstrap

Current thread 0x00007f0fe4013740 (most recent call first):
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib64/python3.10/site-packages/gi/overrides/__init__.py", line 313 in new_init
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/proton/vpn/app/gtk/widgets/headerbar/menu/settings/common.py", line 37 in __init__
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/proton/vpn/app/gtk/widgets/headerbar/menu/settings/account_settings.py", line 35 in __init__
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/tests/unit/widgets/headerbar/menu/settings/test_account_settings.py", line 18 in test_account_settings_when_is_called_upon_building_ui_elements
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/python.py", line 195 in pytest_pyfunc_call
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 102 in _multicall
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 119 in _hookexec
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 501 in __call__
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/python.py", line 1772 in runtest
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/runner.py", line 172 in pytest_runtest_call
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 102 in _multicall
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 119 in _hookexec
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 501 in __call__
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/runner.py", line 240 in <lambda>
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/runner.py", line 340 in from_call
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/runner.py", line 239 in call_and_report
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/runner.py", line 134 in runtestprotocol
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/runner.py", line 115 in pytest_runtest_protocol
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 102 in _multicall
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 119 in _hookexec
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 501 in __call__
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/main.py", line 364 in pytest_runtestloop
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 102 in _multicall
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 119 in _hookexec
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 501 in __call__
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/main.py", line 339 in _main
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/main.py", line 285 in wrap_session
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/main.py", line 332 in pytest_cmdline_main
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 102 in _multicall
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 119 in _hookexec
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 501 in __call__
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/config/__init__.py", line 174 in main
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/lib/python3.10/site-packages/_pytest/config/__init__.py", line 197 in console_main
  File "/home/alexandre/workspace/alxd/proton-vpn-gtk-app/venv/bin/pytest", line 8 in <module>

Extension modules: gi._gi, cairo._cairo, gi._gi_cairo, _cffi_backend, _dbus_bindings, _dbus_glib_bindings (total: 6)
[1]    14235 segmentation fault (core dumped)  pytest
@calexandru2018
Copy link
Member

Hey @alexandrevicenzi thanks for raising this. We actually configure this within our docker images as we basically emulate a desktop. I'll comeback at this tomorrow with the code example of what we're doing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants