==> Building on minun ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-terminado ./ .SRCINFO 630 100% 0.00kB/s 0:00:00 630 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 54 100% 52.73kB/s 0:00:00 54 100% 52.73kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 1,083 100% 1.03MB/s 0:00:00 1,083 100% 1.03MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) python-terminado-0.18.1-4.log 736 100% 718.75kB/s 0:00:00 736 100% 718.75kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 2,430 bytes received 192 bytes 5,244.00 bytes/sec total size is 2,990 speedup is 1.14 ==> Running pkgctl build --arch riscv64 on remote host... ==> WARNING: invalid architecture: riscv64 ==> Updating pacman database cache [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==> Building python-terminado  -> repo: extra  -> arch: riscv64  -> worker: felix-7 ==> Building python-terminado for [extra] (riscv64) ]3008;start=6bd5b6dabc454e4eae30372b2c0b920b;user=root;hostname=minun.felixc.at;machineid=0ffe3ef7ad56462790c2861f2a747f6b;bootid=32d9c4b537a24816afcaf7574fd06933;pid=3788839;pidfdid=45723383;comm=systemd-nspawn;container=arch-nspawn-3788839;type=container\]11;?\]2;🔵 Container arch-nspawn-3788839 on minun.felixc.at\:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [!p]104[?7h]3008;end=6bd5b6dabc454e4eae30372b2c0b920b\==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-7]...done ==> Making package: python-terminado 0.18.1-4 (Tue Feb 10 14:55:49 2026) ==> Retrieving sources...  -> Downloading terminado-0.18.1.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 32701 100 32701 0 0 71416 0 0 100 32701 100 32701 0 0 71400 0 0 100 32701 100 32701 0 0 71385 0 0 ==> Validating source files with sha256sums... terminado-0.18.1.tar.gz ... Passed ]3008;start=6057eb0798ad47f09d55a40456f87b34;user=root;hostname=minun.felixc.at;machineid=0ffe3ef7ad56462790c2861f2a747f6b;bootid=32d9c4b537a24816afcaf7574fd06933;pid=3790853;pidfdid=45725397;comm=systemd-nspawn;container=arch-nspawn-3790853;type=container\]11;?\]2;🔵 Container arch-nspawn-3790853 on minun.felixc.at\==> Making package: python-terminado 0.18.1-4 (Tue Feb 10 13:56:02 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (4) New Version Net Change Download Size core/mpdecimal 4.0.1-1 0.31 MiB core/python 3.14.2-2 132.78 MiB extra/python-ptyprocess 0.7.0-9 0.12 MiB extra/python-tornado 6.5.2-4 6.13 MiB 0.88 MiB Total Download Size: 0.88 MiB Total Installed Size: 139.34 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-tornado-6.5.2-4-riscv64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing mpdecimal... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] xz: for lzma [installed] tk: for tkinter installing python-ptyprocess... installing python-tornado... Optional dependencies for python-tornado python-pycurl: for tornado.curl_httpclient python-twisted: for tornado.platform.twisted :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (13) New Version Net Change Download Size extra/python-editables 0.5-7.1 0.03 MiB extra/python-iniconfig 2.1.0-3.1 0.05 MiB extra/python-packaging 26.0-1 0.89 MiB extra/python-pathspec 1.0.4-1 0.46 MiB extra/python-pluggy 1.6.0-3.1 0.23 MiB extra/python-pygments 2.19.2-3 15.30 MiB extra/python-pyproject-hooks 1.2.0-6 0.11 MiB extra/python-trove-classifiers 2026.1.14.14-1.1 0.16 MiB extra/python-build 1.4.0-1 0.24 MiB extra/python-hatchling 1.28.0-3 1.06 MiB extra/python-installer 0.7.0-14 0.20 MiB extra/python-pytest 1:8.4.2-3 4.69 MiB extra/python-pytest-timeout 2.4.0-2 0.09 MiB 0.02 MiB Total Download Size: 0.02 MiB Total Installed Size: 23.50 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-pytest-timeout-2.4.0-2-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-editables... installing python-pathspec... Optional dependencies for python-pathspec python-google-re2: re2 backend installing python-pluggy... installing python-trove-classifiers... installing python-hatchling... installing python-installer... installing python-iniconfig... installing python-pygments... installing python-pytest... installing python-pytest-timeout... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... ==> Retrieving sources... -> Found terminado-0.18.1.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Extracting terminado-0.18.1.tar.gz with bsdtar ==> Starting build()... * Getting build dependencies for wheel... * Building wheel... Successfully built terminado-0.18.1-py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.14.2, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /build/python-terminado/src/terminado-0.18.1 configfile: pyproject.toml testpaths: tests/ plugins: timeout-2.4.0 timeout: 300.0s timeout method: signal timeout func_only: False collecting ... collected 9 items tests/basic_test.py::CommonTests::test_basic FAILED [ 11%] tests/basic_test.py::CommonTests::test_basic_command PASSED [ 22%] tests/basic_test.py::NamedTermTests::test_max_terminals PASSED [ 33%] tests/basic_test.py::NamedTermTests::test_namespace PASSED [ 44%] tests/basic_test.py::NamedTermTests::test_new PASSED [ 55%] tests/basic_test.py::SingleTermTests::test_single_process PASSED [ 66%] tests/basic_test.py::UniqueTermTests::test_large_io_doesnt_hang PASSED [ 77%] tests/basic_test.py::UniqueTermTests::test_max_terminals PASSED [ 88%] tests/basic_test.py::UniqueTermTests::test_unique_processes PASSED [100%] =================================== FAILURES =================================== ____________________________ CommonTests.test_basic ____________________________ /usr/lib/python3.14/site-packages/tornado/testing.py:268: in _callTestMethod result = method() ^^^^^^^^ method = > self = /usr/lib/python3.14/site-packages/tornado/testing.py:604: in post_coroutine return self.io_loop.run_sync( args = () coro = kwargs = {} self = timeout = 30.0 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = func = functools.partial(, ) timeout = 30.0 def run_sync(self, func: Callable, timeout: Optional[float] = None) -> Any:  """Starts the `IOLoop`, runs the given function, and stops the loop.   The function must return either an awaitable object or  ``None``. If the function returns an awaitable object, the  `IOLoop` will run until the awaitable is resolved (and  `run_sync()` will return the awaitable's result). If it raises  an exception, the `IOLoop` will stop and the exception will be  re-raised to the caller.   The keyword-only argument ``timeout`` may be used to set  a maximum duration for the function. If the timeout expires,  a `asyncio.TimeoutError` is raised.   This method is useful to allow asynchronous calls in a  ``main()`` function::   async def main():  # do stuff...   if __name__ == '__main__':  IOLoop.current().run_sync(main)   .. versionchanged:: 4.3  Returning a non-``None``, non-awaitable value is now an error.   .. versionchanged:: 5.0  If a timeout occurs, the ``func`` coroutine will be cancelled.   .. versionchanged:: 6.2  ``tornado.util.TimeoutError`` is now an alias to ``asyncio.TimeoutError``.  """ if typing.TYPE_CHECKING: FutureCell = TypedDict( # noqa: F841 "FutureCell", {"future": Optional[Future], "timeout_called": bool} ) future_cell = {"future": None, "timeout_called": False} # type: FutureCell  def run() -> None: try: result = func() if result is not None: from tornado.gen import convert_yielded  result = convert_yielded(result) except Exception: fut = Future() # type: Future[Any] future_cell["future"] = fut future_set_exc_info(fut, sys.exc_info()) else: if is_future(result): future_cell["future"] = result else: fut = Future() future_cell["future"] = fut fut.set_result(result) assert future_cell["future"] is not None self.add_future(future_cell["future"], lambda future: self.stop())  self.add_callback(run) if timeout is not None:  def timeout_callback() -> None: # signal that timeout is triggered future_cell["timeout_called"] = True # If we can cancel the future, do so and wait on it. If not, # Just stop the loop and return with the task still pending. # (If we neither cancel nor wait for the task, a warning # will be logged). assert future_cell["future"] is not None if not future_cell["future"].cancel(): self.stop()  timeout_handle = self.add_timeout(self.time() + timeout, timeout_callback) self.start() if timeout is not None: self.remove_timeout(timeout_handle) assert future_cell["future"] is not None if future_cell["future"].cancelled() or not future_cell["future"].done(): if future_cell["timeout_called"]: > raise TimeoutError("Operation timed out after %s seconds" % timeout) E TimeoutError: Operation timed out after 30.0 seconds func = functools.partial(, ) future_cell = {'future': >, 'timeout_called': True} run = .run at 0x7f0741b36f00> self = timeout = 30.0 timeout_callback = .timeout_callback at 0x7f0741b37060> timeout_handle = /usr/lib/python3.14/site-packages/tornado/ioloop.py:542: TimeoutError ------------------------------ Captured log call ------------------------------- INFO  tornado.access:web.py:2407 101 GET /named/term1 (127.0.0.1) 5.57ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: term1 INFO  terminado.management:management.py:385 New terminal with specified name: term1 INFO  terminado.websocket:websocket.py:67 TermSocket.open: Opened term1 INFO  terminado.management:management.py:246 EOF on FD 19; stopping reading INFO  terminado.management:management.py:425 Terminal term1 closed INFO  terminado.websocket:websocket.py:120 Websocket closed ============================= slowest 10 durations ============================= 30.14s call tests/basic_test.py::CommonTests::test_basic 8.32s call tests/basic_test.py::NamedTermTests::test_namespace 6.58s call tests/basic_test.py::UniqueTermTests::test_max_terminals 6.50s call tests/basic_test.py::CommonTests::test_basic_command 6.43s call tests/basic_test.py::NamedTermTests::test_max_terminals 4.28s call tests/basic_test.py::UniqueTermTests::test_unique_processes 4.16s call tests/basic_test.py::SingleTermTests::test_single_process 2.16s call tests/basic_test.py::UniqueTermTests::test_large_io_doesnt_hang 0.13s call tests/basic_test.py::NamedTermTests::test_new (1 durations < 0.005s hidden. Use -vv to show these durations.) =========================== short test summary info ============================ FAILED tests/basic_test.py::CommonTests::test_basic - TimeoutError: Operation timed out after 30.0 seconds ==================== 1 failed, 8 passed in 70.25s (0:01:10) ==================== ==> ERROR: A failure occurred in check(). Aborting... [!p]104[?7h]3008;end=6057eb0798ad47f09d55a40456f87b34\==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-7/build [?25h[?25h[?25hreceiving incremental file list python-terminado-0.18.1-4-riscv64-build.log python-terminado-0.18.1-4-riscv64-check.log sent 62 bytes received 3,092 bytes 6,308.00 bytes/sec total size is 12,331 speedup is 3.91