[Bug 2112506] [NEW] Segmentation fault while multithreading and multiprocessing (Python 3.8, 3.9; pytest-xdist; opentelemetry-sdk), intermittently reproducible
Dima Tisnek
2112506 at bugs.launchpad.net
Thu Jun 5 00:57:26 UTC 2025
Public bug reported:
We're facing an issue where sometimes Python 3.8 and 3.9 crash while
running out suite of pure-Python unit tests.
Python 3.10 and higher are not affected.
The key seems to be multithreading and forking/multiprocessing.
The segmentation fault seem to happen in ContextVar.set
Symptom when using pytest-xdist: worker 'gw0' crashed while running
'testing/tests/test_e2e/test_...'
I believe it's the same issue in py 3.8 and 3.9.
I don't have a backtrace for 3.8 though.
3.9 provides a magic env var where Python dumps stack of all threads and I get this:
```
2025-05-30T00:34:40.0891620Z Fatal Python error: Segmentation fault
2025-05-30T00:34:40.0892247Z testing/tests/test_e2e/test_state.py::test_bare_event
2025-05-30T00:34:40.0892663Z
2025-05-30T00:34:40.0893997Z [gw0]�[36m [ 85%] �[0m�[32mPASSED�[0m testing/tests/test_e2e/test_state.py::test_bare_event
2025-05-30T00:34:40.0895862Z Thread 0x00007f1a631b66c0 (most recent call first):
2025-05-30T00:34:40.0898168Z File "/opt/hostedtoolcache/Python/3.9.22/x64/lib/python3.9/threading.py", line 316 in wait
2025-05-30T00:34:40.0899660Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/sdk/trace/export/__init__.py", line 258 in worker
2025-05-30T00:34:40.0906958Z File "/opt/hostedtoolcache/Python/3.9.22/x64/lib/python3.9/threading.py", line 917 in run
2025-05-30T00:34:40.0908249Z File "/opt/hostedtoolcache/Python/3.9.22/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
2025-05-30T00:34:40.0909611Z File "/opt/hostedtoolcache/Python/3.9.22/x64/lib/python3.9/threading.py", line 937 in _bootstrap
2025-05-30T00:34:40.0910341Z
2025-05-30T00:34:40.0910646Z Thread 0x00007f1a6a9ff6c0 (most recent call first):
2025-05-30T00:34:40.0911883Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 534 in read
2025-05-30T00:34:40.0913638Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 567 in from_io
2025-05-30T00:34:40.0915652Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 1160 in _thread_receiver
2025-05-30T00:34:40.0917394Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 341 in run
2025-05-30T00:34:40.0919223Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 411 in _perform_spawn
2025-05-30T00:34:40.0920247Z
2025-05-30T00:34:40.0935905Z Current thread 0x00007f1a6be30b80 (most recent call first):
2025-05-30T00:34:40.0937432Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/context/contextvars_context.py", line 41 in attach
2025-05-30T00:34:40.0939416Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/context/__init__.py", line 144 in attach
2025-05-30T00:34:40.0941588Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/trace/__init__.py", line 585 in use_span
2025-05-30T00:34:40.0943532Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/util/_decorator.py", line 61 in __enter__
2025-05-30T00:34:40.0945978Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/sdk/trace/__init__.py", line 1099 in start_as_current_span
2025-05-30T00:34:40.0948097Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/util/_decorator.py", line 61 in __enter__
2025-05-30T00:34:40.0950167Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/trace/__init__.py", line 451 in start_as_current_span
2025-05-30T00:34:40.0952114Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/util/_decorator.py", line 61 in __enter__
2025-05-30T00:34:40.0966905Z File "/home/runner/work/operator/operator/ops/framework.py", line 1014 in _reemit
2025-05-30T00:34:40.0967960Z File "/home/runner/work/operator/operator/ops/framework.py", line 924 in _emit
2025-05-30T00:34:40.0969147Z File "/home/runner/work/operator/operator/testing/src/scenario/_runtime.py", line 397 in _wrapped_emit
2025-05-30T00:34:40.0970440Z File "/home/runner/work/operator/operator/testing/src/scenario/_runtime.py", line 397 in _wrapped_emit
2025-05-30T00:34:40.0971891Z File "/home/runner/work/operator/operator/testing/src/scenario/_runtime.py", line 397 in _wrapped_emit
2025-05-30T00:34:40.0988312Z File "/home/runner/work/operator/operator/ops/framework.py", line 351 in emit
2025-05-30T00:34:40.0989384Z File "/home/runner/work/operator/operator/ops/charm.py", line 1432 in _evaluate_status
2025-05-30T00:34:40.0990396Z File "/home/runner/work/operator/operator/ops/_main.py", line 405 in _emit
2025-05-30T00:34:40.0991303Z File "/home/runner/work/operator/operator/ops/_main.py", line 459 in run
2025-05-30T00:34:40.0992346Z File "/home/runner/work/operator/operator/testing/src/scenario/context.py", line 121 in run
2025-05-30T00:34:40.0993485Z File "/home/runner/work/operator/operator/testing/tests/helpers.py", line 58 in trigger
2025-05-30T00:34:40.0994803Z File "/home/runner/work/operator/operator/testing/tests/test_e2e/test_state.py", line 118 in test_status_setting
2025-05-30T00:34:40.0996537Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/python.py", line 194 in pytest_pyfunc_call
2025-05-30T00:34:40.0998158Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_callers.py", line 121 in _multicall
2025-05-30T00:34:40.0999724Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_manager.py", line 120 in _hookexec
2025-05-30T00:34:40.1001281Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_hooks.py", line 512 in __call__
2025-05-30T00:34:40.1002849Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/python.py", line 1792 in runtest
2025-05-30T00:34:40.1004433Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 169 in pytest_runtest_call
2025-05-30T00:34:40.1006300Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_callers.py", line 121 in _multicall
2025-05-30T00:34:40.1007899Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_manager.py", line 120 in _hookexec
2025-05-30T00:34:40.1009392Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_hooks.py", line 512 in __call__
2025-05-30T00:34:40.1010951Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 262 in <lambda>
2025-05-30T00:34:40.1012530Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 341 in from_call
2025-05-30T00:34:40.1014321Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 261 in call_runtest_hook
2025-05-30T00:34:40.1016168Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 222 in call_and_report
2025-05-30T00:34:40.1018049Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 133 in runtestprotocol
2025-05-30T00:34:40.1019805Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 114 in pytest_runtest_protocol
2025-05-30T00:34:40.1021411Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_callers.py", line 121 in _multicall
2025-05-30T00:34:40.1022944Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_manager.py", line 120 in _hookexec
2025-05-30T00:34:40.1024443Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_hooks.py", line 512 in __call__
2025-05-30T00:34:40.1026253Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/xdist/remote.py", line 195 in run_one_test
2025-05-30T00:34:40.1027834Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/xdist/remote.py", line 174 in pytest_runtestloop
2025-05-30T00:34:40.1029603Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_callers.py", line 121 in _multicall
2025-05-30T00:34:40.1031155Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_manager.py", line 120 in _hookexec
2025-05-30T00:34:40.1032647Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_hooks.py", line 512 in __call__
2025-05-30T00:34:40.1034098Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/main.py", line 325 in _main
2025-05-30T00:34:40.1035736Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/main.py", line 271 in wrap_session
2025-05-30T00:34:40.1037330Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/main.py", line 318 in pytest_cmdline_main
2025-05-30T00:34:40.1038988Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_callers.py", line 121 in _multicall
2025-05-30T00:34:40.1040543Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_manager.py", line 120 in _hookexec
2025-05-30T00:34:40.1042109Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_hooks.py", line 512 in __call__
2025-05-30T00:34:40.1043572Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/xdist/remote.py", line 393 in <module>
2025-05-30T00:34:40.1045389Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 1291 in executetask
2025-05-30T00:34:40.1047023Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 341 in run
2025-05-30T00:34:40.1048665Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 411 in _perform_spawn
2025-05-30T00:34:40.1050508Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 389 in integrate_as_primary_thread
2025-05-30T00:34:40.1052307Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 1273 in serve
2025-05-30T00:34:40.1053855Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 1806 in serve
2025-05-30T00:34:40.1054927Z File "<string>", line 8 in <module>
2025-05-30T00:34:40.1075786Z File "<string>", line 1 in <module>
2025-05-30T00:34:40.1123245Z testing/tests/test_e2e/test_state.py::test_leader_get
```
We can hit this both in local env (python from astral) as well as github actions (ubuntu latest).
We're tracking it here https://github.com/canonical/operator/issues/1771
More backtraces, etc., are attached there.
Incidence: takes about one hour on a multi-core system running unit
tests back to back. That's between once per 100K to once per 10K tests.
An upstream ticket, https://github.com/python/cpython/issues/122529 looks very similar to my report.
CPython no longer accepts bug fixes for 3.8 through 3.12 howerver, so if this is ever going to be fixed, that would be in the context of Ubuntu LTS.
** Affects: python3.8 (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python3.8 in Ubuntu.
https://bugs.launchpad.net/bugs/2112506
Title:
Segmentation fault while multithreading and multiprocessing (Python
3.8, 3.9; pytest-xdist; opentelemetry-sdk), intermittently
reproducible
Status in python3.8 package in Ubuntu:
New
Bug description:
We're facing an issue where sometimes Python 3.8 and 3.9 crash while
running out suite of pure-Python unit tests.
Python 3.10 and higher are not affected.
The key seems to be multithreading and forking/multiprocessing.
The segmentation fault seem to happen in ContextVar.set
Symptom when using pytest-xdist: worker 'gw0' crashed while running
'testing/tests/test_e2e/test_...'
I believe it's the same issue in py 3.8 and 3.9.
I don't have a backtrace for 3.8 though.
3.9 provides a magic env var where Python dumps stack of all threads and I get this:
```
2025-05-30T00:34:40.0891620Z Fatal Python error: Segmentation fault
2025-05-30T00:34:40.0892247Z testing/tests/test_e2e/test_state.py::test_bare_event
2025-05-30T00:34:40.0892663Z
2025-05-30T00:34:40.0893997Z [gw0]�[36m [ 85%] �[0m�[32mPASSED�[0m testing/tests/test_e2e/test_state.py::test_bare_event
2025-05-30T00:34:40.0895862Z Thread 0x00007f1a631b66c0 (most recent call first):
2025-05-30T00:34:40.0898168Z File "/opt/hostedtoolcache/Python/3.9.22/x64/lib/python3.9/threading.py", line 316 in wait
2025-05-30T00:34:40.0899660Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/sdk/trace/export/__init__.py", line 258 in worker
2025-05-30T00:34:40.0906958Z File "/opt/hostedtoolcache/Python/3.9.22/x64/lib/python3.9/threading.py", line 917 in run
2025-05-30T00:34:40.0908249Z File "/opt/hostedtoolcache/Python/3.9.22/x64/lib/python3.9/threading.py", line 980 in _bootstrap_inner
2025-05-30T00:34:40.0909611Z File "/opt/hostedtoolcache/Python/3.9.22/x64/lib/python3.9/threading.py", line 937 in _bootstrap
2025-05-30T00:34:40.0910341Z
2025-05-30T00:34:40.0910646Z Thread 0x00007f1a6a9ff6c0 (most recent call first):
2025-05-30T00:34:40.0911883Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 534 in read
2025-05-30T00:34:40.0913638Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 567 in from_io
2025-05-30T00:34:40.0915652Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 1160 in _thread_receiver
2025-05-30T00:34:40.0917394Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 341 in run
2025-05-30T00:34:40.0919223Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 411 in _perform_spawn
2025-05-30T00:34:40.0920247Z
2025-05-30T00:34:40.0935905Z Current thread 0x00007f1a6be30b80 (most recent call first):
2025-05-30T00:34:40.0937432Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/context/contextvars_context.py", line 41 in attach
2025-05-30T00:34:40.0939416Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/context/__init__.py", line 144 in attach
2025-05-30T00:34:40.0941588Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/trace/__init__.py", line 585 in use_span
2025-05-30T00:34:40.0943532Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/util/_decorator.py", line 61 in __enter__
2025-05-30T00:34:40.0945978Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/sdk/trace/__init__.py", line 1099 in start_as_current_span
2025-05-30T00:34:40.0948097Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/util/_decorator.py", line 61 in __enter__
2025-05-30T00:34:40.0950167Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/trace/__init__.py", line 451 in start_as_current_span
2025-05-30T00:34:40.0952114Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/opentelemetry/util/_decorator.py", line 61 in __enter__
2025-05-30T00:34:40.0966905Z File "/home/runner/work/operator/operator/ops/framework.py", line 1014 in _reemit
2025-05-30T00:34:40.0967960Z File "/home/runner/work/operator/operator/ops/framework.py", line 924 in _emit
2025-05-30T00:34:40.0969147Z File "/home/runner/work/operator/operator/testing/src/scenario/_runtime.py", line 397 in _wrapped_emit
2025-05-30T00:34:40.0970440Z File "/home/runner/work/operator/operator/testing/src/scenario/_runtime.py", line 397 in _wrapped_emit
2025-05-30T00:34:40.0971891Z File "/home/runner/work/operator/operator/testing/src/scenario/_runtime.py", line 397 in _wrapped_emit
2025-05-30T00:34:40.0988312Z File "/home/runner/work/operator/operator/ops/framework.py", line 351 in emit
2025-05-30T00:34:40.0989384Z File "/home/runner/work/operator/operator/ops/charm.py", line 1432 in _evaluate_status
2025-05-30T00:34:40.0990396Z File "/home/runner/work/operator/operator/ops/_main.py", line 405 in _emit
2025-05-30T00:34:40.0991303Z File "/home/runner/work/operator/operator/ops/_main.py", line 459 in run
2025-05-30T00:34:40.0992346Z File "/home/runner/work/operator/operator/testing/src/scenario/context.py", line 121 in run
2025-05-30T00:34:40.0993485Z File "/home/runner/work/operator/operator/testing/tests/helpers.py", line 58 in trigger
2025-05-30T00:34:40.0994803Z File "/home/runner/work/operator/operator/testing/tests/test_e2e/test_state.py", line 118 in test_status_setting
2025-05-30T00:34:40.0996537Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/python.py", line 194 in pytest_pyfunc_call
2025-05-30T00:34:40.0998158Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_callers.py", line 121 in _multicall
2025-05-30T00:34:40.0999724Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_manager.py", line 120 in _hookexec
2025-05-30T00:34:40.1001281Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_hooks.py", line 512 in __call__
2025-05-30T00:34:40.1002849Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/python.py", line 1792 in runtest
2025-05-30T00:34:40.1004433Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 169 in pytest_runtest_call
2025-05-30T00:34:40.1006300Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_callers.py", line 121 in _multicall
2025-05-30T00:34:40.1007899Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_manager.py", line 120 in _hookexec
2025-05-30T00:34:40.1009392Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_hooks.py", line 512 in __call__
2025-05-30T00:34:40.1010951Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 262 in <lambda>
2025-05-30T00:34:40.1012530Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 341 in from_call
2025-05-30T00:34:40.1014321Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 261 in call_runtest_hook
2025-05-30T00:34:40.1016168Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 222 in call_and_report
2025-05-30T00:34:40.1018049Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 133 in runtestprotocol
2025-05-30T00:34:40.1019805Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/runner.py", line 114 in pytest_runtest_protocol
2025-05-30T00:34:40.1021411Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_callers.py", line 121 in _multicall
2025-05-30T00:34:40.1022944Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_manager.py", line 120 in _hookexec
2025-05-30T00:34:40.1024443Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_hooks.py", line 512 in __call__
2025-05-30T00:34:40.1026253Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/xdist/remote.py", line 195 in run_one_test
2025-05-30T00:34:40.1027834Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/xdist/remote.py", line 174 in pytest_runtestloop
2025-05-30T00:34:40.1029603Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_callers.py", line 121 in _multicall
2025-05-30T00:34:40.1031155Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_manager.py", line 120 in _hookexec
2025-05-30T00:34:40.1032647Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_hooks.py", line 512 in __call__
2025-05-30T00:34:40.1034098Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/main.py", line 325 in _main
2025-05-30T00:34:40.1035736Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/main.py", line 271 in wrap_session
2025-05-30T00:34:40.1037330Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/_pytest/main.py", line 318 in pytest_cmdline_main
2025-05-30T00:34:40.1038988Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_callers.py", line 121 in _multicall
2025-05-30T00:34:40.1040543Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_manager.py", line 120 in _hookexec
2025-05-30T00:34:40.1042109Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/pluggy/_hooks.py", line 512 in __call__
2025-05-30T00:34:40.1043572Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/xdist/remote.py", line 393 in <module>
2025-05-30T00:34:40.1045389Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 1291 in executetask
2025-05-30T00:34:40.1047023Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 341 in run
2025-05-30T00:34:40.1048665Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 411 in _perform_spawn
2025-05-30T00:34:40.1050508Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 389 in integrate_as_primary_thread
2025-05-30T00:34:40.1052307Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 1273 in serve
2025-05-30T00:34:40.1053855Z File "/home/runner/work/operator/operator/.tox/unit/lib/python3.9/site-packages/execnet/gateway_base.py", line 1806 in serve
2025-05-30T00:34:40.1054927Z File "<string>", line 8 in <module>
2025-05-30T00:34:40.1075786Z File "<string>", line 1 in <module>
2025-05-30T00:34:40.1123245Z testing/tests/test_e2e/test_state.py::test_leader_get
```
We can hit this both in local env (python from astral) as well as github actions (ubuntu latest).
We're tracking it here https://github.com/canonical/operator/issues/1771
More backtraces, etc., are attached there.
Incidence: takes about one hour on a multi-core system running unit
tests back to back. That's between once per 100K to once per 10K
tests.
An upstream ticket, https://github.com/python/cpython/issues/122529 looks very similar to my report.
CPython no longer accepts bug fixes for 3.8 through 3.12 howerver, so if this is ever going to be fixed, that would be in the context of Ubuntu LTS.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python3.8/+bug/2112506/+subscriptions
More information about the foundations-bugs
mailing list