Bug 1913208

Summary: home-assistant-cli fails to build with Python 3.10: Fatal Python error: Segmentation fault
Product: [Fedora] Fedora Reporter: Tomáš Hrnčiar <thrnciar>
Component: home-assistant-cliAssignee: Fabian Affolter <mail>
Status: CLOSED NOTABUG QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mail, mhroncok, thrnciar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-01-06 12:01:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1890881    

Description Tomáš Hrnčiar 2021-01-06 09:39:03 UTC
home-assistant-cli fails to build with Python 3.10.0a4.

============================= test session starts ==============================
platform linux -- Python 3.10.0a4, pytest-6.0.2, py-1.10.0, pluggy-0.13.1 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /builddir/build/BUILD/home-assistant-cli-0.9.1, configfile: setup.cfg, testpaths: tests
plugins: requests-mock-1.8.0, timeout-1.4.2, sugar-0.9.3, cov-2.10.1
collecting ... Fatal Python error: Segmentation fault

Current thread 0x00007fab41de1740 (most recent call first):
  File "/usr/lib64/python3.10/site-packages/aiohttp/hdrs.py", line 32 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 833 in exec_module
  File "<frozen importlib._bootstrap>", line 698 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1005 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1026 in _find_and_load
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1077 in _handle_fromlist
  File "/usr/lib64/python3.10/site-packages/aiohttp/__init__.py", line 5 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 833 in exec_module
  File "<frozen importlib._bootstrap>", line 698 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1005 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1026 in _find_and_load
  File "/builddir/build/BUILD/home-assistant-cli-0.9.1/homeassistant_cli/remote.py", line 17 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 833 in exec_module
  File "<frozen importlib._bootstrap>", line 698 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1005 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1026 in _find_and_load
  File "/builddir/build/BUILD/home-assistant-cli-0.9.1/homeassistant_cli/autocompletion.py", line 9 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 833 in exec_module
  File "<frozen importlib._bootstrap>", line 698 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1005 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1026 in _find_and_load
  File "/builddir/build/BUILD/home-assistant-cli-0.9.1/homeassistant_cli/cli.py", line 11 in <module>
  File "<frozen importlib._bootstrap>", line 241 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 833 in exec_module
  File "<frozen importlib._bootstrap>", line 698 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1005 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1026 in _find_and_load
  File "/builddir/build/BUILD/home-assistant-cli-0.9.1/tests/test_area.py", line 8 in <module>
  File "/usr/lib/python3.10/site-packages/_pytest/assertion/rewrite.py", line 170 in exec_module
  File "<frozen importlib._bootstrap>", line 698 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1005 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1026 in _find_and_load
  File "<frozen importlib._bootstrap>", line 1049 in _gcd_import
  File "/usr/lib64/python3.10/importlib/__init__.py", line 126 in import_module
  File "/usr/lib/python3.10/site-packages/_pytest/pathlib.py", line 520 in import_path
  File "/usr/lib/python3.10/site-packages/_pytest/python.py", line 552 in _importtestmodule
  File "/usr/lib/python3.10/site-packages/_pytest/python.py", line 484 in _getobj
  File "/usr/lib/python3.10/site-packages/_pytest/python.py", line 288 in obj
  File "/usr/lib/python3.10/site-packages/_pytest/python.py", line 500 in _inject_setup_module_fixture
  File "/usr/lib/python3.10/site-packages/_pytest/python.py", line 487 in collect
  File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 324 in <lambda>
  File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 294 in from_call
  File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 324 in pytest_make_collect_report
  File "/usr/lib/python3.10/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3.10/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/lib/python3.10/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/lib/python3.10/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3.10/site-packages/_pytest/runner.py", line 441 in collect_one_node
  File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 768 in genitems
  File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 771 in genitems
  File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 568 in _perform_collect
  File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 516 in perform_collect
  File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 306 in pytest_collection
  File "/usr/lib/python3.10/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3.10/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/lib/python3.10/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/lib/python3.10/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 295 in _main
  File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 240 in wrap_session
  File "/usr/lib/python3.10/site-packages/_pytest/main.py", line 289 in pytest_cmdline_main
  File "/usr/lib/python3.10/site-packages/pluggy/callers.py", line 187 in _multicall
  File "/usr/lib/python3.10/site-packages/pluggy/manager.py", line 84 in <lambda>
  File "/usr/lib/python3.10/site-packages/pluggy/manager.py", line 93 in _hookexec
  File "/usr/lib/python3.10/site-packages/pluggy/hooks.py", line 286 in __call__
  File "/usr/lib/python3.10/site-packages/_pytest/config/__init__.py", line 157 in main
  File "/usr/lib/python3.10/site-packages/_pytest/config/__init__.py", line 180 in console_main
  File "/usr/bin/pytest-3.10", line 33 in <module>
/var/tmp/rpm-tmp.1nJ6Jt: line 33:   296 Segmentation fault      (core dumped) PYTHONPATH=/builddir/build/BUILDROOT/home-assistant-cli-0.9.1-4.fc34.x86_64//usr/lib/python3.10/site-packages/ pytest-3.10 -v tests -k "not test_commands_loads[template]"

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.10/fedora-rawhide-x86_64/01859758-home-assistant-cli/

For all our attempts to build home-assistant-cli with Python 3.10, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.10/package/home-assistant-cli/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.10:
https://copr.fedorainfracloud.org/coprs/g/python/python3.10/

Let us know here if you have any questions.

Python 3.10 will be included in Fedora 35. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.10.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Miro Hrončok 2021-01-06 12:01:37 UTC
Disregard this report.