{"record":{"id":"9f4d99acdd57725d","repo":"zed-industries/zed","slug":"judge-proxy-exited-before-becoming-ready","errorCode":null,"errorMessage":"judge proxy exited before becoming ready","messagePattern":"judge proxy exited before becoming ready","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"crates/eval_cli/zed_eval/rejudge.py","lineNumber":189,"sourceCode":"            stdout=subprocess.DEVNULL,\n            stderr=subprocess.DEVNULL,\n        )\n        self._wait_for_port()\n        return self\n\n    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","sourceCodeStart":171,"sourceCodeEnd":207,"githubUrl":"https://github.com/zed-industries/zed/blob/bc538def4545534201bbfcac4e95ac34ea6501b6/crates/eval_cli/zed_eval/rejudge.py#L171-L207","documentation":"Error \"judge proxy exited before becoming ready\" thrown in zed-industries/zed.","triggerScenarios":"Thrown at crates/eval_cli/zed_eval/rejudge.py:189 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"}