{"record":{"id":"9a0a36be43d09f24","repo":"zed-industries/zed","slug":"judge-proxy-did-not-open-port-self-port-in-time","errorCode":null,"errorMessage":"judge proxy did not open port {self._port} in time","messagePattern":"judge proxy did not open port (.+?) in time","errorType":"exception","errorClass":"TimeoutError","httpStatus":null,"severity":"error","filePath":"crates/eval_cli/zed_eval/rejudge.py","lineNumber":195,"sourceCode":"    def __exit__(self, *_exc: object) -> None:\n        if self._process is not None:\n            self._process.terminate()\n            try:\n                self._process.wait(timeout=10)\n            except subprocess.TimeoutExpired:\n                self._process.kill()\n\n    def _wait_for_port(self, timeout_secs: float = 30.0) -> None:\n        deadline = time.time() + timeout_secs\n        while time.time() < deadline:\n            if self._process is not None and self._process.poll() is not None:\n                raise RuntimeError(\"judge proxy exited before becoming ready\")\n            with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as probe:\n                probe.settimeout(0.5)\n                if probe.connect_ex((\"127.0.0.1\", self._port)) == 0:\n                    return\n            time.sleep(0.25)\n        raise TimeoutError(f\"judge proxy did not open port {self._port} in time\")\n\n\ndef _stage_tests_dir(tests_dir: Path) -> None:\n    \"\"\"Point the absolute `/tests` path at this trial's package. Reset per trial\n    so each verifier reads its own rubrics/prompts.\"\"\"\n    if TESTS_DIR.is_symlink() or TESTS_DIR.exists():\n        if TESTS_DIR.is_dir() and not TESTS_DIR.is_symlink():\n            shutil.rmtree(TESTS_DIR)\n        else:\n            TESTS_DIR.unlink()\n    TESTS_DIR.symlink_to(tests_dir)\n\n\ndef _run_verifier(\n    part: str, tests_dir: Path, judge_model: str, port: int\n) -> dict[str, Any]:\n    \"\"\"Stage the verifier's expected inputs and run the real cached script.\"\"\"\n    LOGS_AGENT_DIR.mkdir(parents=True, exist_ok=True)","sourceCodeStart":177,"sourceCodeEnd":213,"githubUrl":"https://github.com/zed-industries/zed/blob/bc538def4545534201bbfcac4e95ac34ea6501b6/crates/eval_cli/zed_eval/rejudge.py#L177-L213","documentation":"Error \"judge proxy did not open port {self._port} in time\" thrown in zed-industries/zed.","triggerScenarios":"Thrown at crates/eval_cli/zed_eval/rejudge.py:195 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bc538def4545534201bbfcac4e95ac34ea6501b6","analyzedAt":"2026-08-16T07:30:46.435Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}