Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutoNAT dialing over WebRTC transports crashes. #2772

Open
snichols opened this issue Apr 16, 2024 · 2 comments
Open

AutoNAT dialing over WebRTC transports crashes. #2772

snichols opened this issue Apr 16, 2024 · 2 comments

Comments

@snichols
Copy link

snichols commented Apr 16, 2024

Version Information
github.com/xgaicc/xgaicc
cloud.google.com/go v0.37.0
cloud.google.com/go/compute v1.23.3
cloud.google.com/go/compute/metadata v0.2.3
dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3
dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0
dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412
dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c
git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999
git.sr.ht/~sbinet/gg v0.5.0
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96
github.com/BurntSushi/toml v1.3.2
github.com/DataDog/zstd v1.4.1
github.com/Jorropo/jsync v1.0.1
github.com/Microsoft/go-winio v0.6.1
github.com/OneOfOne/xxhash v1.2.2
github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b
github.com/alecthomas/kingpin/v2 v2.4.0
github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9
github.com/andybalholm/cascadia v1.3.2
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239
github.com/apatters/go-wordwrap v1.0.0
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6
github.com/benbjohnson/clock v1.3.5
github.com/beorn7/perks v1.0.1
github.com/bits-and-blooms/bitset v1.13.0
github.com/bmkessler/fastdiv v0.0.0-20190227075523-41d5178f2044
github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625
github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23
github.com/calebcase/tmpfile v1.0.3
github.com/campoy/embedmd v1.0.0
github.com/cenkalti/backoff v2.2.1+incompatible
github.com/cenkalti/backoff/v4 v4.3.0
github.com/census-instrumentation/opencensus-proto v0.4.1
github.com/cespare/xxhash v1.1.0
github.com/cespare/xxhash/v2 v2.2.0
github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89
github.com/chromedp/chromedp v0.9.2
github.com/chromedp/sysutil v1.0.0
github.com/chzyer/readline v1.5.1
github.com/cilium/ebpf v0.9.1
github.com/client9/misspell v0.3.4
github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe
github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa
github.com/containerd/cgroups v1.1.0
github.com/coreos/etcd v3.3.10+incompatible
github.com/coreos/go-etcd v2.0.0+incompatible
github.com/coreos/go-semver v0.2.0
github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d
github.com/coreos/go-systemd/v22 v22.5.0
github.com/cpuguy83/go-md2man v1.0.10
github.com/cpuguy83/go-md2man/v2 v2.0.4
github.com/crackcomm/go-gitignore v0.0.0-20231225121904-e25f5bc08668
github.com/cskr/pubsub v1.0.2
github.com/davecgh/go-spew v1.1.1
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c
github.com/decred/dcrd/crypto/blake256 v1.0.1
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0
github.com/dgraph-io/badger v1.6.2
github.com/dgraph-io/badger/v2 v2.2007.3
github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2
github.com/docker/go-units v0.5.0
github.com/dsnet/try v0.0.3
github.com/dustin/go-humanize v1.0.1
github.com/elastic/gosigar v0.14.3
github.com/envoyproxy/go-control-plane v0.12.0
github.com/envoyproxy/protoc-gen-validate v1.0.4
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568
github.com/flynn/noise v1.1.0
github.com/francoispqt/gojay v1.2.13
github.com/frankban/quicktest v1.14.6
github.com/fsnotify/fsnotify v1.5.4
github.com/gabriel-vasile/mimetype v1.4.3
github.com/ghodss/yaml v1.0.0
github.com/gliderlabs/ssh v0.1.1
github.com/go-errors/errors v1.0.1
github.com/go-fonts/liberation v0.3.2
github.com/go-kit/log v0.2.1
github.com/go-latex/latex v0.0.0-20231108140139-5c1ce85aa4ea
github.com/go-logfmt/logfmt v0.5.1
github.com/go-logr/logr v1.4.1
github.com/go-logr/stdr v1.2.2
github.com/go-ole/go-ole v1.2.6
github.com/go-pdf/fpdf v0.9.0
github.com/go-resty/resty/v2 v2.12.0
github.com/go-shiori/dom v0.0.0-20230515143342-73569d674e1c
github.com/go-shiori/go-readability v0.0.0-20240204090920-819593fddc6b
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572
github.com/go-yaml/yaml v2.1.0+incompatible
github.com/gobwas/httphead v0.1.0
github.com/gobwas/pool v0.2.1
github.com/gobwas/ws v1.2.1
github.com/goccmack/gocc v0.0.0-20230228185258-2292f9e40198
github.com/godbus/dbus/v5 v5.1.0
github.com/gogo/protobuf v1.3.2
github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
github.com/golang/glog v1.2.0
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
github.com/golang/lint v0.0.0-20180702182130-06c8688daad7
github.com/golang/mock v1.6.0
github.com/golang/protobuf v1.5.4
github.com/golang/snappy v0.0.1
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c
github.com/google/go-cmp v0.6.0
github.com/google/go-github v17.0.0+incompatible
github.com/google/go-querystring v1.0.0
github.com/google/gofuzz v1.0.0
github.com/google/gopacket v1.1.19
github.com/google/martian v2.1.0+incompatible
github.com/google/pprof v0.0.0-20240327155427-868f304927ed
github.com/google/renameio v0.1.0
github.com/google/uuid v1.6.0
github.com/googleapis/gax-go v2.0.0+incompatible
github.com/googleapis/gax-go/v2 v2.0.3
github.com/gopherjs/gopherjs v1.17.2
github.com/gorilla/mux v1.8.1
github.com/gorilla/websocket v1.5.1
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7
github.com/grpc-ecosystem/grpc-gateway v1.5.0
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0
github.com/hashicorp/errwrap v1.1.0
github.com/hashicorp/go-multierror v1.1.1
github.com/hashicorp/golang-lru v1.0.2
github.com/hashicorp/golang-lru/arc/v2 v2.0.5
github.com/hashicorp/golang-lru/v2 v2.0.7
github.com/hashicorp/hcl v1.0.0
github.com/hpcloud/tail v1.0.0
github.com/huin/goupnp v1.3.0
github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465
github.com/inconshreveable/mousetrap v1.0.0
github.com/ipfs/bbloom v0.0.4
github.com/ipfs/boxo v0.18.0
github.com/ipfs/go-bitfield v1.1.0
github.com/ipfs/go-block-format v0.2.0
github.com/ipfs/go-cid v0.4.1
github.com/ipfs/go-cidutil v0.1.0
github.com/ipfs/go-datastore v0.6.0
github.com/ipfs/go-detect-race v0.0.1
github.com/ipfs/go-ds-badger v0.3.0
github.com/ipfs/go-ds-badger2 v0.1.3
github.com/ipfs/go-ds-leveldb v0.5.0
github.com/ipfs/go-ipfs-blocksutil v0.0.1
github.com/ipfs/go-ipfs-delay v0.0.1
github.com/ipfs/go-ipfs-pq v0.0.3
github.com/ipfs/go-ipfs-redirects-file v0.1.1
github.com/ipfs/go-ipfs-util v0.0.3
github.com/ipfs/go-ipld-cbor v0.1.0
github.com/ipfs/go-ipld-format v0.6.0
github.com/ipfs/go-ipld-legacy v0.2.1
github.com/ipfs/go-log v1.0.5
github.com/ipfs/go-log/v2 v2.5.1
github.com/ipfs/go-metrics-interface v0.0.1
github.com/ipfs/go-peertaskqueue v0.8.1
github.com/ipfs/go-unixfs v0.4.5
github.com/ipfs/go-unixfsnode v1.9.0
github.com/ipld/go-car/v2 v2.13.1
github.com/ipld/go-codec-dagpb v1.6.0
github.com/ipld/go-ipld-prime v0.21.0
github.com/jackpal/go-nat-pmp v1.0.2
github.com/jbenet/go-cienv v0.1.0
github.com/jbenet/go-temp-err-catcher v0.1.0
github.com/jbenet/goprocess v0.1.4
github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1
github.com/joho/godotenv v1.5.1
github.com/josharian/intern v1.0.0
github.com/jpillora/backoff v1.0.0
github.com/json-iterator/go v1.1.12
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024
github.com/jtolds/gls v4.20.0+incompatible
github.com/jtolio/eventkit v0.0.0-20221004135224-074cf276595b
github.com/jtolio/noiseconn v0.0.0-20230111204749-d7ec1a08b0b8
github.com/julienschmidt/httprouter v1.3.0
github.com/kisielk/errcheck v1.5.0
github.com/kisielk/gotool v1.0.0
github.com/klauspost/compress v1.17.7
github.com/klauspost/cpuid/v2 v2.2.7
github.com/koron/go-ssdp v0.0.4
github.com/kr/pretty v0.3.1
github.com/kr/pty v1.1.3
github.com/kr/text v0.2.0
github.com/libp2p/go-buffer-pool v0.1.0
github.com/libp2p/go-cidranger v1.1.0
github.com/libp2p/go-doh-resolver v0.4.0
github.com/libp2p/go-flow-metrics v0.1.0
github.com/libp2p/go-libp2p v0.33.2
github.com/libp2p/go-libp2p-asn-util v0.4.1
github.com/libp2p/go-libp2p-kad-dht v0.25.2
github.com/libp2p/go-libp2p-kbucket v0.6.3
github.com/libp2p/go-libp2p-pubsub v0.10.0
github.com/libp2p/go-libp2p-record v0.2.0
github.com/libp2p/go-libp2p-routing-helpers v0.7.3
github.com/libp2p/go-libp2p-testing v0.12.0
github.com/libp2p/go-libp2p-xor v0.1.0
github.com/libp2p/go-msgio v0.3.0
github.com/libp2p/go-nat v0.2.0
github.com/libp2p/go-netroute v0.2.1
github.com/libp2p/go-openssl v0.1.0
github.com/libp2p/go-reuseport v0.4.0
github.com/libp2p/go-yamux/v4 v4.0.1
github.com/libp2p/zeroconf/v2 v2.2.0
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0
github.com/lunixbochs/vtclean v1.0.0
github.com/magefile/mage v1.15.0
github.com/magiconair/properties v1.8.0
github.com/mailru/easyjson v0.7.7
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd
github.com/mattn/go-isatty v0.0.20
github.com/mattn/go-pointer v0.0.1
github.com/matttproud/golang_protobuf_extensions v1.0.4
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0
github.com/microcosm-cc/bluemonday v1.0.1
github.com/miekg/dns v1.1.58
github.com/mikioh/tcp v0.0.0-20190314235350-803a9b46060c
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1
github.com/minio/sha256-simd v1.0.1
github.com/mitchellh/go-homedir v1.1.0
github.com/mitchellh/mapstructure v1.1.2
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
github.com/modern-go/reflect2 v1.0.2
github.com/mr-tron/base58 v1.2.0
github.com/multiformats/go-base32 v0.1.0
github.com/multiformats/go-base36 v0.2.0
github.com/multiformats/go-multiaddr v0.12.3
github.com/multiformats/go-multiaddr-dns v0.3.1
github.com/multiformats/go-multiaddr-fmt v0.1.0
github.com/multiformats/go-multibase v0.2.0
github.com/multiformats/go-multicodec v0.9.0
github.com/multiformats/go-multihash v0.2.3
github.com/multiformats/go-multistream v0.5.0
github.com/multiformats/go-varint v0.0.7
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f
github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86
github.com/neelance/sourcemap v0.0.0-20200213170602-2833bce08e4c
github.com/nxadm/tail v1.4.8
github.com/ohler55/ojg v1.21.4
github.com/onsi/ginkgo v1.16.5
github.com/onsi/ginkgo/v2 v2.17.1
github.com/onsi/gomega v1.30.0
github.com/opencontainers/runtime-spec v1.2.0
github.com/opentracing/opentracing-go v1.2.0
github.com/openzipkin/zipkin-go v0.4.2
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58
github.com/pelletier/go-toml v1.2.0
github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9
github.com/pion/datachannel v1.5.6
github.com/pion/dtls/v2 v2.2.10
github.com/pion/ice/v2 v2.3.14
github.com/pion/interceptor v0.1.27
github.com/pion/logging v0.2.2
github.com/pion/mdns v0.0.12
github.com/pion/randutil v0.1.0
github.com/pion/rtcp v1.2.14
github.com/pion/rtp v1.8.5
github.com/pion/sctp v1.8.13
github.com/pion/sdp/v3 v3.0.9
github.com/pion/srtp/v2 v2.0.18
github.com/pion/stun v0.6.1
github.com/pion/transport v0.14.1
github.com/pion/transport/v2 v2.2.4
github.com/pion/transport/v3 v3.0.2
github.com/pion/turn/v2 v2.1.5
github.com/pion/webrtc/v3 v3.2.31
github.com/pkg/errors v0.9.1
github.com/pmezard/go-difflib v1.0.0
github.com/polydawn/refmt v0.89.0
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c
github.com/prometheus/client_golang v1.19.0
github.com/prometheus/client_model v0.6.0
github.com/prometheus/common v0.51.1
github.com/prometheus/procfs v0.13.0
github.com/qdrant/go-client v1.8.0
github.com/quic-go/qpack v0.4.0
github.com/quic-go/qtls-go1-20 v0.4.1
github.com/quic-go/quic-go v0.42.0
github.com/quic-go/webtransport-go v0.7.0
github.com/raulk/go-watchdog v1.3.0
github.com/rogpeppe/go-internal v1.10.0
github.com/russross/blackfriday v1.5.2
github.com/russross/blackfriday/v2 v2.1.0
github.com/samber/lo v1.39.0
github.com/sclevine/agouti v3.0.0+incompatible
github.com/sergi/go-diff v1.3.1
github.com/shirou/gopsutil v3.21.11+incompatible
github.com/shirou/gopsutil/v3 v3.24.3
github.com/shoenig/go-m1cpu v0.1.6
github.com/shoenig/test v0.6.4
github.com/shopspring/decimal v1.2.0
github.com/shurcooL/component v0.0.0-20170202220835-f88ec8f54cc4
github.com/shurcooL/events v0.0.0-20181021180414-410e4ca65f48
github.com/shurcooL/github_flavored_markdown v0.0.0-20181002035957-2122de532470
github.com/shurcooL/go v0.0.0-20200502201357-93f07166e636
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041
github.com/shurcooL/gofontwoff v0.0.0-20180329035133-29b52fc0a18d
github.com/shurcooL/gopherjslib v0.0.0-20160914041154-feb6d3990c2c
github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b
github.com/shurcooL/highlight_go v0.0.0-20181028180052-98c3abbbae20
github.com/shurcooL/home v0.0.0-20181020052607-80b7ffcb30f9
github.com/shurcooL/htmlg v0.0.0-20170918183704-d01228ac9e50
github.com/shurcooL/httperror v0.0.0-20170206035902-86b7830d14cc
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749
github.com/shurcooL/httpgzip v0.0.0-20180522190206-b1c53ac65af9
github.com/shurcooL/issues v0.0.0-20181008053335-6292fdc1e191
github.com/shurcooL/issuesapp v0.0.0-20180602232740-048589ce2241
github.com/shurcooL/notifications v0.0.0-20181007000457-627ab5aea122
github.com/shurcooL/octicon v0.0.0-20181028054416-fa4f57f9efb2
github.com/shurcooL/reactions v0.0.0-20181006231557-f2e0b4ca5b82
github.com/shurcooL/sanitized_anchor_name v1.0.0
github.com/shurcooL/users v0.0.0-20180125191416-49c67e49c537
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546
github.com/shurcooL/webdavfs v0.0.0-20170829043945-18c3829fa133
github.com/sirupsen/logrus v1.9.0
github.com/smarty/assertions v1.15.1
github.com/smartystreets/assertions v1.2.0
github.com/smartystreets/goconvey v1.8.1
github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d
github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e
github.com/spacemonkeygo/monkit/v3 v3.0.22
github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572
github.com/spaolacci/murmur3 v1.1.0
github.com/spf13/afero v1.1.2
github.com/spf13/cast v1.3.0
github.com/spf13/cobra v1.2.1
github.com/spf13/jwalterweatherman v1.0.0
github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.3.2
github.com/stretchr/objx v0.5.2
github.com/stretchr/testify v1.9.0
github.com/syndtr/goleveldb v1.0.0
github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07
github.com/tklauser/go-sysconf v0.3.13
github.com/tklauser/numcpus v0.7.0
github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8
github.com/urfave/cli v1.22.10
github.com/urfave/cli/v2 v2.27.1
github.com/viant/assertly v0.4.8
github.com/viant/toolbox v0.24.0
github.com/warpfork/go-testmark v0.12.1
github.com/warpfork/go-wish v0.0.0-20220906213052-39a1cc7a02d0
github.com/whyrusleeping/base32 v0.0.0-20170828182744-c30ac30633cc
github.com/whyrusleeping/cbor v0.0.0-20171005072247-63513f603b11
github.com/whyrusleeping/cbor-gen v0.0.0-20240109153615-66e95c3e8a87
github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1
github.com/xhit/go-str2duration/v2 v2.1.0
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77
github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913
github.com/yuin/goldmark v1.4.13
github.com/yusufpapurcu/wmi v1.2.4
github.com/zeebo/admission/v3 v3.0.3
github.com/zeebo/assert v1.3.1
github.com/zeebo/blake3 v0.2.3
github.com/zeebo/errs v1.3.0
github.com/zeebo/float16 v0.1.0
github.com/zeebo/incenc v0.0.0-20180505221441-0d92902eec54
github.com/zeebo/pcg v1.0.1
go.opencensus.io v0.24.0
go.opentelemetry.io/otel v1.24.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.21.0
go.opentelemetry.io/otel/exporters/zipkin v1.21.0
go.opentelemetry.io/otel/metric v1.24.0
go.opentelemetry.io/otel/sdk v1.21.0
go.opentelemetry.io/otel/trace v1.24.0
go.opentelemetry.io/proto/otlp v1.0.0
go.uber.org/atomic v1.11.0
go.uber.org/dig v1.17.1
go.uber.org/fx v1.21.0
go.uber.org/goleak v1.3.0
go.uber.org/mock v0.4.0
go.uber.org/multierr v1.11.0
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee
go.uber.org/zap v1.27.0
go4.org v0.0.0-20180809161055-417644f6feb5
golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d
golang.org/x/crypto v0.21.0
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8
golang.org/x/image v0.14.0
golang.org/x/lint v0.0.0-20200302205851-738671d3881b
golang.org/x/mod v0.16.0
golang.org/x/net v0.22.0
golang.org/x/oauth2 v0.18.0
golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852
golang.org/x/sync v0.6.0
golang.org/x/sys v0.18.0
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2
golang.org/x/term v0.18.0
golang.org/x/text v0.14.0
golang.org/x/time v0.5.0
golang.org/x/tools v0.19.0
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028
gonum.org/v1/gonum v0.15.0
gonum.org/v1/plot v0.14.0
google.golang.org/api v0.1.0
google.golang.org/appengine v1.6.8
google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80
google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80
google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa
google.golang.org/grpc v1.62.1
google.golang.org/protobuf v1.33.0
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c
gopkg.in/errgo.v2 v2.1.0
gopkg.in/fsnotify.v1 v1.4.7
gopkg.in/inf.v0 v0.9.1
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7
gopkg.in/yaml.v2 v2.4.0
gopkg.in/yaml.v3 v3.0.1
grpc.go4.org v0.0.0-20170609214715-11d0a25b4919
honnef.co/go/tools v0.0.1-2019.2.3
lukechampine.com/blake3 v1.2.1
rsc.io/pdf v0.1.1
sourcegraph.com/sourcegraph/go-diff v0.5.0
sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4
storj.io/common v0.0.0-20231101115145-09481ec98b57
storj.io/drpc v0.0.33
storj.io/infectious v0.0.1
storj.io/picobuf v0.0.2-0.20230906122608-c4ba17033c6c
storj.io/uplink v1.12.2
When AutoNAT attempts to dial a host listening over WebRTC direct transport, a nil reference occurs.
// p2p/transport/webrtc/transport.go
func (t *WebRTCTransport) Dial(ctx context.Context, remoteMultiaddr ma.Multiaddr, p peer.ID) (tpt.CapableConn, error) {
	scope, err := t.rcmgr.OpenConnection(network.DirOutbound, false, remoteMultiaddr)
	if err != nil {
		return nil, err
	}

The snippet above shows the location of the error. rcmgr is nil on the transport. My host configuration includes libp2p.DefaultResourceManager but that setting is not reflected in the AutoNAT configuration.

// config/config.go
autoNatCfg := Config{
	Transports:         cfg.Transports,
	Muxers:             cfg.Muxers,
	SecurityTransports: cfg.SecurityTransports,
	Insecure:           cfg.Insecure,
	PSK:                cfg.PSK,
	ConnectionGater:    cfg.ConnectionGater,
	Reporter:           cfg.Reporter,
	PeerKey:            autonatPrivKey,
	Peerstore:          ps,
	DialRanker:         swarm.NoDelayDialRanker,
	SwarmOpts: []swarm.Option{
		// It is better to disable black hole detection and just attempt a dial for autonat
		swarm.WithUDPBlackHoleConfig(false, 0, 0),
		swarm.WithIPv6BlackHoleConfig(false, 0, 0),
	},
}

Notice how there's no ResourceManager assignment in the above snippet. I also don't see any code that adds sensible defaults to the AutoNAT configuration.

My workaround is to disable AutoNAT.

@sukunrt
Copy link
Member

sukunrt commented Apr 18, 2024

This was fixed by #2752
It'll be in the next release v0.34

@sukunrt
Copy link
Member

sukunrt commented Apr 25, 2024

We should add a test for this to prevent regression.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants