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