skywire icon indicating copy to clipboard operation
skywire copied to clipboard

`WARN [router]: failed to dial to setup node: error="i/o deadline reached"`

Open 0pcom opened this issue 8 months ago • 0 comments

A recurring issue is that setup-nodes become unreachable:

[2025-04-13T08:59:22.655941308-05:00] WARN [router]: failed to dial to setup node: setupPK(0324579f003e6b4048bae2def4365e634d8e0e3054a20fc7af49daf2a179658557) error="i/o deadline reached"
[2025-04-13T08:59:42.96057214-05:00] WARN [router]: failed to dial to setup node: setupPK(024fbd3997d4260f731b01abcfce60b8967a6d4c6a11d1008812810ea1437ce438) error="i/o deadline reached"
[2025-04-13T09:00:06.245972172-05:00] WARN [router]: failed to dial to setup node: setupPK(03b87c282f6e9f70d97aeea90b07cf09864a235ef718725632d067873431dd1015) error="i/o deadline reached"

It's necessary to restart the setup-node in the instance that it becomes unreachable. Somertimes it becomes unreachable quickly.

We need a permanent solution for this issue.

I believe the transport setup-node api of the visor - which is accessible over dmsg - does not have the same issue. But we should confirm this is the case.

We should look at what connections over dmsg are not affected by this issue, and attempt to improve the logic for the affected connections.

The same underlying issue may be to blame for these other tickets:

https://github.com/skycoin/skywire/issues/1942

error="i/o deadline reached"

https://github.com/skycoin/skywire/issues/1936

error="i/o deadline reached"

https://github.com/skycoin/skywire/issues/1803

error="i/o deadline reached"

https://github.com/skycoin/skywire/issues/1804

error="i/o deadline reached"
  • As a temporary measure, we need a way that the setup-node can attempt to connect to itself periodically and do a health check, to ensure the connection works. If the connection fails after 3 attempts, the setup-node should either be shut down (and expected to be restarted by process control mechanism) or simply restart the connection to dmsg in the code at that point.

  • we need to implement the dmsghttp-config for the setup-node so that it doees not need to connect to the dmsg-discovery with plain http requests

0pcom avatar Apr 13 '25 14:04 0pcom