Bug 2265524 - kitty fails to build with Python 3.13: AssertionError: Child did not exit in 10 seconds.; SystemError: /builddir/build/BUILD/Python-3.13.0a4/Objects/abstract.c:430: bad argument to internal function
Summary: kitty fails to build with Python 3.13: AssertionError: Child did not exit in ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kitty
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jonathan Wright
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.13
TreeView+ depends on / blocked
 
Reported: 2024-02-22 14:55 UTC by Karolina Surma
Modified: 2024-06-13 20:23 UTC (History)
9 users (show)

Fixed In Version: kitty-0.35.1-3.fc41
Clone Of:
Environment:
Last Closed: 2024-06-13 20:23:25 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github kovidgoyal kitty issues 7426 0 None closed Tests failure with python-3.13.0b1 2024-05-31 07:07:59 UTC

Description Karolina Surma 2024-02-22 14:55:41 UTC
kitty fails to build with Python 3.13.0a4.

======================================================================
ERROR: test_rsync_roundtrip (kitty_tests.file_transmission.TestFileTransmission.test_rsync_roundtrip)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/kitty-0.32.2/kitty_tests/file_transmission.py", line 226, in test_rsync_roundtrip
    test_rsync_roundtrip(self)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^
    self = <kitty_tests.file_transmission.TestFileTransmission testMethod=test_rsync_roundtrip>
  File "/builddir/build/BUILD/kitty-0.32.2/kitty_tests/file_transmission.py", line 145, in test_rsync_roundtrip
    run_roundtrip_test(self, src_data, src_data[block_size:], 1, block_size)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    block_size = 16
    changed = b'0__patch1_______patch2__________2_______________3_______________4_______________5_______________6_______________7_______________8_ptch3_________9_______________10______________patch4__________12______________13____________XXYY______________15______________'
    num_of_patches = 5
    self = <kitty_tests.file_transmission.TestFileTransmission testMethod=test_rsync_roundtrip>
    src_data = b'0_______________1_______________2_______________3_______________4_______________5_______________6_______________7_______________8_______________9_______________10______________11______________12______________13______________14______________15______________'
    total_patch_size = 27
  File "/builddir/build/BUILD/kitty-0.32.2/kitty_tests/file_transmission.py", line 82, in run_roundtrip_test
    n = p.signature_header(buf)
        ~~~~~~~~~~~~~~~~~~^^^^^
    buf = <memory at 0x7fc6dd6c3a00>
    changed = b'1_______________2_______________3_______________4_______________5_______________6_______________7_______________8_______________9_______________10______________11______________12______________13______________14______________15______________'
    num_of_patches = 1
    p = <rsync.Patcher object at 0x7fc6dd465430>
    self = <kitty_tests.file_transmission.TestFileTransmission testMethod=test_rsync_roundtrip>
    signature = bytearray(b'')
    src_data = b'0_______________1_______________2_______________3_______________4_______________5_______________6_______________7_______________8_______________9_______________10______________11______________12______________13______________14______________15______________'
    total_patch_size = 16
SystemError: /builddir/build/BUILD/Python-3.13.0a4/Objects/abstract.c:430: bad argument to internal function

======================================================================
FAIL: test_transfer_send (kitty_tests.file_transmission.TestFileTransmission.test_transfer_send)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/kitty-0.32.2/kitty_tests/file_transmission.py", line 507, in test_transfer_send
    self.basic_transfer_tests()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
    self = <kitty_tests.file_transmission.TestFileTransmission testMethod=test_transfer_send>
  File "/builddir/build/BUILD/kitty-0.32.2/kitty_tests/file_transmission.py", line 363, in basic_transfer_tests
    single_file('--transmit-deltas')
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
    dest = '/tmp/tmpogzcz9dr/dest'
    pty = <kitty_tests.file_transmission.TransferPTY object at 0x7fc6dd5562d0>
    s = <_io.BufferedWriter name='/tmp/tmpogzcz9dr/src'>
    self = <kitty_tests.file_transmission.TestFileTransmission testMethod=test_transfer_send>
    single_file = <function TestFileTransmission.basic_transfer_tests.<locals>.single_file at 0x7fc6c75c16c0>
    src = '/tmp/tmpogzcz9dr/src'
  File "/builddir/build/BUILD/kitty-0.32.2/kitty_tests/file_transmission.py", line 357, in single_file
    pty.wait_till_child_exits(require_exit_code=0)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
    cmd = ('--transmit-deltas',)
    dest = '/tmp/tmpogzcz9dr/dest'
    pty = <kitty_tests.file_transmission.TransferPTY object at 0x7fc6dd556480>
    self = <kitty_tests.file_transmission.TestFileTransmission testMethod=test_transfer_send>
    src = '/tmp/tmpogzcz9dr/src'
  File "/builddir/build/BUILD/kitty-0.32.2/kitty_tests/__init__.py", line 349, in wait_till_child_exits
    raise AssertionError(f'Child did not exit in {timeout} seconds. Screen contents:\n{self.screen_contents()}')
    end_time = 349.288557257
    require_exit_code = 0
    self = <kitty_tests.file_transmission.TransferPTY object at 0x7fc6dd556480>
    si_pid = 0
    status = 0
    timeout = 10
AssertionError: Child did not exit in 10 seconds. Screen contents:
Scanning files…
Found 1 files and directories, requesting transfer permission…
Permission granted for this transfer

----------------------------------------------------------------------
Ran 140 tests in 24.186s

FAILED (failures=1, errors=1, skipped=3)
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/07046705-kitty/

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

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 Miro Hrončok 2024-05-31 07:08:00 UTC
The SystemError was fixed upstream. https://github.com/kovidgoyal/kitty/issues/7426

Comment 2 Fedora Update System 2024-06-13 18:29:00 UTC
FEDORA-2024-cb2b6fc6fe (kitty-0.35.1-3.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-cb2b6fc6fe

Comment 3 Fedora Update System 2024-06-13 20:23:25 UTC
FEDORA-2024-cb2b6fc6fe (kitty-0.35.1-3.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.