Repository navigation
fix(windows): make updated gateway discoverable and use committed env - #123062
yazeeddbiani-tech wants to merge 1 commit into
Conversation
|
Independent live reproduction on a Windows source install (git install, store Python 3.14), plus one gap this PR does not cover. The symptom, reproduced: The live gateway at the time had argv Confirms your diagnosis end to end: the post-update relaunch comes from Gap — two other producers still emit an inline-
So switching Implementation detail, if identity is ever preferred over With the list in hand, a rule keyed on the first Verification of the whole path on my install (with the equivalent local change in place): |
|
Independent Windows reproduction at Two review details from the live investigation:
The |
With the watcher's own overlay 1. 2. The Minor. Both cases in |
|
Thanks for the detailed write-up and the live Windows repro, it pinned down the real mechanism. Closing because current
Not verified on a live Windows install, only against the real producer and matcher on Linux. If the exit-1 after |
Problem
On a Windows source install,
hermes updatecompleted the code and desktop builds but exited 1 while verifying the gateway relaunch. The gateway did start, but its post-update command came fromruntime_command()aspython -I -c ... gateway run --replace. The strict process matcher intentionally rejects inline-ccommands, so the liveness poll could not see this gateway. A later status probe removed its PID file while the runtime lock was still active, causing subsequent updates to fail before fetching withactive gateway lock has no PID metadata.The relaunched Python 3.14 gateway also loaded
pydantic_corefrom the old in-tree Python 3.11venv, causing the hosted-room worker to fail at import time.Change
python -m hermes_cli.main ... gateway run --replace. The existing restart watcher suppliesPYTHONPATH,VIRTUAL_ENV, andHERMES_HOME. The strict process matcher already recognizes this command; no identity checks are loosened. Other platforms retain their existing launcher.Verification
scripts/check-windows-footguns.py --diff mainpassed on all four changed files.Related work: #115495 addresses Scheduled Task fallback after a Job Object teardown. #122144 and #106491 address venv interpreter rebinding. This change addresses the inline-source discovery mismatch and the committed-versus-legacy environment choice observed in the live failure.