#1123355 spyder-kernels: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13

#1123355#5
Date:
2025-12-16 19:50:44 UTC
From:
To:
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:spyder-kernels, so that this is still
visible in the BTS web page for this package.

Thanks.
!!

        ********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX license expression:

        License :: OSI Approved :: MIT License

        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
        ********************************************************************************


[... snipped ...]

console/tests/test_console_kernel.py:1248:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/jupyter_core/utils/__init__.py:165: in wrapped
    return loop.run_until_complete(inner)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.14/asyncio/base_events.py:719: in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/jupyter_client/client.py:174: in _async_get_stdin_msg
    return await ensure_async(self.stdin_channel.get_msg(*args, **kwargs))
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <jupyter_client.channels.ZMQSocketChannel object at 0x7fe31f45ea50>
timeout = 15

    def get_msg(self, timeout: t.Optional[float] = None) -> t.Dict[str, t.Any]:
        """Gets a message if there is one that is ready."""
        assert self.socket is not None
        timeout_ms = None if timeout is None else int(timeout * 1000)  # seconds to ms
        ready = self.socket.poll(timeout_ms)
        if ready:
            res = self._recv()
            return res
        else:
E           _queue.Empty

/usr/lib/python3/dist-packages/jupyter_client/channels.py:232: Empty

E               assert (1765898305.2064729 - 1765898299.7481673) < 5
E                +  where 1765898305.2064729 = <built-in function time>()
E                +    where <built-in function time> = time.time

console/tests/test_console_kernel.py:1352: AssertionError
----------------------------- Captured stdout call -----------------------------

Program interrupted. (Use 'cont' to resume).

=============================== warnings summary ===============================
console/tests/test_console_kernel.py:29
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:29: DeprecationWarning: Jupyter is migrating its paths to use standard platformdirs
  given by the platformdirs library.  To remove this warning and
  see the appropriate new directories, set the environment variable
  `JUPYTER_PLATFORM_DIRS=1` and then run `jupyter --paths`.
  The use of platformdirs will be the default in `jupyter_core` v6
    from jupyter_core import paths

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_do_complete
.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_comprehensions_with_locals_in_pdb
.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_comprehensions_with_locals_in_pdb_2
.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_namespaces_in_pdb
.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_functions_with_locals_in_pdb
.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_functions_with_locals_in_pdb_2
.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_locals_globals_in_pdb
.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_hard_link_pdb
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/spyder_kernels/customize/spyderpdb.py:78: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    self.curframe_locals = None

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_do_complete
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/spyder_kernels/customize/spyderpdb.py:421: DeprecationWarning: The frame locals reference is no longer cached. Use 'curframe.f_locals' instead.
    if self.curframe_locals:

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_do_complete
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/spyder_kernels/customize/spyderpdb.py:423: DeprecationWarning: The frame locals reference is no longer cached. Use 'curframe.f_locals' instead.
    frame = Frame(self.curframe_locals,

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_comprehensions_with_locals_in_pdb
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:942: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    pdb_obj.curframe_locals = pdb_obj.curframe.f_locals

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py: 26 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/spyder_kernels/customize/spyderpdb.py:152: DeprecationWarning: The frame locals reference is no longer cached. Use 'curframe.f_locals' instead.
    local_ns = self.curframe_locals

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py: 15 warnings
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/spyder_kernels/console/shell.py:275: DeprecationWarning: The frame locals reference is no longer cached. Use 'curframe.f_locals' instead.
    return session.curframe_locals

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_comprehensions_with_locals_in_pdb
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:958: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    pdb_obj.curframe_locals = None

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_comprehensions_with_locals_in_pdb_2
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:968: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    pdb_obj.curframe_locals = pdb_obj.curframe.f_locals

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_comprehensions_with_locals_in_pdb_2
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:982: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    pdb_obj.curframe_locals = None

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_namespaces_in_pdb
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:994: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    pdb_obj.curframe_locals = pdb_obj.curframe.f_locals

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_namespaces_in_pdb
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:1016: DeprecationWarning: The frame locals reference is no longer cached. Use 'curframe.f_locals' instead.
    pdb_obj.curframe_locals["test4"] = 0

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_namespaces_in_pdb
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:1025: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    pdb_obj.curframe_locals = None

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_functions_with_locals_in_pdb
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:1037: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    pdb_obj.curframe_locals = kernel.shell.user_ns

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_functions_with_locals_in_pdb_2
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:1069: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    pdb_obj.curframe_locals = pdb_obj.curframe.f_locals

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_functions_with_locals_in_pdb_2
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:1096: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    pdb_obj.curframe_locals = None

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_locals_globals_in_pdb
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:1106: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    pdb_obj.curframe_locals = pdb_obj.curframe.f_locals

.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py::test_locals_globals_in_pdb
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/console/tests/test_console_kernel.py:1138: DeprecationWarning: Setting 'curframe_locals' no longer has any effect. Update the contents of 'curframe.f_locals' instead.
    pdb_obj.curframe_locals = None

.pybuild/cpython3_3.14_spyder-kernels/build/utils/tests/test_nsview.py::test_get_type_string
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/utils/tests/test_nsview.py:335: PendingDeprecationWarning: the matrix subclass is not the recommended way to represent matrices or deal with linear algebra (see https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please adjust your code to use regular ndarray.
    matrix = np.matrix([[1, 2], [3, 4]])

.pybuild/cpython3_3.14_spyder-kernels/build/utils/tests/test_nsview.py::test_is_editable_type
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/utils/tests/test_nsview.py:390: PendingDeprecationWarning: the matrix subclass is not the recommended way to represent matrices or deal with linear algebra (see https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please adjust your code to use regular ndarray.
    matrix = np.matrix([[1, 2], [3, 4]])

.pybuild/cpython3_3.14_spyder-kernels/build/utils/tests/test_nsview.py::test_get_numpy_type
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_spyder-kernels/build/utils/tests/test_nsview.py:428: PendingDeprecationWarning: the matrix subclass is not the recommended way to represent matrices or deal with linear algebra (see https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please adjust your code to use regular ndarray.
    matrix = np.matrix([[1, 2], [3, 4]])

#1123355#12
Date:
2026-03-02 15:23:30 UTC
From:
To:
This bug occurs with python 3.14 only, not python 3.13.

Roland has applied a workaround in 3.1.3-1 to constrain spyder-kernels
tests to python 3.13 for now.

Upstream is alerted at
https://github.com/spyder-ide/spyder-kernels/issues/583

Reducing severity to important since tests pass with python 3.13.