Durability test test_multiple_clients_tcp_v4 failed
Job #7536749698 failed for a3ab339a:
Job name: test debug: [gcc12, musicscience37/gcc-ci]
Log
9: Test command: /root/.local/bin/poetry "run" "pytest" "/builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/tests/durability" "--build=/builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/build_gcc12_debug" "--junit-xml=/builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/build_gcc12_debug/junit/msgpack_rpc_durability_tests.xml" "--seconds=1"
9: Test timeout computed to be: 1500
9: ============================= test session starts ==============================
9: platform linux -- Python 3.12.4, pytest-8.3.2, pluggy-1.5.0
9: rootdir: /builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc
9: configfile: pyproject.toml
9: plugins: asyncio-0.23.8, approvaltests-14.0.0, anyio-4.4.0, approvaltests-0.2.4
9: asyncio: mode=Mode.STRICT
9: collected 2 items
9:
9: tests/durability/test_multiple_clients.py F [ 50%]
9: tests/durability/test_request_continuously.py . [100%]
9:
9: =================================== FAILURES ===================================
9: _________________________ test_multiple_clients_tcp_v4 _________________________
9:
9: bin_dir_path = PosixPath('/builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/build_gcc12_debug/bin')
9: log_parent_dir_path = PosixPath('/builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/build_gcc12_debug/temp_test/durability')
9: test_duration = datetime.timedelta(seconds=1)
9:
9: def test_multiple_clients_tcp_v4(
9: bin_dir_path: pathlib.Path,
9: log_parent_dir_path: pathlib.Path,
9: test_duration: datetime.timedelta,
9: ) -> None:
9: """Test to request from multiple clients (TCPv4)."""
9: current_log_dir_path = log_parent_dir_path / "test_multiple_clients_tcp_v4"
9: if current_log_dir_path.exists():
9: shutil.rmtree(str(current_log_dir_path))
9: current_log_dir_path.mkdir(exist_ok=True, parents=True)
9:
9: config_file_path = THIS_DIR / "multiple_clients_config.toml"
9: server_uri = "tcp://127.0.0.1:12345"
9:
9: with ProcessExecutor(
9: [
9: str(bin_dir_path / "durability_serve_methods"),
9: "--config",
9: str(config_file_path),
9: "--uri",
9: server_uri,
9: "--log",
9: "server.log",
9: ],
9: cwd=str(current_log_dir_path),
9: log_prefix="server",
9: ) as server_process:
9: with ProcessExecutor(
9: [
9: str(bin_dir_path / "durability_request_continuously"),
9: "--config",
9: str(config_file_path),
9: "--uri",
9: server_uri,
9: "--log",
9: "client1.log",
9: "--seconds",
9: str(int(test_duration.total_seconds())),
9: ],
9: cwd=str(current_log_dir_path),
9: log_prefix="client1",
9: ) as client1_process:
9: with ProcessExecutor(
9: [
9: str(bin_dir_path / "durability_request_continuously"),
9: "--config",
9: str(config_file_path),
9: "--uri",
9: server_uri,
9: "--log",
9: "client2.log",
9: "--seconds",
9: str(int(test_duration.total_seconds())),
9: ],
9: cwd=str(current_log_dir_path),
9: log_prefix="client2",
9: ) as client2_process:
9: with ProcessExecutor(
9: [
9: str(bin_dir_path / "durability_request_continuously"),
9: "--config",
9: str(config_file_path),
9: "--uri",
9: server_uri,
9: "--log",
9: "client3.log",
9: "--seconds",
9: str(int(test_duration.total_seconds())),
9: ],
9: cwd=str(current_log_dir_path),
9: log_prefix="client3",
9: ) as client3_process:
9: with ProcessExecutor(
9: [
9: str(bin_dir_path / "durability_request_continuously"),
9: "--config",
9: str(config_file_path),
9: "--uri",
9: server_uri,
9: "--log",
9: "client4.log",
9: "--seconds",
9: str(int(test_duration.total_seconds())),
9: ],
9: cwd=str(current_log_dir_path),
9: log_prefix="client4",
9: ) as client4_process:
9: client4_process.wait(test_duration.total_seconds() * 2.0)
9: client3_process.wait(1.0)
9: client2_process.wait(1.0)
9: > client1_process.wait(1.0)
9:
9: tests/durability/test_multiple_clients.py:102:
9: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
9: tests/durability/process_executor.py:43: in wait
9: self._process.wait(timeout=timeout)
9: /root/.pyenv/versions/3.12.4/lib/python3.12/subprocess.py:1264: in wait
9: return self._wait(timeout=timeout)
9: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
9:
9: self = <Popen: returncode: -15 args: ['/builds/MusicScience37Projects/utility-libra...>
9: timeout = 1.0
9:
9: def _wait(self, timeout):
9: """Internal implementation of wait() on POSIX."""
9: if self.returncode is not None:
9: return self.returncode
9:
9: if timeout is not None:
9: endtime = _time() + timeout
9: # Enter a busy loop if we have a timeout. This busy loop was
9: # cribbed from Lib/threading.py in Thread.wait() at r71065.
9: delay = 0.0005 # 500 us -> initial delay of 1 ms
9: while True:
9: if self._waitpid_lock.acquire(False):
9: try:
9: if self.returncode is not None:
9: break # Another thread waited.
9: (pid, sts) = self._try_wait(os.WNOHANG)
9: assert pid == self.pid or pid == 0
9: if pid == self.pid:
9: self._handle_exitstatus(sts)
9: break
9: finally:
9: self._waitpid_lock.release()
9: remaining = self._remaining_time(endtime)
9: if remaining <= 0:
9: > raise TimeoutExpired(self.args, timeout)
9: E subprocess.TimeoutExpired: Command '['/builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/build_gcc12_debug/bin/durability_request_continuously', '--config', '/builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/tests/durability/multiple_clients_config.toml', '--uri', 'tcp://127.0.0.1:12345', '--log', 'client1.log', '--seconds', '1']' timed out after 1.0 seconds
9:
9: /root/.pyenv/versions/3.12.4/lib/python3.12/subprocess.py:2045: TimeoutExpired
9: =============================== warnings summary ===============================
9: tests/durability/test_multiple_clients.py::test_multiple_clients_tcp_v4
9: /builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/.venv/lib/python3.12/site-packages/kaleido/scopes/base.py:188: DeprecationWarning:
9:
9: setDaemon() is deprecated, set the daemon attribute instead
9:
9: tests/durability/test_multiple_clients.py::test_multiple_clients_tcp_v4
9: /builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/.venv/lib/python3.12/site-packages/statsmodels/regression/linear_model.py:1783: RuntimeWarning:
9:
9: divide by zero encountered in scalar divide
9:
9: tests/durability/test_multiple_clients.py::test_multiple_clients_tcp_v4
9: /builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/.venv/lib/python3.12/site-packages/statsmodels/regression/linear_model.py:1783: RuntimeWarning:
9:
9: invalid value encountered in scalar divide
9:
9: -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
9: - generated xml file: /builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/build_gcc12_debug/junit/msgpack_rpc_durability_tests.xml -
9: =========================== short test summary info ============================
9: FAILED tests/durability/test_multiple_clients.py::test_multiple_clients_tcp_v4 - subprocess.TimeoutExpired: Command '['/builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/build_gcc12_debug/bin/durability_request_continuously', '--config', '/builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/tests/durability/multiple_clients_config.toml', '--uri', 'tcp://127.0.0.1:12345', '--log', 'client1.log', '--seconds', '1']' timed out after 1.0 seconds
9: =================== 1 failed, 1 passed, 3 warnings in 12.53s ===================
9/9 Test #9: durability_tests .................***Failed 13.69 sec
Edited by Kenta Kabashima