Bug 2280580 - jrnl fails to build with Python 3.13: SystemError: error return without exception set
Summary: jrnl fails to build with Python 3.13: SystemError: error return without excep...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: jrnl
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ben Beasley
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.13
TreeView+ depends on / blocked
 
Reported: 2024-05-15 08:50 UTC by Karolina Surma
Modified: 2024-05-29 19:50 UTC (History)
3 users (show)

Fixed In Version: jrnl-4.1-6.fc41
Clone Of:
Environment:
Last Closed: 2024-05-29 19:50:21 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karolina Surma 2024-05-15 08:50:24 UTC
jrnl fails to build with Python 3.13.0b1.

=================================== FAILURES ===================================
__________________ TestYaml.test_export_to_nonexisting_folder __________________
[gw1] linux -- Python 3.13.0 /usr/bin/python3
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/_pytest/runner.py", line 341, in from_call
    result: Optional[TResult] = func()
                                ~~~~^^
  File "/usr/lib/python3.13/site-packages/_pytest/runner.py", line 262, in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
            ~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pluggy/_hooks.py", line 493, in __call__
    return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 115, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall
    return outcome.get_result()
           ~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result
    raise exc.with_traceback(exc.__traceback__)
  File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3.13/site-packages/_pytest/runner.py", line 177, in pytest_runtest_call
    raise e
  File "/usr/lib/python3.13/site-packages/_pytest/runner.py", line 169, in pytest_runtest_call
    item.runtest()
    ~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/_pytest/python.py", line 1792, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pluggy/_hooks.py", line 493, in __call__
    return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 115, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 113, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall
    res = hook_impl.function(*args)
  File "/usr/lib/python3.13/site-packages/_pytest/python.py", line 194, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/usr/lib64/python3.13/unittest/mock.py", line 1417, in patched
    with self.decoration_helper(patched,
    ...<2 lines>...
        return func(*newargs, **newkeywargs)
  File "/usr/lib64/python3.13/contextlib.py", line 141, in __enter__
    return next(self.gen)
  File "/usr/lib64/python3.13/unittest/mock.py", line 1399, in decoration_helper
    arg = exit_stack.enter_context(patching)
  File "/usr/lib64/python3.13/contextlib.py", line 530, in enter_context
    result = _enter(cm)
  File "/usr/lib64/python3.13/unittest/mock.py", line 1472, in __enter__
    self.target = self.getter()
                  ~~~~~~~~~~~^^
  File "/usr/lib64/python3.13/pkgutil.py", line 518, in resolve_name
    mod = importlib.import_module(s)
  File "/usr/lib64/python3.13/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1316, in _find_and_load_unlocked
SystemError: error return without exception set
=========================== short test summary info ============================
FAILED tests/unit/test_export.py::TestYaml::test_export_to_nonexisting_folder
================== 1 failed, 638 passed, 40 skipped in 8.91s ===================

https://docs.python.org/3.13/whatsnew/3.13.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.13/fedora-rawhide-x86_64/07445895-jrnl/

For all our attempts to build jrnl with Python 3.13, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.13/package/jrnl/

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.13:
https://copr.fedorainfracloud.org/coprs/g/python/python3.13/

Let us know here if you have any questions.

Python 3.13 is planned to be included in Fedora 41.
To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.13.
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 Ben Beasley 2024-05-15 12:32:05 UTC
I’m not able to reproduce this in a virtualenv in a git checkout from upstream. I had to remove some version pins to allow Python 3.13, and then update the poetry.lock file to allow the latest versions of all dependencies since I was seeing some unrelated test errors I couldn’t easily diagnose, but then everything worked. I’m inclined to say the problem is most likely in one of the test dependencies, but I don’t have currently a strategy for diagnosing this error.

Comment 2 Fedora Update System 2024-05-29 19:45:37 UTC
FEDORA-2024-c45b7a25bf (jrnl-4.1-6.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-c45b7a25bf

Comment 3 Fedora Update System 2024-05-29 19:50:21 UTC
FEDORA-2024-c45b7a25bf (jrnl-4.1-6.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.