Inconsistent segfault in GUI test on Qt signal.emit
https://github.com/Scille/parsec-cloud/runs/7854269358?check_suite_focus=true#step:13:95
Run poetry run pytest --log-level=DEBUG --durations=10 --side-effects-timeout=10 -vv -x tests --runmountpoint --runslow --rungui -m gui
[...]
tests/core/gui/test_main_window.py::test_link_file_disconnected_cancel_login PASSED [ 25%]
tests/core/gui/test_main_window.py::test_link_file_unknown_workspace PASSED [ 25%]
tests/core/gui/test_main_window.py::test_link_organization PASSED [ 25%]
tests/core/gui/test_main_window.py::test_link_organization_disconnected PASSED [ 26%]
Fatal Python error: Segmentation fault
Thread 0x00007fef5dffd700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007fef5ffff700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007fef91dfe700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007fef92f20700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007fef93fff700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007fefb56a1700 (most recent call first):
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/socket.py", line 293 in accept
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pytest_rerunfailures.py", line 429 in run_server
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Current thread 0x00007fefba7b7740 (most recent call first):
File "/home/runner/work/parsec-cloud/parsec-cloud/parsec/core/gui/trio_jobs.py", line 127 in _set_done
File "/home/runner/work/parsec-cloud/parsec-cloud/parsec/core/gui/trio_jobs.py", line 106 in set_cancelled
File "/home/runner/work/parsec-cloud/parsec-cloud/parsec/core/gui/trio_jobs.py", line 86 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_run.py", line 2181 in unrolled_run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/outcome/_impl.py", line 113 in send
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_run.py", line 1242 in guest_tick
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/qtrio/qt.py", line 31 in event
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/qtrio/_core.py", line 652 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/qtrio/_core.py", line 510 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pytest_trio/plugin.py", line 341 in wrapper
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/python.py", line 192 in pytest_pyfunc_call
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/python.py", line 1761 in runtest
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 166 in pytest_runtest_call
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 259 in <lambda>
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 338 in from_call
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 258 in call_runtest_hook
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 219 in call_and_report
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 130 in runtestprotocol
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 111 in pytest_runtest_protocol
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 347 in pytest_runtestloop
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 322 in _main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 268 in wrap_session
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 315 in pytest_cmdline_main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/config/__init__.py", line 164 in main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/config/__init__.py", line 187 in console_main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/bin/pytest", line 8 in <module>
/home/runner/work/_temp/355b9315-4806-4c63-be85-a45138d4221b.sh: line 1: 13488 Segmentation fault (core dumped) poetry run pytest --log-level=DEBUG --durations=10 --side-effects-timeout=10 -vv -x tests --runmountpoint --runslow --rungui -m gui
tests/core/gui/test_main_window.py::test_link_claim_device[True]
Error: Process completed with exit code 139.
After a quick loop at PyQt source code responsible to return the pyqtsignal bounded with the QWidget instance, it seems that the PyObject wrapping the C++ QWidget doesn't get it refcount updated.
// PyQt5 qpy/QtCore/qpycore_pyqtsignal.cpp
// Copyright (c) 2022 Riverbank Computing Limited <[email protected]>
// The type descriptor get slot.
static PyObject *pyqtSignal_descr_get(PyObject *self, PyObject *obj,
PyObject *)
{
qpycore_pyqtSignal *ps = (qpycore_pyqtSignal *)self;
// Return the unbound signal if there is nothing to bind it to.
if (obj == NULL || obj == Py_None)
{
Py_INCREF(self);
return self;
}
// Get the QObject.
int is_err = 0;
void *qobject = sipForceConvertToType(obj, sipType_QObject, 0,
SIP_NO_CONVERTORS, 0, &is_err);
if (is_err)
return 0;
// Return the bound signal.
return qpycore_pyqtBoundSignal_New(ps, obj,
reinterpret_cast<QObject *>(qobject));
}
Hence when the PyObject may be garbage collected (causing the C++ QWidget to be also freed) while there is still reference on the pyqtsignal :/
I think the fix would be to provide the PyObject instead of the pyqtsignal:
self.jobs_ctx.submit_job(
- self.invite_user_success,
- self.invite_user_error,
+ (self, "invite_user_success"),
+ (self, "invite_user_error"),
_do_invite_user,
core=self.core,
email=user_email,
)
Of course this is more verbose and error prone, so we might thing of something better...
another one: https://github.com/Scille/parsec-cloud/runs/8068077649?check_suite_focus=true
tests/core/gui/test_main_window.py::test_link_claim_device[True] PASSED [ 27%]
Fatal Python error: Segmentation fault
Thread 0x00007f5512ffe700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007f5521ffd700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007f553d848700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007f553e849700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007f5551473700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007f556ee56700 (most recent call first):
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/socket.py", line 293 in accept
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pytest_rerunfailures.py", line 429 in run_server
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Current thread 0x00007f55740b1740 (most recent call first):
File "/home/runner/work/parsec-cloud/parsec-cloud/parsec/core/gui/trio_jobs.py", line 127 in _set_done
File "/home/runner/work/parsec-cloud/parsec-cloud/parsec/core/gui/trio_jobs.py", line 106 in set_cancelled
File "/home/runner/work/parsec-cloud/parsec-cloud/parsec/core/gui/trio_jobs.py", line 86 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_run.py", line 2181 in unrolled_run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/outcome/_impl.py", line 113 in send
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_run.py", line 1242 in guest_tick
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/qtrio/qt.py", line 31 in event
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/qtrio/_core.py", line 652 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/qtrio/_core.py", line 510 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pytest_trio/plugin.py", line 341 in wrapper
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/python.py", line 192 in pytest_pyfunc_call
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/python.py", line 1761 in runtest
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 166 in pytest_runtest_call
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 259 in <lambda>
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 338 in from_call
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 258 in call_runtest_hook
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 219 in call_and_report
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 130 in runtestprotocol
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 111 in pytest_runtest_protocol
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 347 in pytest_runtestloop
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 322 in _main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 268 in wrap_session
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 315 in pytest_cmdline_main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/config/__init__.py", line 164 in main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/config/__init__.py", line 187 in console_main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/bin/pytest", line 8 in <module>
/home/runner/work/_temp/3a927ded-ac21-4870-82a3-030aea682465.sh: line 1: 19331 Segmentation fault (core dumped) poetry run pytest --log-level=DEBUG --durations=10 --side-effects-timeout=10 -vv -x tests --runmountpoint --runslow --rungui -m gui
tests/core/gui/test_main_window.py::test_link_claim_device[False]
Error: Process completed with exit code 139.
And another one: https://github.com/Scille/parsec-cloud/runs/8070499894?check_suite_focus=true
Fatal Python error: Segmentation fault
Thread 0x00007f64a2ffe700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007f6491ffd700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007f64b9848700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007f64c5ffd700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007f64c7fff700 (most recent call first):
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_thread_cache.py", line 74 in _work
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Thread 0x00007f64e9cbc700 (most recent call first):
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/socket.py", line 293 in accept
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pytest_rerunfailures.py", line 429 in run_server
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 917 in run
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/threading.py", line 937 in _bootstrap
Current thread 0x00007f64eef17740 (most recent call first):
File "/home/runner/work/parsec-cloud/parsec-cloud/parsec/core/gui/trio_jobs.py", line 127 in _set_done
File "/home/runner/work/parsec-cloud/parsec-cloud/parsec/core/gui/trio_jobs.py", line 106 in set_cancelled
File "/home/runner/work/parsec-cloud/parsec-cloud/parsec/core/gui/trio_jobs.py", line 86 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_run.py", line 2181 in unrolled_run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/outcome/_impl.py", line 113 in send
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/trio/_core/_run.py", line 1242 in guest_tick
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/qtrio/qt.py", line 31 in event
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/qtrio/_core.py", line 652 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/qtrio/_core.py", line 510 in run
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pytest_trio/plugin.py", line 341 in wrapper
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/python.py", line 192 in pytest_pyfunc_call
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/python.py", line 1761 in runtest
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 166 in pytest_runtest_call
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 259 in <lambda>
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 338 in from_call
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 258 in call_runtest_hook
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 219 in call_and_report
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 130 in runtestprotocol
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/runner.py", line 111 in pytest_runtest_protocol
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 347 in pytest_runtestloop
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 322 in _main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 268 in wrap_session
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/main.py", line 315 in pytest_cmdline_main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/config/__init__.py", line 164 in main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/lib/python3.9/site-packages/_pytest/config/__init__.py", line 187 in console_main
File "/home/runner/.cache/pypoetry/virtualenvs/parsec-cloud-dZ-E5qY_-py3.9/bin/pytest", line 8 in <module>
/home/runner/work/_temp/ff2da0c2-4dec-4136-a278-2d7065057d1c.sh: line 1: 19961 Segmentation fault (core dumped) poetry run pytest --log-level=DEBUG --durations=10 --side-effects-timeout=10 -vv -x tests --runmountpoint --runslow --rungui -m gui
tests/core/gui/test_main_window.py::test_link_claim_device[True]