>>> py3-terminado: Building community/py3-terminado 0.18.1-r0 (using abuild 3.15.0-r0) started Mon, 13 Oct 2025 04:34:09 +0000 >>> py3-terminado: Validating /home/udu/aports/community/py3-terminado/APKBUILD... >>> py3-terminado: Analyzing dependencies... >>> py3-terminado: Installing for build: build-base py3-ptyprocess py3-tornado py3-gpep517 py3-hatchling py3-pytest py3-pytest-timeout WARNING: opening /home/udu/packages//community: No such file or directory WARNING: opening /home/udu/packages//main: No such file or directory fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz (1/31) Installing py3-ptyprocess-pyc (0.7.0-r6) (2/31) Installing py3-ptyprocess (0.7.0-r6) (3/31) Installing py3-tornado (6.5.1-r0) (4/31) Installing py3-tornado-pyc (6.5.1-r0) (5/31) Installing py3-installer (0.7.0-r2) (6/31) Installing py3-installer-pyc (0.7.0-r2) (7/31) Installing py3-gpep517 (19-r0) (8/31) Installing py3-gpep517-pyc (19-r0) (9/31) Installing py3-editables (0.5-r2) (10/31) Installing py3-editables-pyc (0.5-r2) (11/31) Installing py3-parsing (3.2.3-r0) (12/31) Installing py3-parsing-pyc (3.2.3-r0) (13/31) Installing py3-packaging (25.0-r0) (14/31) Installing py3-packaging-pyc (25.0-r0) (15/31) Installing py3-pathspec (0.12.1-r2) (16/31) Installing py3-pathspec-pyc (0.12.1-r2) (17/31) Installing py3-pluggy (1.5.0-r0) (18/31) Installing py3-pluggy-pyc (1.5.0-r0) (19/31) Installing py3-trove-classifiers (2025.9.11.17-r0) (20/31) Installing py3-trove-classifiers-pyc (2025.9.11.17-r0) (21/31) Installing py3-hatchling (1.27.0-r0) (22/31) Installing py3-hatchling-pyc (1.27.0-r0) (23/31) Installing py3-iniconfig (2.1.0-r0) (24/31) Installing py3-iniconfig-pyc (2.1.0-r0) (25/31) Installing py3-py (1.11.0-r4) (26/31) Installing py3-py-pyc (1.11.0-r4) (27/31) Installing py3-pytest (8.3.5-r0) (28/31) Installing py3-pytest-pyc (8.3.5-r0) (29/31) Installing py3-pytest-timeout (2.3.1-r1) (30/31) Installing py3-pytest-timeout-pyc (2.3.1-r1) (31/31) Installing .makedepends-py3-terminado (20251013.043409) Executing busybox-1.37.0-r19.trigger OK: 305 MiB in 120 packages >>> py3-terminado: Cleaning up srcdir >>> py3-terminado: Cleaning up pkgdir >>> py3-terminado: Cleaning up tmpdir >>> py3-terminado: Fetching py3-terminado-0.18.1.tar.gz::https://github.com/jupyter/terminado/archive/refs/tags/v0.18.1.tar.gz >>> py3-terminado: Fetching py3-terminado-0.18.1.tar.gz::https://github.com/jupyter/terminado/archive/refs/tags/v0.18.1.tar.gz >>> py3-terminado: Checking sha512sums... py3-terminado-0.18.1.tar.gz: OK bash.patch: OK ResourceWarning.patch: OK >>> py3-terminado: Unpacking /var/cache/distfiles/py3-terminado-0.18.1.tar.gz... >>> py3-terminado: bash.patch patching file tests/basic_test.py >>> py3-terminado: ResourceWarning.patch patching file pyproject.toml 2025-10-13 04:34:10,247 gpep517 INFO Building wheel via backend hatchling.build 2025-10-13 04:34:10,292 gpep517 INFO The backend produced .dist/terminado-0.18.1-py3-none-any.whl terminado-0.18.1-py3-none-any.whl ============================= test session starts ============================== platform linux -- Python 3.12.11, pytest-8.3.5, pluggy-1.5.0 rootdir: /home/udu/aports/community/py3-terminado/src/terminado-0.18.1 configfile: pyproject.toml testpaths: tests/ plugins: timeout-2.3.1 timeout: 300.0s timeout method: signal timeout func_only: False collected 9 items / 1 deselected / 8 selected tests/basic_test.py FFFFFFFF [100%] =================================== FAILURES =================================== ____________________________ CommonTests.test_basic ____________________________ self = @tornado.testing.gen_test async def test_basic(self): for url in self.test_urls: tm = await self.get_term_client(url) response = await tm.read_msg() > self.assertEqual(response, ["setup", {}]) E AssertionError: None != ['setup', {}] response = None self = tm = url = '/named/term1' tests/basic_test.py:203: AssertionError ------------------------------ Captured log call ------------------------------- INFO  tornado.access:web.py:2407 101 GET /named/term1 (127.0.0.1) 0.22ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: term1 INFO  terminado.management:management.py:385 New terminal with specified name: term1 ERROR  tornado.application:web.py:1934 Uncaught exception GET /named/term1 (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:35111', method='GET', uri='/named/term1', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 386, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices ________________________ CommonTests.test_basic_command ________________________ self = message = b'["stdin", "whoami\\n"]', binary = False def write_message( self, message: Union[str, bytes, Dict[str, Any]], binary: bool = False ) -> "Future[None]": """Sends the given message to the client of this Web Socket.""" if binary: opcode = 0x2 else: opcode = 0x1 if isinstance(message, dict): message = tornado.escape.json_encode(message) message = tornado.escape.utf8(message) assert isinstance(message, bytes) self._message_bytes_out += len(message) flags = 0 if self._compressor: message = self._compressor.compress(message) flags |= self.RSV1 # For historical reasons, write methods in Tornado operate in a semi-synchronous # mode in which awaiting the Future they return is optional (But errors can # still be raised). This requires us to go through an awkward dance here # to transform the errors that may be returned while presenting the same # semi-synchronous interface. try: > fut = self._write_frame(True, opcode, message, flags=flags) binary = False flags = 0 message = b'["stdin", "whoami\\n"]' opcode = 1 self = /usr/lib/python3.12/site-packages/tornado/websocket.py:1107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/tornado/websocket.py:1082: in _write_frame return self.stream.write(frame) data = b'\x10\xec\x0e5K\xce}At\x85`\x17<\xcc,Bx\x83oXy\xb0`\x17M' data_len = 21 fin = True finbit = 128 flags = 0 frame = b'\x81\x95\x10\xec\x0e5K\xce}At\x85`\x17<\xcc,Bx\x83oXy\xb0`\x17M' mask = b'\x10\xec\x0e5' mask_bit = 128 opcode = 1 self = /usr/lib/python3.12/site-packages/tornado/iostream.py:523: in write self._check_closed() data = b'\x81\x95\x10\xec\x0e5K\xce}At\x85`\x17<\xcc,Bx\x83oXy\xb0`\x17M' self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _check_closed(self) -> None: if self.closed(): > raise StreamClosedError(real_error=self.error) E tornado.iostream.StreamClosedError: Stream is closed self = /usr/lib/python3.12/site-packages/tornado/iostream.py:998: StreamClosedError During handling of the above exception, another exception occurred: self = @tornado.testing.gen_test async def test_basic_command(self): for url in self.test_urls: tm = await self.get_term_client(url) await tm.read_all_msg() > await tm.write_stdin("whoami\n") self = tm = url = '/named/term1' tests/basic_test.py:216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/basic_test.py:107: in write_stdin await self.write_msg(["stdin", data]) data = 'whoami\n' self = tests/basic_test.py:77: in write_msg await self.ws.write_message(json.dumps(msg)) msg = ['stdin', 'whoami\n'] self = /usr/lib/python3.12/site-packages/tornado/websocket.py:1540: in write_message return self.protocol.write_message(message, binary=binary) binary = False message = '["stdin", "whoami\\n"]' self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = message = b'["stdin", "whoami\\n"]', binary = False def write_message( self, message: Union[str, bytes, Dict[str, Any]], binary: bool = False ) -> "Future[None]": """Sends the given message to the client of this Web Socket.""" if binary: opcode = 0x2 else: opcode = 0x1 if isinstance(message, dict): message = tornado.escape.json_encode(message) message = tornado.escape.utf8(message) assert isinstance(message, bytes) self._message_bytes_out += len(message) flags = 0 if self._compressor: message = self._compressor.compress(message) flags |= self.RSV1 # For historical reasons, write methods in Tornado operate in a semi-synchronous # mode in which awaiting the Future they return is optional (But errors can # still be raised). This requires us to go through an awkward dance here # to transform the errors that may be returned while presenting the same # semi-synchronous interface. try: fut = self._write_frame(True, opcode, message, flags=flags) except StreamClosedError: > raise WebSocketClosedError() E tornado.websocket.WebSocketClosedError binary = False flags = 0 message = b'["stdin", "whoami\\n"]' opcode = 1 self = /usr/lib/python3.12/site-packages/tornado/websocket.py:1109: WebSocketClosedError ------------------------------ Captured log call ------------------------------- WARNING  tornado.general:autoreload.py:125 tornado.autoreload started more than once in the same process INFO  tornado.access:web.py:2407 101 GET /named/term1 (127.0.0.1) 0.17ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: term1 INFO  terminado.management:management.py:385 New terminal with specified name: term1 ERROR  tornado.application:web.py:1934 Uncaught exception GET /named/term1 (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:34941', method='GET', uri='/named/term1', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 386, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices ______________________ NamedTermTests.test_max_terminals _______________________ self = @tornado.testing.gen_test @pytest.mark.skipif("linux" not in platform, reason="It only works on Linux") async def test_max_terminals(self): urls = ["/named/%d" % i for i in range(MAX_TERMS + 1)] tms = await self.get_term_clients(urls[:MAX_TERMS]) > _ = await self.get_pids(tms) self = tms = [, , ] urls = ['/named/0', '/named/1', '/named/2', '/named/3'] tests/basic_test.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/basic_test.py:150: in get_pids pid = await tm.get_pid() pids = [] self = tm = tm_list = [, , ] tests/basic_test.py:111: in get_pid await self.read_stdout() # Clear out any pending self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , timeout = 1.0 async def read_stdout(self, timeout=DONE_TIMEOUT): """Read standard output until timeout read reached, return stdout and any non-stdout msgs received.""" msglist = await self.read_all_msg(timeout) > stdout = "".join([msg[1] for msg in msglist if msg[0] == "stdout"]) E TypeError: 'NoneType' object is not subscriptable msglist = [None] self = timeout = 1.0 tests/basic_test.py:83: TypeError ------------------------------ Captured log call ------------------------------- WARNING  tornado.general:autoreload.py:125 tornado.autoreload started more than once in the same process INFO  tornado.access:web.py:2407 101 GET /named/1 (127.0.0.1) 0.17ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: 1 INFO  terminado.management:management.py:385 New terminal with specified name: 1 ERROR  tornado.application:web.py:1934 Uncaught exception GET /named/1 (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:39231', method='GET', uri='/named/1', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 386, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices INFO  tornado.access:web.py:2407 101 GET /named/2 (127.0.0.1) 0.25ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: 2 INFO  terminado.management:management.py:385 New terminal with specified name: 2 ERROR  tornado.application:web.py:1934 Uncaught exception GET /named/2 (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:39231', method='GET', uri='/named/2', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 386, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices INFO  tornado.access:web.py:2407 101 GET /named/0 (127.0.0.1) 1.19ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: 0 INFO  terminado.management:management.py:385 New terminal with specified name: 0 ERROR  tornado.application:web.py:1934 Uncaught exception GET /named/0 (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:39231', method='GET', uri='/named/0', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 386, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices ________________________ NamedTermTests.test_namespace _________________________ self = @tornado.testing.gen_test async def test_namespace(self): names = ["/named/1"] * 2 + ["/named/2"] * 2 tms = await self.get_term_clients(names) > pids = await self.get_pids(tms) names = ['/named/1', '/named/1', '/named/2', '/named/2'] self = tms = [, , , ] tests/basic_test.py:240: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/basic_test.py:150: in get_pids pid = await tm.get_pid() pids = [] self = tm = tm_list = [, , , ] tests/basic_test.py:111: in get_pid await self.read_stdout() # Clear out any pending self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , timeout = 1.0 async def read_stdout(self, timeout=DONE_TIMEOUT): """Read standard output until timeout read reached, return stdout and any non-stdout msgs received.""" msglist = await self.read_all_msg(timeout) > stdout = "".join([msg[1] for msg in msglist if msg[0] == "stdout"]) E TypeError: 'NoneType' object is not subscriptable msglist = [None] self = timeout = 1.0 tests/basic_test.py:83: TypeError ------------------------------ Captured log call ------------------------------- WARNING  tornado.general:autoreload.py:125 tornado.autoreload started more than once in the same process INFO  tornado.access:web.py:2407 101 GET /named/1 (127.0.0.1) 0.40ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: 1 INFO  terminado.management:management.py:385 New terminal with specified name: 1 ERROR  tornado.application:web.py:1934 Uncaught exception GET /named/1 (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:44907', method='GET', uri='/named/1', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 386, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices INFO  tornado.access:web.py:2407 101 GET /named/2 (127.0.0.1) 1.33ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: 2 INFO  terminado.management:management.py:385 New terminal with specified name: 2 ERROR  tornado.application:web.py:1934 Uncaught exception GET /named/2 (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:44907', method='GET', uri='/named/2', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 386, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices INFO  tornado.access:web.py:2407 101 GET /named/1 (127.0.0.1) 2.22ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: 1 INFO  terminado.management:management.py:385 New terminal with specified name: 1 ERROR  tornado.application:web.py:1934 Uncaught exception GET /named/1 (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:44907', method='GET', uri='/named/1', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 386, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices INFO  tornado.access:web.py:2407 101 GET /named/2 (127.0.0.1) 3.12ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: 2 INFO  terminado.management:management.py:385 New terminal with specified name: 2 ERROR  tornado.application:web.py:1934 Uncaught exception GET /named/2 (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:44907', method='GET', uri='/named/2', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 386, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices ___________________________ NamedTermTests.test_new ____________________________ self = def test_new(self): response = self.fetch("/new", follow_redirects=False) > self.assertEqual(response.code, 302) E AssertionError: 500 != 302 response = HTTPResponse(_body=None,_error_is_response_code=True,buffer=<_io.BytesIO object at 0x780f126abbf0>,code=500,effective_...nt.HTTPRequest object at 0x780f126a7410>,request_time=0.0029821395874023438,start_time=1760330053.6988668,time_info={}) self = tests/basic_test.py:229: AssertionError ------------------------------ Captured log call ------------------------------- WARNING  tornado.general:autoreload.py:125 tornado.autoreload started more than once in the same process ERROR  tornado.application:web.py:1934 Uncaught exception GET /new (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:41095', method='GET', uri='/new', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/web.py", line 1846, in _execute result = method(*self.path_args, **self.path_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/tests/basic_test.py", line 181, in get name, terminal = named_tm.new_named_terminal() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 404, in new_named_terminal term = self.new_terminal(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices ERROR  tornado.access:web.py:2407 500 GET /new (127.0.0.1) 1.71ms _____________________ SingleTermTests.test_single_process ______________________ self = @tornado.testing.gen_test async def test_single_process(self): tms = await self.get_term_clients(["/single", "/single"]) > pids = await self.get_pids(tms) self = tms = [, ] tests/basic_test.py:272: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/basic_test.py:150: in get_pids pid = await tm.get_pid() pids = [] self = tm = tm_list = [, ] tests/basic_test.py:111: in get_pid await self.read_stdout() # Clear out any pending self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , timeout = 1.0 async def read_stdout(self, timeout=DONE_TIMEOUT): """Read standard output until timeout read reached, return stdout and any non-stdout msgs received.""" msglist = await self.read_all_msg(timeout) > stdout = "".join([msg[1] for msg in msglist if msg[0] == "stdout"]) E TypeError: 'NoneType' object is not subscriptable msglist = [None] self = timeout = 1.0 tests/basic_test.py:83: TypeError ------------------------------ Captured log call ------------------------------- WARNING  tornado.general:autoreload.py:125 tornado.autoreload started more than once in the same process INFO  tornado.access:web.py:2407 101 GET /single (127.0.0.1) 0.16ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: None ERROR  tornado.application:web.py:1934 Uncaught exception GET /single (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:33073', method='GET', uri='/single', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 313, in get_terminal self.terminal = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices INFO  tornado.access:web.py:2407 101 GET /single (127.0.0.1) 0.15ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: None ERROR  tornado.application:web.py:1934 Uncaught exception GET /single (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:33073', method='GET', uri='/single', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 313, in get_terminal self.terminal = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices ______________________ UniqueTermTests.test_max_terminals ______________________ self = @tornado.testing.gen_test @pytest.mark.skipif("linux" not in platform, reason="It only works on Linux") async def test_max_terminals(self): tms = await self.get_term_clients(["/unique"] * MAX_TERMS) > pids = await self.get_pids(tms) self = tms = [, , ] tests/basic_test.py:294: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/basic_test.py:150: in get_pids pid = await tm.get_pid() pids = [] self = tm = tm_list = [, , ] tests/basic_test.py:111: in get_pid await self.read_stdout() # Clear out any pending self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , timeout = 1.0 async def read_stdout(self, timeout=DONE_TIMEOUT): """Read standard output until timeout read reached, return stdout and any non-stdout msgs received.""" msglist = await self.read_all_msg(timeout) > stdout = "".join([msg[1] for msg in msglist if msg[0] == "stdout"]) E TypeError: 'NoneType' object is not subscriptable msglist = [None] self = timeout = 1.0 tests/basic_test.py:83: TypeError ------------------------------ Captured log call ------------------------------- WARNING  tornado.general:autoreload.py:125 tornado.autoreload started more than once in the same process INFO  tornado.access:web.py:2407 101 GET /unique (127.0.0.1) 0.17ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: None ERROR  tornado.application:web.py:1934 Uncaught exception GET /unique (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:36103', method='GET', uri='/unique', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 348, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices INFO  tornado.access:web.py:2407 101 GET /unique (127.0.0.1) 0.33ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: None ERROR  tornado.application:web.py:1934 Uncaught exception GET /unique (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:36103', method='GET', uri='/unique', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 348, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices INFO  tornado.access:web.py:2407 101 GET /unique (127.0.0.1) 1.20ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: None ERROR  tornado.application:web.py:1934 Uncaught exception GET /unique (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:36103', method='GET', uri='/unique', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 348, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices ____________________ UniqueTermTests.test_unique_processes _____________________ self = @tornado.testing.gen_test async def test_unique_processes(self): tms = await self.get_term_clients(["/unique", "/unique"]) > pids = await self.get_pids(tms) self = tms = [, ] tests/basic_test.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/basic_test.py:150: in get_pids pid = await tm.get_pid() pids = [] self = tm = tm_list = [, ] tests/basic_test.py:111: in get_pid await self.read_stdout() # Clear out any pending self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , timeout = 1.0 async def read_stdout(self, timeout=DONE_TIMEOUT): """Read standard output until timeout read reached, return stdout and any non-stdout msgs received.""" msglist = await self.read_all_msg(timeout) > stdout = "".join([msg[1] for msg in msglist if msg[0] == "stdout"]) E TypeError: 'NoneType' object is not subscriptable msglist = [None] self = timeout = 1.0 tests/basic_test.py:83: TypeError ------------------------------ Captured log call ------------------------------- WARNING  tornado.general:autoreload.py:125 tornado.autoreload started more than once in the same process INFO  tornado.access:web.py:2407 101 GET /unique (127.0.0.1) 0.44ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: None ERROR  tornado.application:web.py:1934 Uncaught exception GET /unique (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:33507', method='GET', uri='/unique', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 348, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices INFO  tornado.access:web.py:2407 101 GET /unique (127.0.0.1) 2.19ms INFO  terminado.websocket:websocket.py:60 TermSocket.open: None ERROR  tornado.application:web.py:1934 Uncaught exception GET /unique (127.0.0.1) HTTPServerRequest(protocol='http', host='127.0.0.1:33507', method='GET', uri='/unique', version='HTTP/1.1', remote_ip='127.0.0.1') Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/tornado/websocket.py", line 965, in _accept_connection open_result = handler.open(*handler.open_args, **handler.open_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/websocket.py", line 64, in open self.terminal = self.term_manager.get_terminal(url_component) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 348, in get_terminal term = self.new_terminal() ^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 233, in new_terminal return PtyWithClients(argv, env, cwd) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/udu/aports/community/py3-terminado/src/terminado-0.18.1/terminado/management.py", line 58, in __init__ self.ptyproc = PtyProcessUnicode.spawn(**kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/ptyprocess/ptyprocess.py", line 230, in spawn pid, fd = pty.fork() ^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 107, in fork master_fd, slave_fd = openpty() ^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 34, in openpty master_fd, slave_name = _open_terminal() ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pty.py", line 67, in _open_terminal raise OSError('out of pty devices') OSError: out of pty devices =============================== warnings summary =============================== tests/basic_test.py: 17 warnings /usr/lib/python3.12/pty.py:95: DeprecationWarning: This process (pid=1960013) is multi-threaded, use of forkpty() may lead to deadlocks in the child. pid, fd = os.forkpty() -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 1.01s call tests/basic_test.py::NamedTermTests::test_namespace 1.01s call tests/basic_test.py::UniqueTermTests::test_max_terminals 1.01s call tests/basic_test.py::UniqueTermTests::test_unique_processes 1.01s call tests/basic_test.py::NamedTermTests::test_max_terminals 1.00s call tests/basic_test.py::SingleTermTests::test_single_process 1.00s call tests/basic_test.py::CommonTests::test_basic_command (4 durations < 0.005s hidden. Use -vv to show these durations.) =========================== short test summary info ============================ FAILED tests/basic_test.py::CommonTests::test_basic - AssertionError: None != ['setup', {}] FAILED tests/basic_test.py::CommonTests::test_basic_command - tornado.websocket.WebSocketClosedError FAILED tests/basic_test.py::NamedTermTests::test_max_terminals - TypeError: 'NoneType' object is not subscriptable FAILED tests/basic_test.py::NamedTermTests::test_namespace - TypeError: 'NoneType' object is not subscriptable FAILED tests/basic_test.py::NamedTermTests::test_new - AssertionError: 500 != 302 FAILED tests/basic_test.py::SingleTermTests::test_single_process - TypeError: 'NoneType' object is not subscriptable FAILED tests/basic_test.py::UniqueTermTests::test_max_terminals - TypeError: 'NoneType' object is not subscriptable FAILED tests/basic_test.py::UniqueTermTests::test_unique_processes - TypeError: 'NoneType' object is not subscriptable ================= 8 failed, 1 deselected, 17 warnings in 6.23s ================= >>> ERROR: py3-terminado: check failed >>> py3-terminado: Uninstalling dependencies... (1/31) Purging .makedepends-py3-terminado (20251013.043409) (2/31) Purging py3-ptyprocess-pyc (0.7.0-r6) (3/31) Purging py3-ptyprocess (0.7.0-r6) (4/31) Purging py3-tornado-pyc (6.5.1-r0) (5/31) Purging py3-tornado (6.5.1-r0) (6/31) Purging py3-gpep517-pyc (19-r0) (7/31) Purging py3-gpep517 (19-r0) (8/31) Purging py3-installer-pyc (0.7.0-r2) (9/31) Purging py3-installer (0.7.0-r2) (10/31) Purging py3-hatchling-pyc (1.27.0-r0) (11/31) Purging py3-hatchling (1.27.0-r0) (12/31) Purging py3-editables-pyc (0.5-r2) (13/31) Purging py3-editables (0.5-r2) (14/31) Purging py3-pathspec-pyc (0.12.1-r2) (15/31) Purging py3-pathspec (0.12.1-r2) (16/31) Purging py3-trove-classifiers-pyc (2025.9.11.17-r0) (17/31) Purging py3-trove-classifiers (2025.9.11.17-r0) (18/31) Purging py3-pytest-timeout-pyc (2.3.1-r1) (19/31) Purging py3-pytest-timeout (2.3.1-r1) (20/31) Purging py3-pytest-pyc (8.3.5-r0) (21/31) Purging py3-pytest (8.3.5-r0) (22/31) Purging py3-iniconfig-pyc (2.1.0-r0) (23/31) Purging py3-iniconfig (2.1.0-r0) (24/31) Purging py3-packaging-pyc (25.0-r0) (25/31) Purging py3-packaging (25.0-r0) (26/31) Purging py3-parsing-pyc (3.2.3-r0) (27/31) Purging py3-parsing (3.2.3-r0) (28/31) Purging py3-pluggy-pyc (1.5.0-r0) (29/31) Purging py3-pluggy (1.5.0-r0) (30/31) Purging py3-py-pyc (1.11.0-r4) (31/31) Purging py3-py (1.11.0-r4) Executing busybox-1.37.0-r19.trigger OK: 296 MiB in 89 packages