Symptom

Desktop app could not discover a Krill server running on the same machine. Remote servers (on separate Pi nodes) appeared normally. The demo-recording pipeline was completely blocked because it co-locates the app and a sandbox server on the same box.

Root cause

ClientBeaconWireHandler.handleIncomingWire filtered “own” beacons by comparing wire.host() == hostName. When app and server share a host, both advertise the same hostname in their beacons, so the server’s beacon was indistinguishable from the client’s own and was silently dropped — even though their installId values are different.

Fix

Prevention