n0-computer / iroh

A toolkit for building distributed applications
https://iroh.computer
Apache License 2.0
2.56k stars 159 forks source link

bug: segmentation fault installing iroh on intel mac #2281

Open rklaehn opened 5 months ago

rklaehn commented 5 months ago

When I install iroh via cargo install iroh-cli on intel mac and then run iroh doctor accept, I get a SIGSEGV. Same for iroh start.

Not sure if this is just a fluke. I just wanted to play around with holepunching in a hotel WLAN.

rklaehn commented 5 months ago

Here is a tracing level output:

2024-05-11T09:45:17.680505Z TRACE hyper::proto::h1::dispatch: client tx closed
2024-05-11T09:45:17.680513Z TRACE hyper::proto::h1::conn: State::close_read()
2024-05-11T09:45:17.680514Z TRACE hyper::client::pool: pool closed, canceling idle interval
2024-05-11T09:45:17.680519Z TRACE hyper::proto::h1::conn: State::close_write()
2024-05-11T09:45:17.680566Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Closed, writing: Closed, keep_alive: Disabled }
2024-05-11T09:45:17.680643Z TRACE hyper::proto::h1::conn: shut down IO complete
2024-05-11T09:45:17.711097Z TRACE magicsock{me=3geisi75zvc7vtzb}:netcheck.actor:reportgen.actor: iroh_net::netcheck::reportgen: sending AbortProbes to channel with cap 32
2024-05-11T09:45:17.711181Z TRACE magicsock{me=3geisi75zvc7vtzb}:netcheck.actor:reportgen.actor: iroh_net::netcheck::reportgen: tick: msg recv: Some(AbortProbes)
2024-05-11T09:45:17.711197Z TRACE magicsock{me=3geisi75zvc7vtzb}:netcheck.actor:reportgen.actor: iroh_net::netcheck::reportgen: handling message msg=AbortProbes
2024-05-11T09:45:17.711211Z TRACE magicsock{me=3geisi75zvc7vtzb}:netcheck.actor:reportgen.actor: iroh_net::netcheck::reportgen: handle abort probes
2024-05-11T09:45:17.711266Z TRACE magicsock{me=3geisi75zvc7vtzb}:netcheck.actor:reportgen.actor: iroh_net::netcheck::reportgen: tick; awaiting tasks awaiting=OutstandingTasks { probes: false, port_mapper: false, captive_task: false, hairpin: false }
2024-05-11T09:45:17.711312Z DEBUG magicsock{me=3geisi75zvc7vtzb}:netcheck.actor:reportgen.actor: iroh_net::netcheck::reportgen: all tasks done
2024-05-11T09:45:17.711331Z DEBUG magicsock{me=3geisi75zvc7vtzb}:netcheck.actor:reportgen.actor: iroh_net::netcheck::reportgen: aborting 2 probe sets, already have enough reports
2024-05-11T09:45:17.711360Z DEBUG magicsock{me=3geisi75zvc7vtzb}:netcheck.actor:reportgen.actor: iroh_net::netcheck::reportgen: Sending report to netcheck actor
2024-05-11T09:45:17.711418Z DEBUG magicsock{me=3geisi75zvc7vtzb}:netcheck.actor:reportgen.actor: iroh_net::netcheck::reportgen: reportgen actor finished
2024-05-11T09:45:17.711496Z TRACE magicsock{me=3geisi75zvc7vtzb}:netcheck.actor:reportgen.actor: iroh_net::util: hairpin actor completed (aborted)
2024-05-11T09:45:17.711530Z TRACE magicsock{me=3geisi75zvc7vtzb}:netcheck.actor: iroh_net::netcheck: handling message msg=ReportReady { report: Report { udp: true, ipv6: false, ipv4: true, ipv6_can_send: false, ipv4_can_send: true, os_has_ipv6: true, icmpv4: None, icmpv6: None, mapping_varies_by_dest_ip: Some(true), mapping_varies_by_dest_ipv6: None, hair_pinning: Some(false), portmap_probe: None, preferred_relay: None, relay_latency: RelayLatencies({RelayUrl("https://euw1-1.relay.iroh.network./"): 49.914807ms, RelayUrl("https://use1-1.relay.iroh.network./"): 115.113943ms}), relay_v4_latency: RelayLatencies({RelayUrl("https://euw1-1.relay.iroh.network./"): 49.914807ms, RelayUrl("https://use1-1.relay.iroh.network./"): 115.113943ms}), relay_v6_latency: RelayLatencies({}), global_v4: Some(217.130.135.75:23028), global_v6: None, captive_portal: Some(false) } }
2024-05-11T09:45:17.712110Z DEBUG magicsock{me=3geisi75zvc7vtzb}:netcheck.actor: iroh_net::netcheck: Report { udp: true, ipv6: false, ipv4: true, ipv6_can_send: false, ipv4_can_send: true, os_has_ipv6: true, icmpv4: None, icmpv6: None, mapping_varies_by_dest_ip: Some(true), mapping_varies_by_dest_ipv6: None, hair_pinning: Some(false), portmap_probe: None, preferred_relay: Some(RelayUrl("https://euw1-1.relay.iroh.network./")), relay_latency: RelayLatencies({RelayUrl("https://euw1-1.relay.iroh.network./"): 49.914807ms, RelayUrl("https://use1-1.relay.iroh.network./"): 115.113943ms}), relay_v4_latency: RelayLatencies({RelayUrl("https://euw1-1.relay.iroh.network./"): 49.914807ms, RelayUrl("https://use1-1.relay.iroh.network./"): 115.113943ms}), relay_v6_latency: RelayLatencies({}), global_v4: Some(217.130.135.75:23028), global_v6: None, captive_portal: Some(false) }
2024-05-11T09:45:17.712143Z TRACE magicsock{me=3geisi75zvc7vtzb}:netcheck.actor: iroh_net::util: reportgen actor completed (aborted)
2024-05-11T09:45:17.713699Z TRACE magicsock{me=3geisi75zvc7vtzb}:actor: iroh_net::magicsock: tick: msg msg=NetcheckReport(Ok(Some(Report { udp: true, ipv6: false, ipv4: true, ipv6_can_send: false, ipv4_can_send: true, os_has_ipv6: true, icmpv4: None, icmpv6: None, mapping_varies_by_dest_ip: Some(true), mapping_varies_by_dest_ipv6: None, hair_pinning: Some(false), portmap_probe: None, preferred_relay: Some(RelayUrl("https://euw1-1.relay.iroh.network./")), relay_latency: RelayLatencies({RelayUrl("https://euw1-1.relay.iroh.network./"): 49.914807ms, RelayUrl("https://use1-1.relay.iroh.network./"): 115.113943ms}), relay_v4_latency: RelayLatencies({RelayUrl("https://euw1-1.relay.iroh.network./"): 49.914807ms, RelayUrl("https://use1-1.relay.iroh.network./"): 115.113943ms}), relay_v6_latency: RelayLatencies({}), global_v4: Some(217.130.135.75:23028), global_v6: None, captive_portal: Some(false) })), "periodic")
2024-05-11T09:45:17.713757Z TRACE magicsock{me=3geisi75zvc7vtzb}:actor: iroh_net::magicsock: setting no_v4_send false -> false
2024-05-11T09:45:17.713854Z  INFO magicsock{me=3geisi75zvc7vtzb}:actor: iroh_net::magicsock: home is now relay https://euw1-1.relay.iroh.network./, was None
2024-05-11T09:45:17.714500Z DEBUG pkarr_publish{me=3geisi75zvc7vtzb}: iroh_net::discovery::pkarr_publish: Publish node info to pkarr (info changed)
2024-05-11T09:45:17.714549Z  INFO pkarr_publish{me=3geisi75zvc7vtzb}: iroh_net::discovery::pkarr_publish: Publish node info to pkarr relay_url=Some("https://euw1-1.relay.iroh.network./")
Segmentation fault: 11

It seems to happen when doing the https push. And this is a WLAN with a captive portal. Still strange.