Skip to content

Connection Timeout due to Relay Infrastructure Mismatch (Production vs Canary) between v0.26.0 and v0.31.0 #121

@AABelkhiria

Description

@AABelkhiria

I encountered a consistent "timed out" error when attempting to receive a token. After troubleshooting, the issue was identified as a version mismatch between the sender and receiver, which resulted in the two nodes attempting to connect via different relay infrastructures.

  • Sender Version: 0.26.0 (using Production infrastructure: iroh.network)
  • Receiver Version: 0.31.0 (built via cargo, using Canary infrastructure: iroh-canary.iroh.link)

Observed Logs

2025-12-18T23:07:19.975172Z DEBUG actor: iroh::net_report: v4 QAD probe relay.url=RelayUrl("https://use1-1.relay.n0.iroh-canary.iroh.link./")
2025-12-18T23:07:19.975174Z DEBUG actor: iroh::net_report: v6 QAD probe relay.url=RelayUrl("https://use1-1.relay.n0.iroh-canary.iroh.link./")
2025-12-18T23:07:19.975188Z DEBUG actor:reportgen-actor: iroh::net_report::reportgen: reportstate actor starting
2025-12-18T23:07:19.975213Z DEBUG actor: iroh::net_report: v4 QAD probe relay.url=RelayUrl("https://usw1-1.relay.n0.iroh-canary.iroh.link./")
2025-12-18T23:07:19.975190Z DEBUG portmapper.service: portmapper: getting a port mapping for 192.168.178.132:51151 -> None
2025-12-18T23:07:19.975230Z DEBUG actor: iroh::net_report: v6 QAD probe relay.url=RelayUrl("https://usw1-1.relay.n0.iroh-canary.iroh.link./")
...
2025-12-18T23:07:19.976539Z DEBUG pkarr_publish{me=62a3ba7fd1}: hickory_proto::xfer: enqueueing message:QUERY:[Query { name: Name("dns.iroh.link."), query_type: AAAA, query_class: IN }]
2025-12-18T23:07:19.976572Z DEBUG actor:QAD-IPv6{relay_url=https://usw1-1.relay.n0.iroh-canary.iroh.link./}: hickory_proto::xfer::dns_handle: querying: usw1-1.relay.n0.iroh-canary.iroh.link. AAAA
2025-12-18T23:07:19.976556Z DEBUG actor:QAD-IPv4{relay_url=https://aps1-1.relay.n0.iroh-canary.iroh.link./}: hickory_proto::xfer::dns_handle: querying: aps1-1.relay.n0.iroh-canary.iroh.link. A
2025-12-18T23:07:19.976587Z DEBUG actor:QAD-IPv6{relay_url=https://euc1-1.relay.n0.iroh-canary.iroh.link./}: hickory_proto::xfer::dns_handle: querying: euc1-1.relay.n0.iroh-canary.iroh.link. AAAA
...
2025-12-18T23:07:19.977013Z DEBUG pkarr_publish{me=62a3ba7fd1}: hickory_proto::udp::udp_stream: created socket successfully
2025-12-18T23:07:19.976979Z DEBUG actor:QAD-IPv4{relay_url=https://euc1-1.relay.n0.iroh-canary.iroh.link./}: hickory_proto::xfer: enqueueing message:QUERY:[Query { name: Name("euc1-1.relay.n0.iroh-canary.iroh.link."), query_type: A, query_class: IN }]
2025-12-18T23:07:19.976989Z DEBUG actor:QAD-IPv6{relay_url=https://use1-1.relay.n0.iroh-canary.iroh.link./}: hickory_resolver::name_server::name_server: existing connection: NameServerConfig { socket_addr: [****:****:****:****:****]:53, protocol: Udp, tls_dns_name: None, http_endpoint: None, trust_negative_responses: false, bind_addr: None }
2025-12-18T23:07:19.977118Z DEBUG actor:QAD-IPv6{relay_url=https://use1-1.relay.n0.iroh-canary.iroh.link./}: hickory_proto::xfer: enqueueing message:QUERY:[Query { name: Name("use1-1.relay.n0.iroh-canary.iroh.link."), query_type: AAAA, query_class: IN }]
2025-12-18T23:07:19.977019Z DEBUG hickory_proto::udp::udp_client_stream: final message: ; header 45979:QUERY:RD:NoError:QUERY:0/0/0
...
2025-12-18T23:07:20.027336Z DEBUG relay-actor:active-relay{url=https://euw1-1.relay.iroh.network./}:dialing: hickory_proto::udp::udp_stream: created socket successfully
2025-12-18T23:07:20.027348Z DEBUG connect{me=62a3ba7fd1 alpn="/iroh-bytes/4" remote=3f8c4bf930}:drive{id=0}:prepare_send: iroh::magicsock: ping sent dst=UDP([****:**:671f:3658:ef69:af03:****:****]:58353) tx=4b4a1594946b1e15aad492fa purpose=Discovery
2025-12-18T23:07:20.027358Z DEBUG connect{me=62a3ba7fd1 alpn="/iroh-bytes/4" remote=3f8c4bf930}:drive{id=0}:prepare_send: iroh::magicsock: call-me-maybe sent dstkey=3f8c4bf930 relay_url=https://euw1-1.relay.iroh.network./
2025-12-18T23:07:20.029735Z DEBUG actor:QAD-IPv4{relay_url=https://euc1-1.relay.n0.iroh-canary.iroh.link./}: hickory_proto::udp::udp_client_stream: received message id: 57910
2025-12-18T23:07:20.029754Z DEBUG actor:QAD-IPv4{relay_url=https://euc1-1.relay.n0.iroh-canary.iroh.link./}: hickory_proto::error: response: ; header 57910:RESPONSE:RD,RA:NoError:QUERY:1/0/0
; query
;; euc1-1.relay.n0.iroh-canary.iroh.link. IN A
; answers 1
euc1-1.relay.n0.iroh-canary.iroh.link. 300 IN A 162.55.211.167
; nameservers 0
; additionals 0

2025-12-18T23:07:20.029772Z DEBUG actor:QAD-IPv4{relay_url=https://euc1-1.relay.n0.iroh-canary.iroh.link./}: hickory_proto::error: response: ; header 57910:RESPONSE:RD,RA:NoError:QUERY:1/0/0
; query
;; euc1-1.relay.n0.iroh-canary.iroh.link. IN A
; answers 1
euc1-1.relay.n0.iroh-canary.iroh.link. 300 IN A 162.55.211.167
; nameservers 0
; additionals 0
...
2025-12-18T23:07:20.572051Z DEBUG connect{me=62a3ba7fd1 alpn="/iroh-bytes/4" remote=3f8c4bf930}:discovery{me=62a3ba7fd1 endpoint=3f8c4bf930}: hickory_proto::udp::udp_stream: created socket successfully
2025-12-18T23:07:20.572150Z DEBUG connect{me=62a3ba7fd1 alpn="/iroh-bytes/4" remote=3f8c4bf930}:discovery{me=62a3ba7fd1 endpoint=3f8c4bf930}: hickory_proto::udp::udp_stream: created socket successfully
2025-12-18T23:07:20.590087Z DEBUG connect{me=62a3ba7fd1 alpn="/iroh-bytes/4" remote=3f8c4bf930}:discovery{me=62a3ba7fd1 endpoint=3f8c4bf930}: hickory_proto::udp::udp_client_stream: received message id: 7341
2025-12-18T23:07:20.590231Z DEBUG connect{me=62a3ba7fd1 alpn="/iroh-bytes/4" remote=3f8c4bf930}:discovery{me=62a3ba7fd1 endpoint=3f8c4bf930}: hickory_proto::error: response: ; header 7341:RESPONSE:RD,AA,RA:NXDomain:QUERY:0/1/0
; query
;; _iroh.86grz6jobgnd51jjg7hzg4u9hbjfm6j318rjgax7t96iuassrefy.dns.iroh.link.fritz.box. IN TXT
; answers 0
; nameservers 1
fritz.box. 9 IN SOA fritz.box. admin.fritz.box. 1766099240 21600 1800 43200 10
; additionals 0

[1/4] ⠚ Connecting ... [00:00:00]                                                                                  2025-12-18T23:07:20.836075Z  WARN connect{me=62a3ba7fd1 alpn="/iroh-bytes/4" remote=3f8c4bf930}:discovery{me=62a3ba7fd1 endpoint=3f8c4bf930}: iroh::discovery: discovery service produced error err=Service 'dns' error
Caused by:
    no calls succeeded: [Failed to resolve TXT recordFailed to resolve TXT recordFailed to resolve TXT record]
...
2025-12-18T23:07:24.977426Z DEBUG actor:handle_ping_actions: iroh::magicsock: call-me-maybe sent dstkey=3f8c4bf930 relay_url=https://euw1-1.relay.iroh.network./
2025-12-18T23:07:25.029658Z DEBUG actor:disco{endpoint=3f8c4bf930}: iroh::magicsock::endpoint_map::endpoint_state: pong not received in timeout tx=4b4a1594946b1e15aad492fa addr=UDP([****:**:671f:3658:ef69:****:****:****]:58353)
2025-12-18T23:07:25.029713Z DEBUG actor:disco{endpoint=3f8c4bf930}: iroh::magicsock::endpoint_map::endpoint_state: pong not received in timeout tx=d7009027d42c23fdf65edf53 addr=UDP(172.22.0.1:58352)
2025-12-18T23:07:25.029723Z DEBUG actor:disco{endpoint=3f8c4bf930}: iroh::magicsock::endpoint_map::endpoint_state: pong not received in timeout tx=8eb94f019aede9b98af3fac4 addr=Relay(https://euw1-1.relay.iroh.network./)
2025-12-18T23:07:25.029734Z DEBUG actor:disco{endpoint=3f8c4bf930}: iroh::magicsock::endpoint_map::endpoint_state: pong not received in timeout tx=ccf96ee7e0f6c41f4a76e4ab addr=UDP(84.***.93.138:58352)
2025-12-18T23:07:25.029741Z DEBUG actor:disco{endpoint=3f8c4bf930}: iroh::magicsock::endpoint_map::endpoint_state: pong not received in timeout tx=84a989bd0e83ce91d0dcfe02 addr=UDP(100.***.184.17:58352)
...
[1/4] ⠓ Connecting ... [00:00:05]                                                                                                                                                                                                                             2025-12-18T23:07:26.028619Z DEBUG relay-actor:active-relay{url=https://euw1-1.relay.iroh.network./}:dialing: iroh::magicsock::transports::relay::actor: Dropping datagrams to send. UNDELIVERABLE_DATAGRAM_TIMEOUT=3s
[1/4] ⠈ Connecting ... [00:00:06]                                                                                                                                                                                                                             2025-12-18T23:07:27.024747Z DEBUG connect{me=62a3ba7fd1 alpn="/iroh-bytes/4" remote=3f8c4bf930}:drive{id=0}:prepare_send:get_send_addrs{endpoint=3f8c4bf930}:want_call_me_maybe: iroh::magicsock::endpoint_map::endpoint_state: best addr not set: need full ping
...
2025-12-18T23:07:29.979700Z DEBUG actor:handle_ping_actions: iroh::magicsock: call-me-maybe sent dstkey=3f8c4bf930 relay_url=https://euw1-1.relay.iroh.network./
2025-12-18T23:07:30.028900Z  WARN relay-actor:active-relay{url=https://euw1-1.relay.iroh.network./}: iroh::magicsock::transports::relay::actor: Failed to connect to relay server

The nodes were essentially "in different places," with the receiver looking for the sender on the Canary network while the sender was waiting on the Production network.

DEBUG actor: iroh::net_report: v4 QAD probe relay.url=RelayUrl("https://euc1-1.relay.n0.iroh-canary.iroh.link./")
...
WARN relay-actor: Failed to connect to relay server (https://euw1-1.relay.iroh.network./)
DEBUG actor:disco: iroh::magicsock::endpoint_map::endpoint_state: pong not received in timeout

Environment:

  • Receiver OS: macOS (MacBook M4 Pro)
  • Firewall: Disabled
  • Network: Tested on both Home Wi-Fi (Fritz!Box, with and without filters in the router) and Mobile Hotspot (same result).
  • Installation Method: cargo install sendme

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions