Galaxy probe initial ScanState lost when platforms are registered before the event pump starts #865

Closed
opened 2026-11-11 12:14:09 -05:00 by dohertj2 · 1 comment
Owner

Found by the #614 read-only live run against VD03 (2026-11-11). The event pump starts only on the first Read or Subscribe. Platforms that the probe watcher registers before then never receive their initial ScanState value. ScanState rarely changes, so those platforms stay missing from GetHostStatuses().

Live evidence: in normal order, only the transport entry appeared after 30 s. With the pump started before Discover, all 5 hosts appeared (CTRX_DEV, DevWinPlatform and DevAppEngine Running; JoePlatform and JoeAppEngine Unknown).

This compounds the platform-seed bug: once the seed works, a background seed would always hit this race, and a driver with no authored tags would never start the pump at all.

Fix: start the pump, or replay or read the current value, when probe advises are registered. Compare with the #859 early-event parking.

Found by the #614 read-only live run against VD03 (2026-11-11). The event pump starts only on the first Read or Subscribe. Platforms that the probe watcher registers before then never receive their initial `ScanState` value. ScanState rarely changes, so those platforms stay missing from `GetHostStatuses()`. **Live evidence:** in normal order, only the transport entry appeared after 30 s. With the pump started before Discover, all 5 hosts appeared (CTRX_DEV, DevWinPlatform and DevAppEngine Running; JoePlatform and JoeAppEngine Unknown). This compounds the platform-seed bug: once the seed works, a background seed would always hit this race, and a driver with no authored tags would never start the pump at all. **Fix:** start the pump, or replay or read the current value, when probe advises are registered. Compare with the #859 early-event parking.
dohertj2 added the priority:p2type:bug labels 2026-11-11 12:14:09 -05:00
Author
Owner

Done. The event stream opens before probe or advise registration, and the ResolveOrPark race and the replay-over-dead-stream bug in ReconnectSupervisor are fixed. Seven review rounds. Live, read-only on VD03: GetHostStatuses lists all 5 hosts before any Discover/Read/Subscribe. The remaining race needs a gateway attach acknowledgement: mxaccessgw#227. Pushed to master in e857135e..7a27ef1f; full suite green (20 projects, 0 failures, 0 warnings).

Done. The event stream opens before probe or advise registration, and the ResolveOrPark race and the replay-over-dead-stream bug in ReconnectSupervisor are fixed. Seven review rounds. Live, read-only on VD03: GetHostStatuses lists all 5 hosts before any Discover/Read/Subscribe. The remaining race needs a gateway attach acknowledgement: mxaccessgw#227. Pushed to master in `e857135e..7a27ef1f`; full suite green (20 projects, 0 failures, 0 warnings).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#865