You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There is a two part bug related to node notification updates. When a node either loses connection/system goes to sleep, this logic expects that Notifier.RemoveNode will be called before the next sendAll loop, where the effected node won't be there anymore.
I have systems coming in and out of my network during the day, and when some go offline they're not correctly removed from the notifier, resulting in the notifier.sendAll function emitting the following logs until a disconnect event is finally emitted, or Headscale is rebooted.
With the first problem of Notifier.RemoveNode not being called when a node goes offline in all instances, secondly this issue occurs where logic in sendAll will not work as intended, as any node in the n.nodes array after the failed node will not receive updates.
I have yet to pin point why the first issue occurs. I have a feeling the desktop Tailscale clients are not correctly calling disconnect when a machine goes to sleep, but eventually do at same point as the errors above stop after awhile when updating the sendAll functions to continue looping through nodes rather than returning early.
Expected Behavior
When a node goes offline, it is correctly removed from the notifiers available nodes list.
Even if a node is unreachable, the remaining nodes should continue to receive updates.
Steps To Reproduce
Reproducing I've personally found tricky. I'm deployed using the deb installation package + systemd and will have anywhere between 20 and 40 nodes on the network at a given time. Not all sleep events on machines or ephemeral nodes being removed cause the error to occur.
Is this a support request?
Is there an existing issue for this?
Current Behavior
There is a two part bug related to node notification updates. When a node either loses connection/system goes to sleep, this logic expects that
Notifier.RemoveNode
will be called before the next sendAll loop, where the effected node won't be there anymore.I have systems coming in and out of my network during the day, and when some go offline they're not correctly removed from the notifier, resulting in the
notifier.sendAll
function emitting the following logs until a disconnect event is finally emitted, or Headscale is rebooted.With the first problem of
Notifier.RemoveNode
not being called when a node goes offline in all instances, secondly this issue occurs where logic insendAll
will not work as intended, as any node in then.nodes
array after the failed node will not receive updates.I have yet to pin point why the first issue occurs. I have a feeling the desktop Tailscale clients are not correctly calling
disconnect
when a machine goes to sleep, but eventually do at same point as the errors above stop after awhile when updating the sendAll functions tocontinue
looping through nodes rather than returning early.Expected Behavior
Steps To Reproduce
Reproducing I've personally found tricky. I'm deployed using the deb installation package + systemd and will have anywhere between 20 and 40 nodes on the network at a given time. Not all sleep events on machines or ephemeral nodes being removed cause the error to occur.
Environment
Runtime environment
Anything else?
No response
The text was updated successfully, but these errors were encountered: