LabVIEW client receive ghost events when DS is stoped

Hi @akessler

I don’t know how the labview bindings work, but I can explain what happens with Tango in general.

If a client has subscribed to events, and the server is no longer reachable (terminated, or maybe a network issue), then the client will generate “timeout” events. Roughly, every 10 seconds. If the device server comes back, then the client will automatically resubscribe, and you’ll start receiving normal events again.

Here’s an example using PyTango, where the device server was stopped. You can see the timeout events keep coming until we unsubscribe the client.

>>> import tango
>>> dp = tango.DeviceProxy("sys/tg_test/2")
>>> eid = dp.subscribe_event("boolean_scalar", tango.EventType.CHANGE_EVENT, tango.utils.EventCallback())
2025-07-21 09:36:43.811053 SYS/TG_TEST/2 BOOLEAN_SCALAR CHANGE [ATTR_VALID] True
2025-07-21 09:36:46.811386 SYS/TG_TEST/2 BOOLEAN_SCALAR CHANGE [ATTR_VALID] True

# kill server
2025-07-21 09:36:56.044967 SYS/TG_TEST/2 BOOLEAN_SCALAR CHANGE [API_EventTimeout] Event channel is not responding anymore, maybe the server or event system is down
2025-07-21 09:37:06.050172 SYS/TG_TEST/2 BOOLEAN_SCALAR CHANGE [API_EventTimeout] Event channel is not responding anymore, maybe the server or event system is down
>>> dp.unsubscribe_event(eid)
# no more event callbacks

Are you raising the issue because you expect timeout = True, instead of the False value you are seeing?

Regards,
/Anton