Skip to content

Updater can mis-handle managed Gateway runtime snapshots #104945

Description

@steipete

Summary

The live updater can fail or restart the wrong Gateway runtime when a managed macOS LaunchAgent points at a clean detached runtime snapshot while the source checkout advances.

Reproduction

  1. Run the managed Gateway from ~/.openclaw/runtime/gateway-<commit>/dist/index.js.
  2. Advance the canonical source checkout.
  3. Run the live updater while the Gateway has active work or while the service wrapper carries its own environment.

Expected behavior

The updater should validate the loaded service and snapshot without executing stale snapshot code, drain the Gateway through a trusted source control build, stop and retarget the exact LaunchAgent atomically, and prove the new process owns the configured port.

Actual behavior

The older updater assumes the active service entrypoint matches the source checkout. Snapshot deployments can therefore be rejected or controlled through the wrong runtime, and restart verification does not prove the loaded LaunchAgent arguments and listener belong to the rebuilt source deployment.

Scope

macOS managed Gateway updates only. No release or version change.

Metadata

Metadata

Assignees

Labels

P2Normal backlog priority with limited blast radius.clawsweeper:current-main-reproClawSweeper found a high-confidence current-main issue reproduction.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:crash-loopCrash, hang, restart loop, or process-level availability failure.issue-rating: 🦀 challenger crabExceptional issue quality: high-confidence current-main reproduction and actionable evidence.maintainerMaintainer-authored PRmaturity:stableIssue affects a taxonomy feature currently scored M4/M5.

Type

No type

Fields

Priority

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions