Bug 2374314
| Summary: | Cython: FTBFS in Fedora Rawhide with tests: AssertionErrors + build hangs forever | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Karolina Surma <ksurma> |
| Component: | Cython | Assignee: | Charalampos Stratakis <cstratak> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | awilliam, igor.raits, mhroncok, ndbecker2, python-packagers-sig, steve.traylen |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Linux | ||
| URL: | https://koschei.fedoraproject.org/package/Cython | ||
| Whiteboard: | |||
| Fixed In Version: | Cython-3.1.2-2.fc43 | Doc Type: | --- |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2025-08-06 23:13:23 UTC | Type: | --- |
| 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: | 2365167 | ||
| Bug Blocks: | 2322407, 2339432 | ||
We should probably try updating Cython to see if it helps. This is blocked by dask. wait, sorry, got lost in the maze there, wrong thing. cython doesn't need dask. FEDORA-2025-b184fd145b (Cython-3.1.2-2.fc43) has been submitted as an update to Fedora 43. https://bodhi.fedoraproject.org/updates/FEDORA-2025-b184fd145b FEDORA-2025-b184fd145b (Cython-3.1.2-2.fc43) has been pushed to the Fedora 43 stable repository. If problem still persists, please make note of it in this bug report. |
Description of problem: Package Cython fails to build from source in Fedora Rawhide when run with tests. Version-Release number of selected component (if applicable): 3.0.12-3.fc43 Steps to Reproduce: Switch the tests bcond on Run a mockbuild Reproducible: Always Actual Results: There's a few groups of issues: ERROR: test_badsyntax_3 (test_coroutines_pep492.AsyncBadSyntaxTest.test_badsyntax_3) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests/run/test_coroutines_pep492.pyx", line 524, in test_coroutines_pep492.AsyncBadSyntaxTest.test_badsyntax_3 (test_coroutines_pep492.c:24716) with warnings.catch_warnings(): File "tests/run/test_coroutines_pep492.pyx", line 526, in test_coroutines_pep492.AsyncBadSyntaxTest.test_badsyntax_3 (test_coroutines_pep492.c:24658) compile("async = 1", "<test>", "exec") File "tests/run/test_coroutines_pep492.pyx", line 97, in test_coroutines_pep492.compile (test_coroutines_pep492.c:19612) exec(code_string, {}, {}) File "tests/run/test_coroutines_pep492.pyx", line 90, in test_coroutines_pep492.exec (test_coroutines_pep492.c:19247) ns = inline(code_string, locals=l, globals=g, lib_dir=os.path.dirname(__file__), language_level=3) File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Shadow.py", line 149, in inline return _cython_inline(f, *args, **kwds) File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Build/Inline.py", line 287, in cython_inline build_extension.extensions = cythonize( ~~~~~~~~~^ [extension], ^^^^^^^^^^^^ include_path=cython_include_dirs or ['.'], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ compiler_directives=cython_compiler_directives, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ quiet=quiet) ^^^^^^^^^^^^ File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Build/Dependencies.py", line 1154, in cythonize cythonize_one(*args) ~~~~~~~~~~~~~^^^^^^^ File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Build/Dependencies.py", line 1300, in cythonize_one result = compile_single(pyx_file, options, full_module_name=full_module_name) File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Compiler/Main.py", line 615, in compile_single return run_pipeline(source, options, full_module_name) File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Compiler/Main.py", line 539, in run_pipeline err, enddata = Pipeline.run_pipeline(pipeline, source) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Compiler/Pipeline.py", line 398, in run_pipeline data = run(phase, data) File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Compiler/Pipeline.py", line 375, in run return phase(data) File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Compiler/Pipeline.py", line 52, in generate_pyx_code_stage module_node.process_implementation(options, result) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Compiler/ModuleNode.py", line 222, in process_implementation self.generate_c_code(env, options, result) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Compiler/ModuleNode.py", line 548, in generate_c_code f = open_new_file(result.c_file) File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/Cython/Utils.py", line 152, in open_new_file return codecs.open(path, "w", encoding="ISO-8859-1") ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen codecs>", line 916, in open DeprecationWarning: codecs.open() is deprecated. Use open() instead. FAIL: div_by_0 (float_division) Doctest: float_division.div_by_0 ---------------------------------------------------------------------- AssertionError: Failed doctest test for float_division.div_by_0 File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/TEST_TMP/1/run/c/float_division/float_division.cpython-314-x86_64-linux-gnu.so", line unknown line number, in div_by_0 ---------------------------------------------------------------------- File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/TEST_TMP/1/run/c/float_division/float_division.cpython-314-x86_64-linux-gnu.so", line ?, in float_division.div_by_0 Failed example: div_by_0(0) # doctest: +ELLIPSIS Expected: Traceback (most recent call last): ZeroDivisionError: float division... Got: Traceback (most recent call last): File "<doctest float_division.div_by_0[0]>", line 1, in <module> div_by_0(0) # doctest: +ELLIPSIS ~~~~~~~~^^^ File "tests/run/float_division.pyx", line 59, in float_division.div_by_0 (float_division.c:2826) return x / 0.0 ZeroDivisionError: division by zero FAIL: test_use_typing_attributes_as_non_annotations (pep526_variable_annotations) Doctest: pep526_variable_annotations.test_use_typing_attributes_as_non_annotations ---------------------------------------------------------------------- AssertionError: Failed doctest test for pep526_variable_annotations.test_use_typing_attributes_as_non_annotations File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/TEST_TMP/0/run/c/pep526_variable_annotations/pep526_variable_annotations.cpython-314-x86_64-linux-gnu.so", line unknown line number, in test_use_typing_attributes_as_non_annotations ---------------------------------------------------------------------- File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/TEST_TMP/0/run/c/pep526_variable_annotations/pep526_variable_annotations.cpython-314-x86_64-linux-gnu.so", line ?, in pep526_variable_annotations.test_use_typing_attributes_as_non_annotations Failed example: test_use_typing_attributes_as_non_annotations() Expected: typing.Tuple typing.Tuple[int] typing.Optional True typing.Optional True Got: typing.Tuple typing.Tuple[int] typing.Optional typing.FrozenSet | None typing.Optional typing.Dict | None FAIL: setdefault1 (dict_setdefault) Doctest: dict_setdefault.setdefault1 ---------------------------------------------------------------------- AssertionError: Failed doctest test for dict_setdefault.setdefault1 File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/TEST_TMP/3/run/c/dict_setdefault/dict_setdefault.cpython-314-x86_64-linux-gnu.so", line unknown line number, in setdefault1 ---------------------------------------------------------------------- File "/builddir/build/BUILD/Cython-3.0.12-build/cython-3.0.12/TEST_TMP/3/run/c/dict_setdefault/dict_setdefault.cpython-314-x86_64-linux-gnu.so", line ?, in dict_setdefault.setdefault1 Failed example: setdefault1(d, Unhashable()) Expected: Traceback (most recent call last): TypeError: I am not hashable Got: Traceback (most recent call last): File "<doctest dict_setdefault.setdefault1[6]>", line 1, in <module> setdefault1(d, Unhashable()) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "tests/run/dict_setdefault.py", line 68, in dict_setdefault.setdefault1 (dict_setdefault.c:3697) return d.setdefault(key) TypeError: cannot use 'dict_setdefault.Unhashable' as a dict key (I am not hashable) FAIL: test_capitalize_nonascii (test_unicode.UnicodeTest.test_capitalize_nonascii) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests/run/test_unicode_string_tests.pxi", line 993, in test_unicode.CommonTest.test_capitalize_nonascii (test_unicode.c:47864) self.checkequal('\u019b\u1d00\u1d86\u0221\u1fb7', File "tests/run/test_unicode_string_tests.pxi", line 64, in test_unicode.BaseTest.checkequal (test_unicode.c:22628) self.assertEqual( AssertionError: 'ƛᴀᶆȡᾷ' != 'ᴀᶆȡᾷ' - ƛᴀᶆȡᾷ ? ^ + ᴀᶆȡᾷ ? ^ ====================================================================== FAIL: test_printable_repr (test_unicode.UnicodeTest.test_printable_repr) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests/run/test_unicode.pyx", line 2314, in test_unicode.UnicodeTest.test_printable_repr (test_unicode.c:143140) self.assertEqual(repr('\U00014000'), "'\\U00014000'") # nonprintable AssertionError: "''" != "'\\U00014000'" - '' + '\U00014000'