Package: src:python-pynvim
Version: 0.5.2-2
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202512/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-pynvim, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with python3 --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --with python3 --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:131: Building wheel for python3.14 with "build" 
module
I: pybuild base:317: python3.14 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_pynvim  
* Building wheel...
/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:289: UserWarning: 
Unknown distribution option: 'tests_require'

[... snipped ...]

            case "AbstractEventLoopPolicy":
                warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                return events._AbstractEventLoopPolicy
            case "DefaultEventLoopPolicy":
                warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                if sys.platform == 'win32':
                    return windows_events._DefaultEventLoopPolicy
                return unix_events._DefaultEventLoopPolicy
            case "WindowsSelectorEventLoopPolicy":
                if sys.platform == 'win32':
                    warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                    return windows_events._WindowsSelectorEventLoopPolicy
                # Else fall through to the AttributeError below.
            case "WindowsProactorEventLoopPolicy":
                if sys.platform == 'win32':
                    warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                    return windows_events._WindowsProactorEventLoopPolicy
                # Else fall through to the AttributeError below.
    
>       raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
E       AttributeError: module 'asyncio' has no attribute 'get_child_watcher'

/usr/lib/python3.14/asyncio/__init__.py:74: AttributeError
_________________________ ERROR at setup of test_repr __________________________

    @pytest.fixture
    def vim() -> Generator[pynvim.Nvim, None, None]:
        """Create an embedded, sub-process Nvim fixture instance."""
        editor: pynvim.Nvim
    
        child_argv = os.environ.get('NVIM_CHILD_ARGV')
        listen_address = os.environ.get('NVIM')
        if child_argv is None and listen_address is None:
            child_argv = json.dumps([
                "nvim",
                "--clean",  # no config and plugins (-u NONE), no SHADA
                "-n",  # no swap file
                "--embed",
                "--headless",
                # Always use the same exact python executable regardless of 
$PATH
                "--cmd", f"let g:python3_host_prog='{sys.executable}'",
            ])
    
        if child_argv is not None:
>           editor = pynvim.attach('child', argv=json.loads(child_argv))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

test/conftest.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pynvim/__init__.py:144: in attach
    child_session(cast(List[str], argv)) if session_type == 'child' else
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pynvim/msgpack_rpc/__init__.py:49: in child_session
    return session('child', argv)
           ^^^^^^^^^^^^^^^^^^^^^^
pynvim/msgpack_rpc/__init__.py:23: in session
    loop = EventLoop(transport_type, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pynvim/msgpack_rpc/event_loop/asyncio.py:132: in __init__
    super().__init__(transport_type, *args, **kwargs)
pynvim/msgpack_rpc/event_loop/base.py:109: in __init__
    raise e
pynvim/msgpack_rpc/event_loop/base.py:106: in __init__
    getattr(self, '_connect_{}'.format(transport_type))(*args, **kwargs)
pynvim/msgpack_rpc/event_loop/asyncio.py:201: in _connect_child
    self._child_watcher = asyncio.get_child_watcher()
                          ^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'get_child_watcher'

    def __getattr__(name: str):
        import warnings
    
        match name:
            case "AbstractEventLoopPolicy":
                warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                return events._AbstractEventLoopPolicy
            case "DefaultEventLoopPolicy":
                warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                if sys.platform == 'win32':
                    return windows_events._DefaultEventLoopPolicy
                return unix_events._DefaultEventLoopPolicy
            case "WindowsSelectorEventLoopPolicy":
                if sys.platform == 'win32':
                    warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                    return windows_events._WindowsSelectorEventLoopPolicy
                # Else fall through to the AttributeError below.
            case "WindowsProactorEventLoopPolicy":
                if sys.platform == 'win32':
                    warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                    return windows_events._WindowsProactorEventLoopPolicy
                # Else fall through to the AttributeError below.
    
>       raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
E       AttributeError: module 'asyncio' has no attribute 'get_child_watcher'

/usr/lib/python3.14/asyncio/__init__.py:74: AttributeError
=========================== short test summary info ============================
ERROR test/test_attach.py::test_connect_stdio - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_repr - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_get_length - AttributeError: module 'asyncio' 
has no attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_get_set_del_line - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_get_set_del_slice - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_vars - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_api - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_options - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_number - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_name - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_valid - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_append - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_mark - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_invalid_utf8 - AttributeError: module 'asyncio' 
has no attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_get_exceptions - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_set_items_for_range - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_update_highlights - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_buffer.py::test_buffer_inequality - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_client_rpc.py::test_call_and_reply - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_client_rpc.py::test_call_api_before_reply - AttributeError: 
module 'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_client_rpc.py::test_async_call - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_client_rpc.py::test_recursion - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_concurrency.py::test_interrupt_from_another_thread - 
AttributeError: module 'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_concurrency.py::test_exception_in_threadsafe_call - 
AttributeError: module 'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_events.py::test_receiving_events - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_events.py::test_sending_notify - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_events.py::test_async_error - AttributeError: module 'asyncio' 
has no attribute 'get_child_watcher'
ERROR test/test_events.py::test_broadcast - AttributeError: module 'asyncio' 
has no attribute 'get_child_watcher'
ERROR test/test_host.py::test_host_imports - AttributeError: module 'asyncio' 
has no attribute 'get_child_watcher'
ERROR test/test_host.py::test_host_import_rplugin_modules - AttributeError: 
module 'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_host.py::test_host_clientinfo - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_host.py::test_host_async_error - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_tabpage.py::test_windows - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_tabpage.py::test_vars - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_tabpage.py::test_valid - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_tabpage.py::test_number - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_tabpage.py::test_repr - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_clientinfo - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_vim.py::test_command - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_command_output - AttributeError: module 'asyncio' 
has no attribute 'get_child_watcher'
ERROR test/test_vim.py::test_command_error - AttributeError: module 'asyncio' 
has no attribute 'get_child_watcher'
ERROR test/test_vim.py::test_eval - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_call - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_api - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_strwidth - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_chdir - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_current_line - AttributeError: module 'asyncio' 
has no attribute 'get_child_watcher'
ERROR test/test_vim.py::test_current_line_delete - AttributeError: module 
'asyncio' has no attribute 'get_child_watcher'
ERROR test/test_vim.py::test_vars - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_options - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_local_options - AttributeError: module 'asyncio' 
has no attribute 'get_child_watcher'
ERROR test/test_vim.py::test_buffers - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_windows - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_tabpages - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_hash - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_python3 - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_vim.py::test_python3_ex_eval - AttributeError: module 'asyncio' 
has no attribute 'get_child_watcher'
ERROR test/test_vim.py::test_python_cwd - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_vim.py::test_lua - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_window.py::test_buffer - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_window.py::test_cursor - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_window.py::test_height - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_window.py::test_width - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_window.py::test_vars - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_window.py::test_options - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_window.py::test_position - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_window.py::test_tabpage - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_window.py::test_valid - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
ERROR test/test_window.py::test_number - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_window.py::test_handle - AttributeError: module 'asyncio' has 
no attribute 'get_child_watcher'
ERROR test/test_window.py::test_repr - AttributeError: module 'asyncio' has no 
attribute 'get_child_watcher'
========================= 7 passed, 71 errors in 1.32s =========================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_pynvim/build; python3.14 -m pytest -vv
I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pynvim/build; 
python3.13 -m pytest -vv
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 -- 
/usr/bin/python3.13
cachedir: .pytest_cache
rootdir: /<<PKGBUILDDIR>>
configfile: setup.cfg
plugins: timeout-2.4.0, typeguard-4.4.4
collecting ... collected 78 items

test/test_attach.py::test_connect_socket PASSED                          [  1%]
test/test_attach.py::test_connect_socket_fail PASSED                     [  2%]
test/test_attach.py::test_connect_tcp PASSED                             [  3%]
test/test_attach.py::test_connect_tcp_no_server PASSED                   [  5%]
test/test_attach.py::test_connect_stdio PASSED                           [  6%]
test/test_buffer.py::test_repr PASSED                                    [  7%]
test/test_buffer.py::test_get_length PASSED                              [  8%]
test/test_buffer.py::test_get_set_del_line PASSED                        [ 10%]
test/test_buffer.py::test_get_set_del_slice PASSED                       [ 11%]
test/test_buffer.py::test_vars PASSED                                    [ 12%]
test/test_buffer.py::test_api PASSED                                     [ 14%]
test/test_buffer.py::test_options PASSED                                 [ 15%]
test/test_buffer.py::test_number PASSED                                  [ 16%]
test/test_buffer.py::test_name PASSED                                    [ 17%]
test/test_buffer.py::test_valid PASSED                                   [ 19%]
test/test_buffer.py::test_append PASSED                                  [ 20%]
test/test_buffer.py::test_mark PASSED                                    [ 21%]
test/test_buffer.py::test_invalid_utf8 PASSED                            [ 23%]
test/test_buffer.py::test_get_exceptions PASSED                          [ 24%]
test/test_buffer.py::test_set_items_for_range PASSED                     [ 25%]
test/test_buffer.py::test_update_highlights PASSED                       [ 26%]
test/test_buffer.py::test_buffer_inequality PASSED                       [ 28%]
test/test_client_rpc.py::test_call_and_reply PASSED                      [ 29%]
test/test_client_rpc.py::test_call_api_before_reply PASSED               [ 30%]
test/test_client_rpc.py::test_async_call PASSED                          [ 32%]
test/test_client_rpc.py::test_recursion PASSED                           [ 33%]
test/test_concurrency.py::test_interrupt_from_another_thread PASSED      [ 34%]
test/test_concurrency.py::test_exception_in_threadsafe_call PASSED       [ 35%]
test/test_decorators.py::test_command_count PASSED                       [ 37%]
test/test_events.py::test_receiving_events PASSED                        [ 38%]
test/test_events.py::test_sending_notify PASSED                          [ 39%]
test/test_events.py::test_async_error PASSED                             [ 41%]
test/test_events.py::test_broadcast PASSED                               [ 42%]
test/test_host.py::test_host_imports PASSED                              [ 43%]
test/test_host.py::test_host_import_rplugin_modules PASSED               [ 44%]
test/test_host.py::test_host_clientinfo PASSED                           [ 46%]
test/test_host.py::test_host_async_error PASSED                          [ 47%]
test/test_logging.py::test_setup_logging PASSED                          [ 48%]
test/test_tabpage.py::test_windows PASSED                                [ 50%]
test/test_tabpage.py::test_vars PASSED                                   [ 51%]
test/test_tabpage.py::test_valid PASSED                                  [ 52%]
test/test_tabpage.py::test_number PASSED                                 [ 53%]
test/test_tabpage.py::test_repr PASSED                                   [ 55%]
test/test_version.py::test_version PASSED                                [ 56%]
test/test_vim.py::test_clientinfo PASSED                                 [ 57%]
test/test_vim.py::test_command PASSED                                    [ 58%]
test/test_vim.py::test_command_output PASSED                             [ 60%]
test/test_vim.py::test_command_error PASSED                              [ 61%]
test/test_vim.py::test_eval PASSED                                       [ 62%]
test/test_vim.py::test_call PASSED                                       [ 64%]
test/test_vim.py::test_api PASSED                                        [ 65%]
test/test_vim.py::test_strwidth PASSED                                   [ 66%]
test/test_vim.py::test_chdir PASSED                                      [ 67%]
test/test_vim.py::test_current_line PASSED                               [ 69%]
test/test_vim.py::test_current_line_delete PASSED                        [ 70%]
test/test_vim.py::test_vars PASSED                                       [ 71%]
test/test_vim.py::test_options PASSED                                    [ 73%]
test/test_vim.py::test_local_options PASSED                              [ 74%]
test/test_vim.py::test_buffers PASSED                                    [ 75%]
test/test_vim.py::test_windows PASSED                                    [ 76%]
test/test_vim.py::test_tabpages PASSED                                   [ 78%]
test/test_vim.py::test_hash PASSED                                       [ 79%]
test/test_vim.py::test_python3 PASSED                                    [ 80%]
test/test_vim.py::test_python3_ex_eval PASSED                            [ 82%]
test/test_vim.py::test_python_cwd PASSED                                 [ 83%]
test/test_vim.py::test_lua PASSED                                        [ 84%]
test/test_window.py::test_buffer PASSED                                  [ 85%]
test/test_window.py::test_cursor PASSED                                  [ 87%]
test/test_window.py::test_height PASSED                                  [ 88%]
test/test_window.py::test_width PASSED                                   [ 89%]
test/test_window.py::test_vars PASSED                                    [ 91%]
test/test_window.py::test_options PASSED                                 [ 92%]
test/test_window.py::test_position PASSED                                [ 93%]
test/test_window.py::test_tabpage PASSED                                 [ 94%]
test/test_window.py::test_valid PASSED                                   [ 96%]
test/test_window.py::test_number PASSED                                  [ 97%]
test/test_window.py::test_handle PASSED                                  [ 98%]
test/test_window.py::test_repr PASSED                                    [100%]

=============================== warnings summary ===============================
.pybuild/cpython3_3.13_pynvim/build/test/test_attach.py: 1 warning
.pybuild/cpython3_3.13_pynvim/build/test/test_buffer.py: 17 warnings
.pybuild/cpython3_3.13_pynvim/build/test/test_client_rpc.py: 4 warnings
.pybuild/cpython3_3.13_pynvim/build/test/test_concurrency.py: 2 warnings
.pybuild/cpython3_3.13_pynvim/build/test/test_events.py: 4 warnings
.pybuild/cpython3_3.13_pynvim/build/test/test_host.py: 4 warnings
.pybuild/cpython3_3.13_pynvim/build/test/test_tabpage.py: 5 warnings
.pybuild/cpython3_3.13_pynvim/build/test/test_vim.py: 22 warnings
.pybuild/cpython3_3.13_pynvim/build/test/test_window.py: 12 warnings
  /usr/lib/python3.13/asyncio/events.py:842: DeprecationWarning: 
'get_child_watcher' is deprecated as of Python 3.12 and will be removed in 
Python 3.14.
    return get_event_loop_policy().get_child_watcher()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================= 78 passed, 71 warnings in 3.06s ========================
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" returned exit code 13
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

Reply via email to