While on a (MacOS) laptop I left iroh running while going wifi -> cab -> wifi. netcheck was sad while I was disconnected, but things continued to "work" while I was offline. I was able to reconnect to another node after network conditions switched, so I don't think this is a criticial panic, but I've seen it a few times now:
2023-10-18T18:40:54.521707Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:40:54.564260Z WARN iroh_net::netcheck::reportgen: icmp latency measurement failed: io error: No route to host (os error 65): No route to host (os error 65)
2023-10-18T18:40:54.567021Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:40:54.625510Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:40:54.666917Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:netcheck.actor:reportgen.actor: iroh_net::netcheck::reportgen: check_captive_portal error: error sending request for url (http://use1-1.derp.iroh.network./generate_204): error trying to connect: dns error: failed to lookup address information: nodename nor servname provided, or not known
Caused by:
0: error trying to connect: dns error: failed to lookup address information: nodename nor servname provided, or not known
1: dns error: failed to lookup address information: nodename nor servname provided, or not known
2: failed to lookup address information: nodename nor servname provided, or not known
Stack backtrace:
0: backtrace::backtrace::libunwind::trace
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.69/src/backtrace/libunwind.rs:93:5
backtrace::backtrace::trace_unsynchronized
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.69/src/backtrace/mod.rs:66:5
backtrace::backtrace::trace
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.69/src/backtrace/mod.rs:53:14
anyhow::backtrace::capture::Backtrace::create
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.75/src/backtrace.rs:216:13
anyhow::backtrace::capture::Backtrace::capture
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.75/src/backtrace.rs:204:17
1: anyhow::error:: for anyhow::Error>::from
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.75/src/error.rs:551:25
2: as core::ops::try_trait::FromResidual>>::from_residual
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/result.rs:1961:27
iroh_net::netcheck::reportgen::check_captive_portal::{{closure}}
at ./iroh-net/src/netcheck/reportgen.rs:926:15
as core::future::future::Future>::poll
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.39/src/instrument.rs:321:9
3: as core::future::future::Future>::poll
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/time/timeout.rs:202:33
4: iroh_net::netcheck::reportgen::Actor::prepare_captive_portal_task::{{closure}}
at ./iroh-net/src/netcheck/reportgen.rs:535:48
as core::future::future::Future>::poll
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/future/future.rs:125:9
5: as core::future::future::Future>::poll
at ./iroh-net/src/util.rs:78:32
<&mut F as core::future::future::Future>::poll
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/future/future.rs:113:9
iroh_net::netcheck::reportgen::Actor::run_inner::{{closure}}::{{closure}}
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/macros/select.rs:524:49
as core::future::future::Future>::poll
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/future/poll_fn.rs:58:9
6: iroh_net::netcheck::reportgen::Actor::run_inner::{{closure}}
at ./iroh-net/src/netcheck/reportgen.rs:248:13
7: iroh_net::netcheck::reportgen::Actor::run::{{closure}}
at ./iroh-net/src/netcheck/reportgen.rs:200:32
iroh_net::netcheck::reportgen::Client::new::{{closure}}
at ./iroh-net/src/netcheck/reportgen.rs:115:38
as core::future::future::Future>::poll
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.39/src/instrument.rs:321:9
8: tokio::runtime::task::core::Core::poll::{{closure}}
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/core.rs:328:17
tokio::loom::std::unsafe_cell::UnsafeCell::with_mut
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/loom/std/unsafe_cell.rs:16:9
tokio::runtime::task::core::Core::poll
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/core.rs:317:13
9: tokio::runtime::task::harness::poll_future::{{closure}}
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/harness.rs:485:19
as core::ops::function::FnOnce<()>>::call_once
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/panic/unwind_safe.rs:271:9
std::panicking::try::do_call
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:500:40
std::panicking::try
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:464:19
std::panic::catch_unwind
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panic.rs:142:14
tokio::runtime::task::harness::poll_future
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/harness.rs:473:18
tokio::runtime::task::harness::Harness::poll_inner
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/harness.rs:208:27
tokio::runtime::task::harness::Harness::poll
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/harness.rs:153:15
10: tokio::runtime::task::raw::RawTask::poll
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/raw.rs:200:18
tokio::runtime::task::LocalNotified::run
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/mod.rs:408:9
tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/scheduler/multi_thread/worker.rs:576:18
tokio::runtime::coop::with_budget
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/coop.rs:107:5
tokio::runtime::coop::budget
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/coop.rs:73:5
tokio::runtime::scheduler::multi_thread::worker::Context::run_task
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/scheduler/multi_thread/worker.rs:575:9
11: tokio::runtime::scheduler::multi_thread::worker::Context::run
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/scheduler/multi_thread/worker.rs:526:24
tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/scheduler/multi_thread/worker.rs:491:21
tokio::runtime::context::scoped::Scoped::set
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/context/scoped.rs:40:9
12: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/scheduler/multi_thread/worker.rs:486:9
tokio::runtime::context::runtime::enter_runtime
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/context/runtime.rs:65:16
13: tokio::runtime::scheduler::multi_thread::worker::run
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/scheduler/multi_thread/worker.rs:478:5
14: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/scheduler/multi_thread/worker.rs:447:45
as core::future::future::Future>::poll
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/blocking/task.rs:42:21
tokio::runtime::task::core::Core::poll::{{closure}}
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/core.rs:328:17
tokio::loom::std::unsafe_cell::UnsafeCell::with_mut
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/loom/std/unsafe_cell.rs:16:9
tokio::runtime::task::core::Core::poll
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/core.rs:317:13
15: tokio::runtime::task::harness::poll_future::{{closure}}
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/harness.rs:485:19
as core::ops::function::FnOnce<()>>::call_once
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/panic/unwind_safe.rs:271:9
std::panicking::try::do_call
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:500:40
std::panicking::try
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:464:19
std::panic::catch_unwind
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panic.rs:142:14
tokio::runtime::task::harness::poll_future
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/harness.rs:473:18
tokio::runtime::task::harness::Harness::poll_inner
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/harness.rs:208:27
tokio::runtime::task::harness::Harness::poll
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/harness.rs:153:15
16: tokio::runtime::task::raw::RawTask::poll
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/raw.rs:200:18
tokio::runtime::task::UnownedTask::run
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/task/mod.rs:445:9
tokio::runtime::blocking::pool::Task::run
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/blocking/pool.rs:159:9
tokio::runtime::blocking::pool::Inner::run
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/blocking/pool.rs:513:17
tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
at /Users/b5/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.33.0/src/runtime/blocking/pool.rs:471:13
std::sys_common::backtrace::__rust_begin_short_backtrace
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/sys_common/backtrace.rs:135:18
17: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/thread/mod.rs:529:17
as core::ops::function::FnOnce<()>>::call_once
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/panic/unwind_safe.rs:271:9
std::panicking::try::do_call
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:500:40
std::panicking::try
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:464:19
std::panic::catch_unwind
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panic.rs:142:14
std::thread::Builder::spawn_unchecked_::{{closure}}
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/thread/mod.rs:528:30
core::ops::function::FnOnce::call_once{{vtable.shim}}
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/ops/function.rs:250:5
18: as core::ops::function::FnOnce>::call_once
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/alloc/src/boxed.rs:1993:9
as core::ops::function::FnOnce>::call_once
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/alloc/src/boxed.rs:1993:9
std::sys::unix::thread::Thread::new::thread_start
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/sys/unix/thread.rs:108:17
19: __pthread_joiner_wake
2023-10-18T18:40:54.693972Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:40:54.790417Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:40:54.863628Z WARN iroh_net::netcheck::reportgen: icmp latency measurement failed: io error: No route to host (os error 65): No route to host (os error 65)
2023-10-18T18:40:54.897076Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:40:55.123445Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:40:55.404053Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:40:55.744279Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:40:56.876631Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:40:58.578301Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:41:01.348379Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:41:04.946946Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:41:10.405113Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:41:15.174327Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:41:15.192299Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:actor: iroh_net::magicsock: last netcheck reported send error. Rebinding. (no_v4_send: true conn closed: false)
2023-10-18T18:41:15.193639Z INFO magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor: iroh_net::magicsock::derp_actor: adding connection to derp-1 for home-keep-alive
2023-10-18T18:41:15.197928Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:netcheck.actor:hairpin.actor: iroh_net::netcheck::reportgen::hairpin: unable to send hairpin prep: Network is unreachable (os error 51)
2023-10-18T18:41:15.199159Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:41:15.200305Z WARN client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:41:15.201728Z WARN iroh_net::magicsock::derp_actor: failed to connect to derp server: Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:41:15.212557Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
** SNIP **
2023-10-18T18:49:22.007876Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:49:25.486160Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor:recv_detail:client-connect{key=ahpcrcs6tqh6a7mlw5hxkwdnts4gz6tevhxiw2jkphcigwzmu3aq}: iroh_net::derp::http::client: dial failed (0): Dns(Some(ResolveError { kind: Proto(ProtoError { kind: Io(Os { code: 51, kind: NetworkUnreachable, message: "Network is unreachable" }) }) }))
2023-10-18T18:49:37.547574Z WARN magicsock{me=ahpcrcs6tqh6a7ml}:actor: iroh_net::magicsock: last netcheck reported send error. Rebinding. (no_v4_send: true conn closed: false)
2023-10-18T18:49:37.556591Z INFO magicsock{me=ahpcrcs6tqh6a7ml}:derp.actor: iroh_net::magicsock::derp_actor: adding connection to derp-1 for home-keep-alive
2023-10-18T19:35:03.185462Z ERROR iroh_net::netcheck::reportgen: Failed to check if probe would help: channel closed
While on a (MacOS) laptop I left iroh running while going wifi -> cab -> wifi. netcheck was sad while I was disconnected, but things continued to "work" while I was offline. I was able to reconnect to another node after network conditions switched, so I don't think this is a criticial panic, but I've seen it a few times now: