Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [2mJan 22 14:33:54.131[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
- SOCKS proxy started on [1m127.0.0.1:1080[0m
- Dispatching to addresses [1m192.168.0.100@1[0m,[1m192.168.1.5@1[0m
- [2mJan 22 14:34:02.016[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.081[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(2), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.085[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(3), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.107[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(4), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.111[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(5), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.160[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60470, fd: 13 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m:[1mhandle_handshake_with_version[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60470, fd: 13 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60470, fd: 13 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5[1m}[0m:[1mhandle_connect_v5[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60470, fd: 13 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60470, fd: 13 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=52.88.75.10:443 local_addr=192.168.1.5[1m}[0m: registering event source with poller: token=Token(6), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.190[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60476, fd: 15 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m:[1mhandle_handshake_with_version[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60476, fd: 15 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60476, fd: 15 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5[1m}[0m:[1mhandle_connect_v5[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60476, fd: 15 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60476, fd: 15 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=54.187.174.239:443 local_addr=192.168.1.5[1m}[0m: registering event source with poller: token=Token(7), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.266[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(8), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.300[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60434, fd: 7 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:02.300[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60448, fd: 9 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:02.300[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60458, fd: 11 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:02.300[0m [33m WARN[0m
- 0: An error occurred during the proxy handshake procedure
- 1: Cannot assign requested address (os error 99)
- Location:
- /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
- 36 │ }
- 37 │
- 38 > #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 1: dispatch::socks::handle_connect_v5 with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60434, fd: 7 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60434, fd: 7 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=35.155.76.146:443 local_addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 2: dispatch::socks::handle_handshake_with_version with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60434, fd: 7 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60434, fd: 7 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 3: dispatch::server::handle_socket with socket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60434, fd: 7 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- ⋮ 5 frames hidden ⋮
- 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ⋮ 1 frame hidden ⋮
- 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 43 > _ => eyre::eyre!(err),
- 44 │ })
- 45 │ }
- 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
- 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
- 38 │ #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
- 215 │ local_addr: IpAddr,
- 216 │ ) -> Result<TcpStream> {
- 217 > let server_socket = try_bind_socket(local_addr)?;
- 218 │
- 219 │ let server_stream = server_socket.connect(address).await;
- 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
- 135 │ .wrap_err_with(dispatch_error)?;
- 136 │
- 137 > self.handle_connect_v5(host, local_addr).await
- 138 │ }
- 139 │ socksv5::SocksVersion::V4 => {
- 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
- 87 │ match socksv5::read_version(&mut self.reader).await {
- 88 │ Err(err) => Err(self.handle_version_error(err).await),
- 89 > Ok(version) => self.handle_handshake_with_version(version).await,
- 90 │ }
- 91 │ }
- 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
- 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
- 28 │
- 29 > match handshake.handshake().await {
- 30 │ Err(err) => {
- 31 │ return Err(err.wrap_err(eyre::eyre!(
- 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
- 134 │ let dispatcher = dispatcher.clone();
- 135 │ tokio::spawn(async move {
- 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
- 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
- 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
- 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 35: std::panicking::try::do_call::he695cac2794a1847
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 36: std::panicking::try::hdf2455cbcbe82896
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 37: std::panic::catch_unwind::hf1a600052c2a927a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
- 392 │ let raw = self.task.raw;
- 393 │ mem::forget(self);
- 394 > raw.poll();
- 395 │ }
- 396 │ }
- 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
- 462 │ // Run the task
- 463 │ coop::budget(|| {
- 464 > task.run();
- 465 │
- 466 │ // As long as there is budget remaining and a task exists in the
- 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
- 100 │ // The function is called regardless even if the budget is not successfully
- 101 │ // set due to the thread-local being destroyed.
- 102 > f()
- 103 │ }
- 104 │
- 45: tokio::runtime::coop::budget::hee241dec950efbe9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
- 66 │ #[inline(always)]
- 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
- 68 > with_budget(Budget::initial(), f)
- 69 │ }
- 70 │
- 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
- 461 │
- 462 │ // Run the task
- 463 > coop::budget(|| {
- 464 │ task.run();
- 465 │
- 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
- 424 │ // First, check work available to the current worker.
- 425 │ if let Some(task) = core.next_task(&self.worker) {
- 426 > core = self.run_task(task, core)?;
- 427 │ continue;
- 428 │ }
- 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 406 > assert!(cx.run(core).is_err());
- 407 │
- 408 │ // Check if there are any deferred tasks to notify. This can happen when
- 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
- 59 │ };
- 60 │
- 61 > f()
- 62 │ }
- 63 │
- 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
- 401 │ };
- 402 │
- 403 > CURRENT.set(&cx, || {
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
- 363 │ pub(crate) fn launch(mut self) {
- 364 │ for worker in self.0.drain(..) {
- 365 > runtime::spawn_blocking(move || run(worker));
- 366 │ }
- 367 │ }
- 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
- 40 │ crate::runtime::coop::stop();
- 41 │
- 42 > Poll::Ready(func())
- 43 │ }
- 44 │ }
- 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 58: std::panicking::try::do_call::h13355a7773e90623
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 59: std::panicking::try::h83ada4fb567f3238
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 60: std::panic::catch_unwind::h9f0aa85cf1251a10
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
- 429 │
- 430 │ // Use the other ref-count to poll the task.
- 431 > raw.poll();
- 432 │ // Decrement our extra ref-count
- 433 │ drop(task);
- 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
- 157 │
- 158 │ fn run(self) {
- 159 > self.task.run();
- 160 │ }
- 161 │
- 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
- 509 │ self.metrics.dec_queue_depth();
- 510 │ drop(shared);
- 511 > task.run();
- 512 │
- 513 │ shared = self.shared.lock();
- 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
- 467 │ // Only the reference should be moved into the closure
- 468 │ let _enter = rt.enter();
- 469 > rt.inner.blocking_spawner().inner.run(id);
- 470 │ drop(shutdown_tx);
- 471 │ })
- ⋮ 13 frames hidden ⋮
- Consider reporting this error using this URL: https://github.com/alexkirsz/dispatch/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+An+error+occurred+during+the+proxy+handshake+procedure%0A+++1%3A+Cannot+assign+requested+address+%28os+error+99%29%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**Version**%7C0.1.0%7C%0A%7C**OS**%7CLinux+22.04+KDE+neon%7C%0A%7C**Command**%7Cdispatch+--debug+start+192.168.0.100+192.168.1.5%7C%0A%0A%0A%23%23+SpanTrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ASpanTrace%3A%0A+++0%3A+dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++with+addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A38%0A+++1%3A+dispatch%3A%3Asocks%3A%3Ahandle_connect_v5%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60434%2C+fd%3A+7+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60434%2C+fd%3A+7+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+1%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+address%3D35.155.76.146%3A443+local_addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%0A+++2%3A+dispatch%3A%3Asocks%3A%3Ahandle_handshake_with_version%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60434%2C+fd%3A+7+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60434%2C+fd%3A+7+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+version%3DV5%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%0A+++3%3A+dispatch%3A%3Aserver%3A%3Ahandle_socket%0A+++++++++++with+socket%3DPollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60434%2C+fd%3A+7+%7D%29+%7D+dispatcher%3DWeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%0A%60%60%60%0A%3C%2Fdetails%3E%0A%0A%23%23+Backtrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ABacktrace%3A%0A+++0%3A+color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Adefault%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1016%3A18%0A++++++color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Ainto_eyre_hook%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1070%3A36%0A+++1%3A+eyre%3A%3Acapture_handler%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Flib.rs%3A605%3A23%0A+++2%3A+eyre%3A%3Aerror%3A%3A%3Cimpl+eyre%3A%3AReport%3E%3A%3Afrom_std%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A87%3A28%0A++++++eyre%3A%3Aerror%3A%3A%3Cimpl+core%3A%3Aconvert%3A%3AFrom%3CE%3E+for+eyre%3A%3AReport%3E%3A%3Afrom%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A464%3A9%0A+++3%3A+%3CT+as+core%3A%3Aconvert%3A%3AInto%3CU%3E%3E%3A%3Ainto%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fconvert%2Fmod.rs%3A726%3A9%0A++++++eyre%3A%3Akind%3A%3ATrait%3A%3Anew%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Fkind.rs%3A91%3A9%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A43%3A14%0A++++++core%3A%3Aresult%3A%3AResult%3CT%2CE%3E%3A%3Amap_err%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fresult.rs%3A861%3A27%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A40%3A5%0A+++4%3A+dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A217%3A29%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++5%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A137%3A57%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++6%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandshake%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A89%3A71%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A29%3A36%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++7%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%3A1%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Astart_server%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A136%3A64%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++8%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A+++9%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++10%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3ALocalNotified%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A394%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A464%3A13%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Awith_budget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A102%3A5%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Abudget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A68%3A5%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A463%3A9%0A++11%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A426%3A24%0A++12%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A406%3A17%0A++++++tokio%3A%3Amacros%3A%3Ascoped_tls%3A%3AScopedKey%3CT%3E%3A%3Aset%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fmacros%2Fscoped_tls.rs%3A61%3A9%0A++13%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A403%3A5%0A++14%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3ALaunch%3A%3Alaunch%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A365%3A45%0A++++++%3Ctokio%3A%3Aruntime%3A%3Ablocking%3A%3Atask%3A%3ABlockingTask%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Ftask.rs%3A42%3A21%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++15%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A++16%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++17%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3AUnownedTask%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A431%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ATask%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A159%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3AInner%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A511%3A17%0A++18%3A+tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ASpawner%3A%3Aspawn_thread%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A469%3A13%0A++++++std%3A%3Asys_common%3A%3Abacktrace%3A%3A__rust_begin_short_backtrace%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys_common%2Fbacktrace.rs%3A121%3A18%0A++19%3A+std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A551%3A17%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A550%3A30%0A++++++core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3A%3Acall_once%7B%7Bvtable.shim%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fops%2Ffunction.rs%3A251%3A5%0A++20%3A+%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++std%3A%3Asys%3A%3Aunix%3A%3Athread%3A%3AThread%3A%3Anew%3A%3Athread_start%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys%2Funix%2Fthread.rs%3A108%3A17%0A++21%3A+start_thread%0A+++++++++++++at+.%2Fnptl%2Fpthread_create.c%3A442%3A8%0A++22%3A+clone3%0A+++++++++++++at+.%2Fmisc%2F..%2Fsysdeps%2Funix%2Fsysv%2Flinux%2Fx86_64%2Fclone3.S%3A81%0A%0A%60%60%60%0A%3C%2Fdetails%3E
- [2mJan 22 14:34:02.300[0m [33m WARN[0m
- 0: An error occurred during the proxy handshake procedure
- 1: Cannot assign requested address (os error 99)
- Location:
- /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
- 36 │ }
- 37 │
- 38 > #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 1: dispatch::socks::handle_connect_v5 with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60458, fd: 11 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60458, fd: 11 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=34.107.141.31:443 local_addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 2: dispatch::socks::handle_handshake_with_version with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60458, fd: 11 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60458, fd: 11 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 3: dispatch::server::handle_socket with socket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60458, fd: 11 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- ⋮ 5 frames hidden ⋮
- 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ⋮ 1 frame hidden ⋮
- 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 43 > _ => eyre::eyre!(err),
- 44 │ })
- 45 │ }
- 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
- 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
- 38 │ #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
- 215 │ local_addr: IpAddr,
- 216 │ ) -> Result<TcpStream> {
- 217 > let server_socket = try_bind_socket(local_addr)?;
- 218 │
- 219 │ let server_stream = server_socket.connect(address).await;
- 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
- 135 │ .wrap_err_with(dispatch_error)?;
- 136 │
- 137 > self.handle_connect_v5(host, local_addr).await
- 138 │ }
- 139 │ socksv5::SocksVersion::V4 => {
- 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
- 87 │ match socksv5::read_version(&mut self.reader).await {
- 88 │ Err(err) => Err(self.handle_version_error(err).await),
- 89 > Ok(version) => self.handle_handshake_with_version(version).await,
- 90 │ }
- 91 │ }
- 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
- 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
- 28 │
- 29 > match handshake.handshake().await {
- 30 │ Err(err) => {
- 31 │ return Err(err.wrap_err(eyre::eyre!(
- 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
- 134 │ let dispatcher = dispatcher.clone();
- 135 │ tokio::spawn(async move {
- 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
- 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
- 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
- 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 35: std::panicking::try::do_call::he695cac2794a1847
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 36: std::panicking::try::hdf2455cbcbe82896
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 37: std::panic::catch_unwind::hf1a600052c2a927a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
- 392 │ let raw = self.task.raw;
- 393 │ mem::forget(self);
- 394 > raw.poll();
- 395 │ }
- 396 │ }
- 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
- 462 │ // Run the task
- 463 │ coop::budget(|| {
- 464 > task.run();
- 465 │
- 466 │ // As long as there is budget remaining and a task exists in the
- 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
- 100 │ // The function is called regardless even if the budget is not successfully
- 101 │ // set due to the thread-local being destroyed.
- 102 > f()
- 103 │ }
- 104 │
- 45: tokio::runtime::coop::budget::hee241dec950efbe9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
- 66 │ #[inline(always)]
- 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
- 68 > with_budget(Budget::initial(), f)
- 69 │ }
- 70 │
- 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
- 461 │
- 462 │ // Run the task
- 463 > coop::budget(|| {
- 464 │ task.run();
- 465 │
- 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
- 424 │ // First, check work available to the current worker.
- 425 │ if let Some(task) = core.next_task(&self.worker) {
- 426 > core = self.run_task(task, core)?;
- 427 │ continue;
- 428 │ }
- 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 406 > assert!(cx.run(core).is_err());
- 407 │
- 408 │ // Check if there are any deferred tasks to notify. This can happen when
- 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
- 59 │ };
- 60 │
- 61 > f()
- 62 │ }
- 63 │
- 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
- 401 │ };
- 402 │
- 403 > CURRENT.set(&cx, || {
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
- 363 │ pub(crate) fn launch(mut self) {
- 364 │ for worker in self.0.drain(..) {
- 365 > runtime::spawn_blocking(move || run(worker));
- 366 │ }
- 367 │ }
- 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
- 40 │ crate::runtime::coop::stop();
- 41 │
- 42 > Poll::Ready(func())
- 43 │ }
- 44 │ }
- 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 58: std::panicking::try::do_call::h13355a7773e90623
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 59: std::panicking::try::h83ada4fb567f3238
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 60: std::panic::catch_unwind::h9f0aa85cf1251a10
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
- 429 │
- 430 │ // Use the other ref-count to poll the task.
- 431 > raw.poll();
- 432 │ // Decrement our extra ref-count
- 433 │ drop(task);
- 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
- 157 │
- 158 │ fn run(self) {
- 159 > self.task.run();
- 160 │ }
- 161 │
- 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
- 509 │ self.metrics.dec_queue_depth();
- 510 │ drop(shared);
- 511 > task.run();
- 512 │
- 513 │ shared = self.shared.lock();
- 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
- 467 │ // Only the reference should be moved into the closure
- 468 │ let _enter = rt.enter();
- 469 > rt.inner.blocking_spawner().inner.run(id);
- 470 │ drop(shutdown_tx);
- 471 │ })
- ⋮ 13 frames hidden ⋮
- Consider reporting this error using this URL: https://github.com/alexkirsz/dispatch/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+An+error+occurred+during+the+proxy+handshake+procedure%0A+++1%3A+Cannot+assign+requested+address+%28os+error+99%29%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**Version**%7C0.1.0%7C%0A%7C**OS**%7CLinux+22.04+KDE+neon%7C%0A%7C**Command**%7Cdispatch+--debug+start+192.168.0.100+192.168.1.5%7C%0A%0A%0A%23%23+SpanTrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ASpanTrace%3A%0A+++0%3A+dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++with+addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A38%0A+++1%3A+dispatch%3A%3Asocks%3A%3Ahandle_connect_v5%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60458%2C+fd%3A+11+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60458%2C+fd%3A+11+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+1%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+address%3D34.107.141.31%3A443+local_addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%0A+++2%3A+dispatch%3A%3Asocks%3A%3Ahandle_handshake_with_version%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60458%2C+fd%3A+11+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60458%2C+fd%3A+11+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+version%3DV5%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%0A+++3%3A+dispatch%3A%3Aserver%3A%3Ahandle_socket%0A+++++++++++with+socket%3DPollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60458%2C+fd%3A+11+%7D%29+%7D+dispatcher%3DWeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%0A%60%60%60%0A%3C%2Fdetails%3E%0A%0A%23%23+Backtrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ABacktrace%3A%0A+++0%3A+color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Adefault%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1016%3A18%0A++++++color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Ainto_eyre_hook%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1070%3A36%0A+++1%3A+eyre%3A%3Acapture_handler%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Flib.rs%3A605%3A23%0A+++2%3A+eyre%3A%3Aerror%3A%3A%3Cimpl+eyre%3A%3AReport%3E%3A%3Afrom_std%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A87%3A28%0A++++++eyre%3A%3Aerror%3A%3A%3Cimpl+core%3A%3Aconvert%3A%3AFrom%3CE%3E+for+eyre%3A%3AReport%3E%3A%3Afrom%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A464%3A9%0A+++3%3A+%3CT+as+core%3A%3Aconvert%3A%3AInto%3CU%3E%3E%3A%3Ainto%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fconvert%2Fmod.rs%3A726%3A9%0A++++++eyre%3A%3Akind%3A%3ATrait%3A%3Anew%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Fkind.rs%3A91%3A9%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A43%3A14%0A++++++core%3A%3Aresult%3A%3AResult%3CT%2CE%3E%3A%3Amap_err%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fresult.rs%3A861%3A27%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A40%3A5%0A+++4%3A+dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A217%3A29%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++5%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A137%3A57%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++6%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandshake%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A89%3A71%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A29%3A36%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++7%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%3A1%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Astart_server%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A136%3A64%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++8%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A+++9%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++10%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3ALocalNotified%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A394%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A464%3A13%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Awith_budget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A102%3A5%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Abudget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A68%3A5%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A463%3A9%0A++11%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A426%3A24%0A++12%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A406%3A17%0A++++++tokio%3A%3Amacros%3A%3Ascoped_tls%3A%3AScopedKey%3CT%3E%3A%3Aset%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fmacros%2Fscoped_tls.rs%3A61%3A9%0A++13%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A403%3A5%0A++14%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3ALaunch%3A%3Alaunch%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A365%3A45%0A++++++%3Ctokio%3A%3Aruntime%3A%3Ablocking%3A%3Atask%3A%3ABlockingTask%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Ftask.rs%3A42%3A21%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++15%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A++16%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++17%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3AUnownedTask%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A431%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ATask%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A159%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3AInner%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A511%3A17%0A++18%3A+tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ASpawner%3A%3Aspawn_thread%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A469%3A13%0A++++++std%3A%3Asys_common%3A%3Abacktrace%3A%3A__rust_begin_short_backtrace%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys_common%2Fbacktrace.rs%3A121%3A18%0A++19%3A+std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A551%3A17%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A550%3A30%0A++++++core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3A%3Acall_once%7B%7Bvtable.shim%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fops%2Ffunction.rs%3A251%3A5%0A++20%3A+%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++std%3A%3Asys%3A%3Aunix%3A%3Athread%3A%3AThread%3A%3Anew%3A%3Athread_start%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys%2Funix%2Fthread.rs%3A108%3A17%0A++21%3A+start_thread%0A+++++++++++++at+.%2Fnptl%2Fpthread_create.c%3A442%3A8%0A++22%3A+clone3%0A+++++++++++++at+.%2Fmisc%2F..%2Fsysdeps%2Funix%2Fsysv%2Flinux%2Fx86_64%2Fclone3.S%3A81%0A%0A%60%60%60%0A%3C%2Fdetails%3E
- [2mJan 22 14:34:02.300[0m [33m WARN[0m
- 0: An error occurred during the proxy handshake procedure
- 1: Cannot assign requested address (os error 99)
- Location:
- /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
- 36 │ }
- 37 │
- 38 > #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 1: dispatch::socks::handle_connect_v5 with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60448, fd: 9 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60448, fd: 9 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=52.88.75.10:443 local_addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 2: dispatch::socks::handle_handshake_with_version with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60448, fd: 9 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60448, fd: 9 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 3: dispatch::server::handle_socket with socket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60448, fd: 9 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- ⋮ 5 frames hidden ⋮
- 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ⋮ 1 frame hidden ⋮
- 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 43 > _ => eyre::eyre!(err),
- 44 │ })
- 45 │ }
- 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
- 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
- 38 │ #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
- 215 │ local_addr: IpAddr,
- 216 │ ) -> Result<TcpStream> {
- 217 > let server_socket = try_bind_socket(local_addr)?;
- 218 │
- 219 │ let server_stream = server_socket.connect(address).await;
- 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
- 135 │ .wrap_err_with(dispatch_error)?;
- 136 │
- 137 > self.handle_connect_v5(host, local_addr).await
- 138 │ }
- 139 │ socksv5::SocksVersion::V4 => {
- 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
- 87 │ match socksv5::read_version(&mut self.reader).await {
- 88 │ Err(err) => Err(self.handle_version_error(err).await),
- 89 > Ok(version) => self.handle_handshake_with_version(version).await,
- 90 │ }
- 91 │ }
- 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
- 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
- 28 │
- 29 > match handshake.handshake().await {
- 30 │ Err(err) => {
- 31 │ return Err(err.wrap_err(eyre::eyre!(
- 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
- 134 │ let dispatcher = dispatcher.clone();
- 135 │ tokio::spawn(async move {
- 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
- 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
- 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
- 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 35: std::panicking::try::do_call::he695cac2794a1847
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 36: std::panicking::try::hdf2455cbcbe82896
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 37: std::panic::catch_unwind::hf1a600052c2a927a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
- 392 │ let raw = self.task.raw;
- 393 │ mem::forget(self);
- 394 > raw.poll();
- 395 │ }
- 396 │ }
- 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
- 462 │ // Run the task
- 463 │ coop::budget(|| {
- 464 > task.run();
- 465 │
- 466 │ // As long as there is budget remaining and a task exists in the
- 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
- 100 │ // The function is called regardless even if the budget is not successfully
- 101 │ // set due to the thread-local being destroyed.
- 102 > f()
- 103 │ }
- 104 │
- 45: tokio::runtime::coop::budget::hee241dec950efbe9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
- 66 │ #[inline(always)]
- 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
- 68 > with_budget(Budget::initial(), f)
- 69 │ }
- 70 │
- 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
- 461 │
- 462 │ // Run the task
- 463 > coop::budget(|| {
- 464 │ task.run();
- 465 │
- 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
- 424 │ // First, check work available to the current worker.
- 425 │ if let Some(task) = core.next_task(&self.worker) {
- 426 > core = self.run_task(task, core)?;
- 427 │ continue;
- 428 │ }
- 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 406 > assert!(cx.run(core).is_err());
- 407 │
- 408 │ // Check if there are any deferred tasks to notify. This can happen when
- 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
- 59 │ };
- 60 │
- 61 > f()
- 62 │ }
- 63 │
- 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
- 401 │ };
- 402 │
- 403 > CURRENT.set(&cx, || {
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
- 363 │ pub(crate) fn launch(mut self) {
- 364 │ for worker in self.0.drain(..) {
- 365 > runtime::spawn_blocking(move || run(worker));
- 366 │ }
- 367 │ }
- 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
- 40 │ crate::runtime::coop::stop();
- 41 │
- 42 > Poll::Ready(func())
- 43 │ }
- 44 │ }
- 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 58: std::panicking::try::do_call::h13355a7773e90623
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 59: std::panicking::try::h83ada4fb567f3238
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 60: std::panic::catch_unwind::h9f0aa85cf1251a10
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
- 429 │
- 430 │ // Use the other ref-count to poll the task.
- 431 > raw.poll();
- 432 │ // Decrement our extra ref-count
- 433 │ drop(task);
- 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
- 157 │
- 158 │ fn run(self) {
- 159 > self.task.run();
- 160 │ }
- 161 │
- 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
- 509 │ self.metrics.dec_queue_depth();
- 510 │ drop(shared);
- 511 > task.run();
- 512 │
- 513 │ shared = self.shared.lock();
- 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
- 467 │ // Only the reference should be moved into the closure
- 468 │ let _enter = rt.enter();
- 469 > rt.inner.blocking_spawner().inner.run(id);
- 470 │ drop(shutdown_tx);
- 471 │ })
- ⋮ 13 frames hidden ⋮
- Consider reporting this error using this URL: https://github.com/alexkirsz/dispatch/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+An+error+occurred+during+the+proxy+handshake+procedure%0A+++1%3A+Cannot+assign+requested+address+%28os+error+99%29%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**Version**%7C0.1.0%7C%0A%7C**OS**%7CLinux+22.04+KDE+neon%7C%0A%7C**Command**%7Cdispatch+--debug+start+192.168.0.100+192.168.1.5%7C%0A%0A%0A%23%23+SpanTrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ASpanTrace%3A%0A+++0%3A+dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++with+addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A38%0A+++1%3A+dispatch%3A%3Asocks%3A%3Ahandle_connect_v5%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60448%2C+fd%3A+9+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60448%2C+fd%3A+9+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+1%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+address%3D52.88.75.10%3A443+local_addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%0A+++2%3A+dispatch%3A%3Asocks%3A%3Ahandle_handshake_with_version%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60448%2C+fd%3A+9+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60448%2C+fd%3A+9+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+version%3DV5%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%0A+++3%3A+dispatch%3A%3Aserver%3A%3Ahandle_socket%0A+++++++++++with+socket%3DPollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60448%2C+fd%3A+9+%7D%29+%7D+dispatcher%3DWeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%0A%60%60%60%0A%3C%2Fdetails%3E%0A%0A%23%23+Backtrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ABacktrace%3A%0A+++0%3A+color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Adefault%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1016%3A18%0A++++++color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Ainto_eyre_hook%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1070%3A36%0A+++1%3A+eyre%3A%3Acapture_handler%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Flib.rs%3A605%3A23%0A+++2%3A+eyre%3A%3Aerror%3A%3A%3Cimpl+eyre%3A%3AReport%3E%3A%3Afrom_std%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A87%3A28%0A++++++eyre%3A%3Aerror%3A%3A%3Cimpl+core%3A%3Aconvert%3A%3AFrom%3CE%3E+for+eyre%3A%3AReport%3E%3A%3Afrom%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A464%3A9%0A+++3%3A+%3CT+as+core%3A%3Aconvert%3A%3AInto%3CU%3E%3E%3A%3Ainto%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fconvert%2Fmod.rs%3A726%3A9%0A++++++eyre%3A%3Akind%3A%3ATrait%3A%3Anew%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Fkind.rs%3A91%3A9%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A43%3A14%0A++++++core%3A%3Aresult%3A%3AResult%3CT%2CE%3E%3A%3Amap_err%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fresult.rs%3A861%3A27%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A40%3A5%0A+++4%3A+dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A217%3A29%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++5%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A137%3A57%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++6%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandshake%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A89%3A71%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A29%3A36%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++7%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%3A1%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Astart_server%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A136%3A64%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++8%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A+++9%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++10%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3ALocalNotified%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A394%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A464%3A13%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Awith_budget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A102%3A5%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Abudget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A68%3A5%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A463%3A9%0A++11%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A426%3A24%0A++12%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A406%3A17%0A++++++tokio%3A%3Amacros%3A%3Ascoped_tls%3A%3AScopedKey%3CT%3E%3A%3Aset%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fmacros%2Fscoped_tls.rs%3A61%3A9%0A++13%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A403%3A5%0A++14%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3ALaunch%3A%3Alaunch%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A365%3A45%0A++++++%3Ctokio%3A%3Aruntime%3A%3Ablocking%3A%3Atask%3A%3ABlockingTask%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Ftask.rs%3A42%3A21%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++15%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A++16%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++17%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3AUnownedTask%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A431%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ATask%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A159%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3AInner%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A511%3A17%0A++18%3A+tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ASpawner%3A%3Aspawn_thread%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A469%3A13%0A++++++std%3A%3Asys_common%3A%3Abacktrace%3A%3A__rust_begin_short_backtrace%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys_common%2Fbacktrace.rs%3A121%3A18%0A++19%3A+std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A551%3A17%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A550%3A30%0A++++++core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3A%3Acall_once%7B%7Bvtable.shim%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fops%2Ffunction.rs%3A251%3A5%0A++20%3A+%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++std%3A%3Asys%3A%3Aunix%3A%3Athread%3A%3AThread%3A%3Anew%3A%3Athread_start%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys%2Funix%2Fthread.rs%3A108%3A17%0A++21%3A+start_thread%0A+++++++++++++at+.%2Fnptl%2Fpthread_create.c%3A442%3A8%0A++22%3A+clone3%0A+++++++++++++at+.%2Fmisc%2F..%2Fsysdeps%2Funix%2Fsysv%2Flinux%2Fx86_64%2Fclone3.S%3A81%0A%0A%60%60%60%0A%3C%2Fdetails%3E
- [2mJan 22 14:34:02.342[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60488, fd: 12 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m:[1mhandle_handshake_with_version[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60488, fd: 12 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60488, fd: 12 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5[1m}[0m:[1mhandle_connect_v5[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60488, fd: 12 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60488, fd: 12 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=52.39.176.227:443 local_addr=192.168.1.5[1m}[0m: registering event source with poller: token=Token(16777219), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.357[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(16777218), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.361[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(16777217), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.396[0m [32m INFO[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60470, fd: 13 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: connection initiated between 127.0.0.1:60470 and 52.88.75.10:443
- [2mJan 22 14:34:02.429[0m [32m INFO[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60476, fd: 15 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: connection initiated between 127.0.0.1:60476 and 54.187.174.239:443
- [2mJan 22 14:34:02.433[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60494, fd: 9 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:02.433[0m [33m WARN[0m
- 0: An error occurred during the proxy handshake procedure
- 1: Cannot assign requested address (os error 99)
- Location:
- /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
- 36 │ }
- 37 │
- 38 > #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 1: dispatch::socks::handle_connect_v5 with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60494, fd: 9 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60494, fd: 9 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=52.88.75.10:443 local_addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 2: dispatch::socks::handle_handshake_with_version with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60494, fd: 9 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60494, fd: 9 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 3: dispatch::server::handle_socket with socket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60494, fd: 9 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- ⋮ 5 frames hidden ⋮
- 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ⋮ 1 frame hidden ⋮
- 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 43 > _ => eyre::eyre!(err),
- 44 │ })
- 45 │ }
- 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
- 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
- 38 │ #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
- 215 │ local_addr: IpAddr,
- 216 │ ) -> Result<TcpStream> {
- 217 > let server_socket = try_bind_socket(local_addr)?;
- 218 │
- 219 │ let server_stream = server_socket.connect(address).await;
- 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
- 135 │ .wrap_err_with(dispatch_error)?;
- 136 │
- 137 > self.handle_connect_v5(host, local_addr).await
- 138 │ }
- 139 │ socksv5::SocksVersion::V4 => {
- 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
- 87 │ match socksv5::read_version(&mut self.reader).await {
- 88 │ Err(err) => Err(self.handle_version_error(err).await),
- 89 > Ok(version) => self.handle_handshake_with_version(version).await,
- 90 │ }
- 91 │ }
- 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
- 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
- 28 │
- 29 > match handshake.handshake().await {
- 30 │ Err(err) => {
- 31 │ return Err(err.wrap_err(eyre::eyre!(
- 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
- 134 │ let dispatcher = dispatcher.clone();
- 135 │ tokio::spawn(async move {
- 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
- 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
- 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
- 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 35: std::panicking::try::do_call::he695cac2794a1847
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 36: std::panicking::try::hdf2455cbcbe82896
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 37: std::panic::catch_unwind::hf1a600052c2a927a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
- 392 │ let raw = self.task.raw;
- 393 │ mem::forget(self);
- 394 > raw.poll();
- 395 │ }
- 396 │ }
- 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
- 462 │ // Run the task
- 463 │ coop::budget(|| {
- 464 > task.run();
- 465 │
- 466 │ // As long as there is budget remaining and a task exists in the
- 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
- 100 │ // The function is called regardless even if the budget is not successfully
- 101 │ // set due to the thread-local being destroyed.
- 102 > f()
- 103 │ }
- 104 │
- 45: tokio::runtime::coop::budget::hee241dec950efbe9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
- 66 │ #[inline(always)]
- 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
- 68 > with_budget(Budget::initial(), f)
- 69 │ }
- 70 │
- 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
- 461 │
- 462 │ // Run the task
- 463 > coop::budget(|| {
- 464 │ task.run();
- 465 │
- 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
- 424 │ // First, check work available to the current worker.
- 425 │ if let Some(task) = core.next_task(&self.worker) {
- 426 > core = self.run_task(task, core)?;
- 427 │ continue;
- 428 │ }
- 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 406 > assert!(cx.run(core).is_err());
- 407 │
- 408 │ // Check if there are any deferred tasks to notify. This can happen when
- 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
- 59 │ };
- 60 │
- 61 > f()
- 62 │ }
- 63 │
- 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
- 401 │ };
- 402 │
- 403 > CURRENT.set(&cx, || {
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
- 363 │ pub(crate) fn launch(mut self) {
- 364 │ for worker in self.0.drain(..) {
- 365 > runtime::spawn_blocking(move || run(worker));
- 366 │ }
- 367 │ }
- 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
- 40 │ crate::runtime::coop::stop();
- 41 │
- 42 > Poll::Ready(func())
- 43 │ }
- 44 │ }
- 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 58: std::panicking::try::do_call::h13355a7773e90623
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 59: std::panicking::try::h83ada4fb567f3238
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 60: std::panic::catch_unwind::h9f0aa85cf1251a10
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
- 429 │
- 430 │ // Use the other ref-count to poll the task.
- 431 > raw.poll();
- 432 │ // Decrement our extra ref-count
- 433 │ drop(task);
- 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
- 157 │
- 158 │ fn run(self) {
- 159 > self.task.run();
- 160 │ }
- 161 │
- 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
- 509 │ self.metrics.dec_queue_depth();
- 510 │ drop(shared);
- 511 > task.run();
- 512 │
- 513 │ shared = self.shared.lock();
- 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
- 467 │ // Only the reference should be moved into the closure
- 468 │ let _enter = rt.enter();
- 469 > rt.inner.blocking_spawner().inner.run(id);
- 470 │ drop(shutdown_tx);
- 471 │ })
- ⋮ 13 frames hidden ⋮
- Consider reporting this error using this URL: https://github.com/alexkirsz/dispatch/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+An+error+occurred+during+the+proxy+handshake+procedure%0A+++1%3A+Cannot+assign+requested+address+%28os+error+99%29%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**Version**%7C0.1.0%7C%0A%7C**OS**%7CLinux+22.04+KDE+neon%7C%0A%7C**Command**%7Cdispatch+--debug+start+192.168.0.100+192.168.1.5%7C%0A%0A%0A%23%23+SpanTrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ASpanTrace%3A%0A+++0%3A+dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++with+addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A38%0A+++1%3A+dispatch%3A%3Asocks%3A%3Ahandle_connect_v5%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60494%2C+fd%3A+9+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60494%2C+fd%3A+9+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+1%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+address%3D52.88.75.10%3A443+local_addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%0A+++2%3A+dispatch%3A%3Asocks%3A%3Ahandle_handshake_with_version%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60494%2C+fd%3A+9+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60494%2C+fd%3A+9+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+version%3DV5%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%0A+++3%3A+dispatch%3A%3Aserver%3A%3Ahandle_socket%0A+++++++++++with+socket%3DPollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60494%2C+fd%3A+9+%7D%29+%7D+dispatcher%3DWeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%0A%60%60%60%0A%3C%2Fdetails%3E%0A%0A%23%23+Backtrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ABacktrace%3A%0A+++0%3A+color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Adefault%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1016%3A18%0A++++++color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Ainto_eyre_hook%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1070%3A36%0A+++1%3A+eyre%3A%3Acapture_handler%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Flib.rs%3A605%3A23%0A+++2%3A+eyre%3A%3Aerror%3A%3A%3Cimpl+eyre%3A%3AReport%3E%3A%3Afrom_std%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A87%3A28%0A++++++eyre%3A%3Aerror%3A%3A%3Cimpl+core%3A%3Aconvert%3A%3AFrom%3CE%3E+for+eyre%3A%3AReport%3E%3A%3Afrom%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A464%3A9%0A+++3%3A+%3CT+as+core%3A%3Aconvert%3A%3AInto%3CU%3E%3E%3A%3Ainto%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fconvert%2Fmod.rs%3A726%3A9%0A++++++eyre%3A%3Akind%3A%3ATrait%3A%3Anew%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Fkind.rs%3A91%3A9%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A43%3A14%0A++++++core%3A%3Aresult%3A%3AResult%3CT%2CE%3E%3A%3Amap_err%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fresult.rs%3A861%3A27%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A40%3A5%0A+++4%3A+dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A217%3A29%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++5%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A137%3A57%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++6%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandshake%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A89%3A71%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A29%3A36%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++7%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%3A1%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Astart_server%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A136%3A64%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++8%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A+++9%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++10%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3ALocalNotified%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A394%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A464%3A13%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Awith_budget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A102%3A5%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Abudget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A68%3A5%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A463%3A9%0A++11%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A426%3A24%0A++12%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A406%3A17%0A++++++tokio%3A%3Amacros%3A%3Ascoped_tls%3A%3AScopedKey%3CT%3E%3A%3Aset%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fmacros%2Fscoped_tls.rs%3A61%3A9%0A++13%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A403%3A5%0A++14%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3ALaunch%3A%3Alaunch%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A365%3A45%0A++++++%3Ctokio%3A%3Aruntime%3A%3Ablocking%3A%3Atask%3A%3ABlockingTask%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Ftask.rs%3A42%3A21%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++15%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A++16%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++17%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3AUnownedTask%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A431%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ATask%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A159%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3AInner%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A511%3A17%0A++18%3A+tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ASpawner%3A%3Aspawn_thread%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A469%3A13%0A++++++std%3A%3Asys_common%3A%3Abacktrace%3A%3A__rust_begin_short_backtrace%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys_common%2Fbacktrace.rs%3A121%3A18%0A++19%3A+std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A551%3A17%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A550%3A30%0A++++++core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3A%3Acall_once%7B%7Bvtable.shim%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fops%2Ffunction.rs%3A251%3A5%0A++20%3A+%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++std%3A%3Asys%3A%3Aunix%3A%3Athread%3A%3AThread%3A%3Anew%3A%3Athread_start%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys%2Funix%2Fthread.rs%3A108%3A17%0A++21%3A+start_thread%0A+++++++++++++at+.%2Fnptl%2Fpthread_create.c%3A442%3A8%0A++22%3A+clone3%0A+++++++++++++at+.%2Fmisc%2F..%2Fsysdeps%2Funix%2Fsysv%2Flinux%2Fx86_64%2Fclone3.S%3A81%0A%0A%60%60%60%0A%3C%2Fdetails%3E
- [2mJan 22 14:34:02.436[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60504, fd: 14 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m:[1mhandle_handshake_with_version[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60504, fd: 14 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60504, fd: 14 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5[1m}[0m:[1mhandle_connect_v5[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60504, fd: 14 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60504, fd: 14 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=44.240.2.129:443 local_addr=192.168.1.5[1m}[0m: registering event source with poller: token=Token(33554434), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.583[0m [32m INFO[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60488, fd: 12 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: connection initiated between 127.0.0.1:60488 and 52.39.176.227:443
- [2mJan 22 14:34:02.707[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(9), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.710[0m [32m INFO[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60504, fd: 14 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: connection initiated between 127.0.0.1:60504 and 44.240.2.129:443
- [2mJan 22 14:34:02.738[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(10), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.854[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60512, fd: 17 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m:[1mhandle_handshake_with_version[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60512, fd: 17 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60512, fd: 17 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5[1m}[0m:[1mhandle_connect_v5[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60512, fd: 17 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60512, fd: 17 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=93.184.220.29:80 local_addr=192.168.1.5[1m}[0m: registering event source with poller: token=Token(11), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.854[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60508, fd: 11 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:02.854[0m [33m WARN[0m
- 0: An error occurred during the proxy handshake procedure
- 1: Cannot assign requested address (os error 99)
- Location:
- /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
- 36 │ }
- 37 │
- 38 > #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 1: dispatch::socks::handle_connect_v5 with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60508, fd: 11 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60508, fd: 11 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=93.184.220.29:80 local_addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 2: dispatch::socks::handle_handshake_with_version with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60508, fd: 11 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60508, fd: 11 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 3: dispatch::server::handle_socket with socket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60508, fd: 11 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- ⋮ 5 frames hidden ⋮
- 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ⋮ 1 frame hidden ⋮
- 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 43 > _ => eyre::eyre!(err),
- 44 │ })
- 45 │ }
- 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
- 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
- 38 │ #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
- 215 │ local_addr: IpAddr,
- 216 │ ) -> Result<TcpStream> {
- 217 > let server_socket = try_bind_socket(local_addr)?;
- 218 │
- 219 │ let server_stream = server_socket.connect(address).await;
- 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
- 135 │ .wrap_err_with(dispatch_error)?;
- 136 │
- 137 > self.handle_connect_v5(host, local_addr).await
- 138 │ }
- 139 │ socksv5::SocksVersion::V4 => {
- 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
- 87 │ match socksv5::read_version(&mut self.reader).await {
- 88 │ Err(err) => Err(self.handle_version_error(err).await),
- 89 > Ok(version) => self.handle_handshake_with_version(version).await,
- 90 │ }
- 91 │ }
- 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
- 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
- 28 │
- 29 > match handshake.handshake().await {
- 30 │ Err(err) => {
- 31 │ return Err(err.wrap_err(eyre::eyre!(
- 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
- 134 │ let dispatcher = dispatcher.clone();
- 135 │ tokio::spawn(async move {
- 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
- 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
- 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
- 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 35: std::panicking::try::do_call::he695cac2794a1847
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 36: std::panicking::try::hdf2455cbcbe82896
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 37: std::panic::catch_unwind::hf1a600052c2a927a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
- 392 │ let raw = self.task.raw;
- 393 │ mem::forget(self);
- 394 > raw.poll();
- 395 │ }
- 396 │ }
- 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
- 462 │ // Run the task
- 463 │ coop::budget(|| {
- 464 > task.run();
- 465 │
- 466 │ // As long as there is budget remaining and a task exists in the
- 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
- 100 │ // The function is called regardless even if the budget is not successfully
- 101 │ // set due to the thread-local being destroyed.
- 102 > f()
- 103 │ }
- 104 │
- 45: tokio::runtime::coop::budget::hee241dec950efbe9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
- 66 │ #[inline(always)]
- 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
- 68 > with_budget(Budget::initial(), f)
- 69 │ }
- 70 │
- 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
- 461 │
- 462 │ // Run the task
- 463 > coop::budget(|| {
- 464 │ task.run();
- 465 │
- 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
- 424 │ // First, check work available to the current worker.
- 425 │ if let Some(task) = core.next_task(&self.worker) {
- 426 > core = self.run_task(task, core)?;
- 427 │ continue;
- 428 │ }
- 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 406 > assert!(cx.run(core).is_err());
- 407 │
- 408 │ // Check if there are any deferred tasks to notify. This can happen when
- 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
- 59 │ };
- 60 │
- 61 > f()
- 62 │ }
- 63 │
- 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
- 401 │ };
- 402 │
- 403 > CURRENT.set(&cx, || {
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
- 363 │ pub(crate) fn launch(mut self) {
- 364 │ for worker in self.0.drain(..) {
- 365 > runtime::spawn_blocking(move || run(worker));
- 366 │ }
- 367 │ }
- 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
- 40 │ crate::runtime::coop::stop();
- 41 │
- 42 > Poll::Ready(func())
- 43 │ }
- 44 │ }
- 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 58: std::panicking::try::do_call::h13355a7773e90623
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 59: std::panicking::try::h83ada4fb567f3238
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 60: std::panic::catch_unwind::h9f0aa85cf1251a10
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
- 429 │
- 430 │ // Use the other ref-count to poll the task.
- 431 > raw.poll();
- 432 │ // Decrement our extra ref-count
- 433 │ drop(task);
- 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
- 157 │
- 158 │ fn run(self) {
- 159 > self.task.run();
- 160 │ }
- 161 │
- 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
- 509 │ self.metrics.dec_queue_depth();
- 510 │ drop(shared);
- 511 > task.run();
- 512 │
- 513 │ shared = self.shared.lock();
- 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
- 467 │ // Only the reference should be moved into the closure
- 468 │ let _enter = rt.enter();
- 469 > rt.inner.blocking_spawner().inner.run(id);
- 470 │ drop(shutdown_tx);
- 471 │ })
- ⋮ 13 frames hidden ⋮
- Consider reporting this error using this URL: https://github.com/alexkirsz/dispatch/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+An+error+occurred+during+the+proxy+handshake+procedure%0A+++1%3A+Cannot+assign+requested+address+%28os+error+99%29%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**Version**%7C0.1.0%7C%0A%7C**OS**%7CLinux+22.04+KDE+neon%7C%0A%7C**Command**%7Cdispatch+--debug+start+192.168.0.100+192.168.1.5%7C%0A%0A%0A%23%23+SpanTrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ASpanTrace%3A%0A+++0%3A+dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++with+addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A38%0A+++1%3A+dispatch%3A%3Asocks%3A%3Ahandle_connect_v5%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60508%2C+fd%3A+11+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60508%2C+fd%3A+11+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+1%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+address%3D93.184.220.29%3A80+local_addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%0A+++2%3A+dispatch%3A%3Asocks%3A%3Ahandle_handshake_with_version%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60508%2C+fd%3A+11+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60508%2C+fd%3A+11+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+version%3DV5%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%0A+++3%3A+dispatch%3A%3Aserver%3A%3Ahandle_socket%0A+++++++++++with+socket%3DPollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60508%2C+fd%3A+11+%7D%29+%7D+dispatcher%3DWeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%0A%60%60%60%0A%3C%2Fdetails%3E%0A%0A%23%23+Backtrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ABacktrace%3A%0A+++0%3A+color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Adefault%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1016%3A18%0A++++++color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Ainto_eyre_hook%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1070%3A36%0A+++1%3A+eyre%3A%3Acapture_handler%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Flib.rs%3A605%3A23%0A+++2%3A+eyre%3A%3Aerror%3A%3A%3Cimpl+eyre%3A%3AReport%3E%3A%3Afrom_std%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A87%3A28%0A++++++eyre%3A%3Aerror%3A%3A%3Cimpl+core%3A%3Aconvert%3A%3AFrom%3CE%3E+for+eyre%3A%3AReport%3E%3A%3Afrom%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A464%3A9%0A+++3%3A+%3CT+as+core%3A%3Aconvert%3A%3AInto%3CU%3E%3E%3A%3Ainto%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fconvert%2Fmod.rs%3A726%3A9%0A++++++eyre%3A%3Akind%3A%3ATrait%3A%3Anew%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Fkind.rs%3A91%3A9%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A43%3A14%0A++++++core%3A%3Aresult%3A%3AResult%3CT%2CE%3E%3A%3Amap_err%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fresult.rs%3A861%3A27%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A40%3A5%0A+++4%3A+dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A217%3A29%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++5%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A137%3A57%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++6%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandshake%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A89%3A71%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A29%3A36%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++7%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%3A1%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Astart_server%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A136%3A64%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++8%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A+++9%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++10%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3ALocalNotified%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A394%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A464%3A13%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Awith_budget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A102%3A5%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Abudget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A68%3A5%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A463%3A9%0A++11%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A426%3A24%0A++12%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A406%3A17%0A++++++tokio%3A%3Amacros%3A%3Ascoped_tls%3A%3AScopedKey%3CT%3E%3A%3Aset%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fmacros%2Fscoped_tls.rs%3A61%3A9%0A++13%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A403%3A5%0A++14%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3ALaunch%3A%3Alaunch%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A365%3A45%0A++++++%3Ctokio%3A%3Aruntime%3A%3Ablocking%3A%3Atask%3A%3ABlockingTask%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Ftask.rs%3A42%3A21%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++15%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A++16%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++17%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3AUnownedTask%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A431%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ATask%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A159%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3AInner%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A511%3A17%0A++18%3A+tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ASpawner%3A%3Aspawn_thread%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A469%3A13%0A++++++std%3A%3Asys_common%3A%3Abacktrace%3A%3A__rust_begin_short_backtrace%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys_common%2Fbacktrace.rs%3A121%3A18%0A++19%3A+std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A551%3A17%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A550%3A30%0A++++++core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3A%3Acall_once%7B%7Bvtable.shim%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fops%2Ffunction.rs%3A251%3A5%0A++20%3A+%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++std%3A%3Asys%3A%3Aunix%3A%3Athread%3A%3AThread%3A%3Anew%3A%3Athread_start%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys%2Funix%2Fthread.rs%3A108%3A17%0A++21%3A+start_thread%0A+++++++++++++at+.%2Fnptl%2Fpthread_create.c%3A442%3A8%0A++22%3A+clone3%0A+++++++++++++at+.%2Fmisc%2F..%2Fsysdeps%2Funix%2Fsysv%2Flinux%2Fx86_64%2Fclone3.S%3A81%0A%0A%60%60%60%0A%3C%2Fdetails%3E
- [2mJan 22 14:34:02.859[0m [32m INFO[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60470, fd: 13 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: connection terminated between 127.0.0.1:60470 and 52.88.75.10:443
- [2mJan 22 14:34:02.860[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60470, fd: 13 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:02.860[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60470, fd: 13 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:02.902[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(16777220), interests=READABLE | WRITABLE
- [2mJan 22 14:34:02.927[0m [32m INFO[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60512, fd: 17 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: connection initiated between 127.0.0.1:60512 and 93.184.220.29:80
- [2mJan 22 14:34:02.983[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60522, fd: 10 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:02.987[0m [32m INFO[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60488, fd: 12 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: connection terminated between 127.0.0.1:60488 and 52.39.176.227:443
- [2mJan 22 14:34:02.987[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60488, fd: 12 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:02.987[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60488, fd: 12 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:02.983[0m [33m WARN[0m
- 0: An error occurred during the proxy handshake procedure
- 1: Cannot assign requested address (os error 99)
- Location:
- /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
- 36 │ }
- 37 │
- 38 > #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 1: dispatch::socks::handle_connect_v5 with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60522, fd: 10 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60522, fd: 10 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=93.184.220.29:80 local_addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 2: dispatch::socks::handle_handshake_with_version with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60522, fd: 10 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60522, fd: 10 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 3: dispatch::server::handle_socket with socket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60522, fd: 10 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- ⋮ 5 frames hidden ⋮
- 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ⋮ 1 frame hidden ⋮
- 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 43 > _ => eyre::eyre!(err),
- 44 │ })
- 45 │ }
- 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
- 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
- 38 │ #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
- 215 │ local_addr: IpAddr,
- 216 │ ) -> Result<TcpStream> {
- 217 > let server_socket = try_bind_socket(local_addr)?;
- 218 │
- 219 │ let server_stream = server_socket.connect(address).await;
- 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
- 135 │ .wrap_err_with(dispatch_error)?;
- 136 │
- 137 > self.handle_connect_v5(host, local_addr).await
- 138 │ }
- 139 │ socksv5::SocksVersion::V4 => {
- 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
- 87 │ match socksv5::read_version(&mut self.reader).await {
- 88 │ Err(err) => Err(self.handle_version_error(err).await),
- 89 > Ok(version) => self.handle_handshake_with_version(version).await,
- 90 │ }
- 91 │ }
- 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
- 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
- 28 │
- 29 > match handshake.handshake().await {
- 30 │ Err(err) => {
- 31 │ return Err(err.wrap_err(eyre::eyre!(
- 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
- 134 │ let dispatcher = dispatcher.clone();
- 135 │ tokio::spawn(async move {
- 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
- 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
- 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
- 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 35: std::panicking::try::do_call::he695cac2794a1847
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 36: std::panicking::try::hdf2455cbcbe82896
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 37: std::panic::catch_unwind::hf1a600052c2a927a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
- 392 │ let raw = self.task.raw;
- 393 │ mem::forget(self);
- 394 > raw.poll();
- 395 │ }
- 396 │ }
- 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
- 462 │ // Run the task
- 463 │ coop::budget(|| {
- 464 > task.run();
- 465 │
- 466 │ // As long as there is budget remaining and a task exists in the
- 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
- 100 │ // The function is called regardless even if the budget is not successfully
- 101 │ // set due to the thread-local being destroyed.
- 102 > f()
- 103 │ }
- 104 │
- 45: tokio::runtime::coop::budget::hee241dec950efbe9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
- 66 │ #[inline(always)]
- 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
- 68 > with_budget(Budget::initial(), f)
- 69 │ }
- 70 │
- 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
- 461 │
- 462 │ // Run the task
- 463 > coop::budget(|| {
- 464 │ task.run();
- 465 │
- 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
- 424 │ // First, check work available to the current worker.
- 425 │ if let Some(task) = core.next_task(&self.worker) {
- 426 > core = self.run_task(task, core)?;
- 427 │ continue;
- 428 │ }
- 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 406 > assert!(cx.run(core).is_err());
- 407 │
- 408 │ // Check if there are any deferred tasks to notify. This can happen when
- 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
- 59 │ };
- 60 │
- 61 > f()
- 62 │ }
- 63 │
- 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
- 401 │ };
- 402 │
- 403 > CURRENT.set(&cx, || {
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
- 363 │ pub(crate) fn launch(mut self) {
- 364 │ for worker in self.0.drain(..) {
- 365 > runtime::spawn_blocking(move || run(worker));
- 366 │ }
- 367 │ }
- 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
- 40 │ crate::runtime::coop::stop();
- 41 │
- 42 > Poll::Ready(func())
- 43 │ }
- 44 │ }
- 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 58: std::panicking::try::do_call::h13355a7773e90623
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 59: std::panicking::try::h83ada4fb567f3238
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 60: std::panic::catch_unwind::h9f0aa85cf1251a10
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
- 429 │
- 430 │ // Use the other ref-count to poll the task.
- 431 > raw.poll();
- 432 │ // Decrement our extra ref-count
- 433 │ drop(task);
- 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
- 157 │
- 158 │ fn run(self) {
- 159 > self.task.run();
- 160 │ }
- 161 │
- 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
- 509 │ self.metrics.dec_queue_depth();
- 510 │ drop(shared);
- 511 > task.run();
- 512 │
- 513 │ shared = self.shared.lock();
- 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
- 467 │ // Only the reference should be moved into the closure
- 468 │ let _enter = rt.enter();
- 469 > rt.inner.blocking_spawner().inner.run(id);
- 470 │ drop(shutdown_tx);
- 471 │ })
- ⋮ 13 frames hidden ⋮
- Consider reporting this error using this URL: https://github.com/alexkirsz/dispatch/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+An+error+occurred+during+the+proxy+handshake+procedure%0A+++1%3A+Cannot+assign+requested+address+%28os+error+99%29%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**Version**%7C0.1.0%7C%0A%7C**OS**%7CLinux+22.04+KDE+neon%7C%0A%7C**Command**%7Cdispatch+--debug+start+192.168.0.100+192.168.1.5%7C%0A%0A%0A%23%23+SpanTrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ASpanTrace%3A%0A+++0%3A+dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++with+addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A38%0A+++1%3A+dispatch%3A%3Asocks%3A%3Ahandle_connect_v5%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60522%2C+fd%3A+10+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60522%2C+fd%3A+10+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+1%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+address%3D93.184.220.29%3A80+local_addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%0A+++2%3A+dispatch%3A%3Asocks%3A%3Ahandle_handshake_with_version%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60522%2C+fd%3A+10+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60522%2C+fd%3A+10+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+version%3DV5%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%0A+++3%3A+dispatch%3A%3Aserver%3A%3Ahandle_socket%0A+++++++++++with+socket%3DPollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A60522%2C+fd%3A+10+%7D%29+%7D+dispatcher%3DWeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%0A%60%60%60%0A%3C%2Fdetails%3E%0A%0A%23%23+Backtrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ABacktrace%3A%0A+++0%3A+color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Adefault%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1016%3A18%0A++++++color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Ainto_eyre_hook%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1070%3A36%0A+++1%3A+eyre%3A%3Acapture_handler%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Flib.rs%3A605%3A23%0A+++2%3A+eyre%3A%3Aerror%3A%3A%3Cimpl+eyre%3A%3AReport%3E%3A%3Afrom_std%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A87%3A28%0A++++++eyre%3A%3Aerror%3A%3A%3Cimpl+core%3A%3Aconvert%3A%3AFrom%3CE%3E+for+eyre%3A%3AReport%3E%3A%3Afrom%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A464%3A9%0A+++3%3A+%3CT+as+core%3A%3Aconvert%3A%3AInto%3CU%3E%3E%3A%3Ainto%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fconvert%2Fmod.rs%3A726%3A9%0A++++++eyre%3A%3Akind%3A%3ATrait%3A%3Anew%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Fkind.rs%3A91%3A9%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A43%3A14%0A++++++core%3A%3Aresult%3A%3AResult%3CT%2CE%3E%3A%3Amap_err%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fresult.rs%3A861%3A27%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A40%3A5%0A+++4%3A+dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A217%3A29%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++5%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A137%3A57%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++6%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandshake%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A89%3A71%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A29%3A36%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++7%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%3A1%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Astart_server%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A136%3A64%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++8%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A+++9%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++10%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3ALocalNotified%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A394%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A464%3A13%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Awith_budget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A102%3A5%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Abudget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A68%3A5%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A463%3A9%0A++11%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A426%3A24%0A++12%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A406%3A17%0A++++++tokio%3A%3Amacros%3A%3Ascoped_tls%3A%3AScopedKey%3CT%3E%3A%3Aset%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fmacros%2Fscoped_tls.rs%3A61%3A9%0A++13%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A403%3A5%0A++14%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3ALaunch%3A%3Alaunch%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A365%3A45%0A++++++%3Ctokio%3A%3Aruntime%3A%3Ablocking%3A%3Atask%3A%3ABlockingTask%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Ftask.rs%3A42%3A21%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++15%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A++16%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++17%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3AUnownedTask%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A431%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ATask%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A159%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3AInner%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A511%3A17%0A++18%3A+tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ASpawner%3A%3Aspawn_thread%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A469%3A13%0A++++++std%3A%3Asys_common%3A%3Abacktrace%3A%3A__rust_begin_short_backtrace%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys_common%2Fbacktrace.rs%3A121%3A18%0A++19%3A+std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A551%3A17%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A550%3A30%0A++++++core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3A%3Acall_once%7B%7Bvtable.shim%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fops%2Ffunction.rs%3A251%3A5%0A++20%3A+%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++std%3A%3Asys%3A%3Aunix%3A%3Athread%3A%3AThread%3A%3Anew%3A%3Athread_start%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys%2Funix%2Fthread.rs%3A108%3A17%0A++21%3A+start_thread%0A+++++++++++++at+.%2Fnptl%2Fpthread_create.c%3A442%3A8%0A++22%3A+clone3%0A+++++++++++++at+.%2Fmisc%2F..%2Fsysdeps%2Funix%2Fsysv%2Flinux%2Fx86_64%2Fclone3.S%3A81%0A%0A%60%60%60%0A%3C%2Fdetails%3E
- [2mJan 22 14:34:03.024[0m [32m INFO[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60504, fd: 14 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: connection terminated between 127.0.0.1:60504 and 44.240.2.129:443
- [2mJan 22 14:34:03.024[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60504, fd: 14 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:03.024[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:60504, fd: 14 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:03.623[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(33554433), interests=READABLE | WRITABLE
- [2mJan 22 14:34:03.657[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(50331650), interests=READABLE | WRITABLE
- [2mJan 22 14:34:03.702[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42208, fd: 7 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m:[1mhandle_handshake_with_version[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42208, fd: 7 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42208, fd: 7 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5[1m}[0m:[1mhandle_connect_v5[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42208, fd: 7 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42208, fd: 7 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 0, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=185.199.110.153:443 local_addr=192.168.1.5[1m}[0m: registering event source with poller: token=Token(16777224), interests=READABLE | WRITABLE
- [2mJan 22 14:34:03.776[0m [32m INFO[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42208, fd: 7 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: connection initiated between 127.0.0.1:42208 and 185.199.110.153:443
- [2mJan 22 14:34:03.809[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42224, fd: 10 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:03.810[0m [33m WARN[0m
- 0: An error occurred during the proxy handshake procedure
- 1: Cannot assign requested address (os error 99)
- Location:
- /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
- 36 │ }
- 37 │
- 38 > #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 1: dispatch::socks::handle_connect_v5 with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42224, fd: 10 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42224, fd: 10 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=104.18.26.218:443 local_addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 2: dispatch::socks::handle_handshake_with_version with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42224, fd: 10 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42224, fd: 10 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 3: dispatch::server::handle_socket with socket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42224, fd: 10 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- ⋮ 5 frames hidden ⋮
- 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ⋮ 1 frame hidden ⋮
- 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 43 > _ => eyre::eyre!(err),
- 44 │ })
- 45 │ }
- 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
- 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
- 38 │ #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
- 215 │ local_addr: IpAddr,
- 216 │ ) -> Result<TcpStream> {
- 217 > let server_socket = try_bind_socket(local_addr)?;
- 218 │
- 219 │ let server_stream = server_socket.connect(address).await;
- 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
- 135 │ .wrap_err_with(dispatch_error)?;
- 136 │
- 137 > self.handle_connect_v5(host, local_addr).await
- 138 │ }
- 139 │ socksv5::SocksVersion::V4 => {
- 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
- 87 │ match socksv5::read_version(&mut self.reader).await {
- 88 │ Err(err) => Err(self.handle_version_error(err).await),
- 89 > Ok(version) => self.handle_handshake_with_version(version).await,
- 90 │ }
- 91 │ }
- 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
- 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
- 28 │
- 29 > match handshake.handshake().await {
- 30 │ Err(err) => {
- 31 │ return Err(err.wrap_err(eyre::eyre!(
- 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
- 134 │ let dispatcher = dispatcher.clone();
- 135 │ tokio::spawn(async move {
- 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
- 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
- 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
- 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 35: std::panicking::try::do_call::he695cac2794a1847
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 36: std::panicking::try::hdf2455cbcbe82896
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 37: std::panic::catch_unwind::hf1a600052c2a927a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
- 392 │ let raw = self.task.raw;
- 393 │ mem::forget(self);
- 394 > raw.poll();
- 395 │ }
- 396 │ }
- 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
- 462 │ // Run the task
- 463 │ coop::budget(|| {
- 464 > task.run();
- 465 │
- 466 │ // As long as there is budget remaining and a task exists in the
- 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
- 100 │ // The function is called regardless even if the budget is not successfully
- 101 │ // set due to the thread-local being destroyed.
- 102 > f()
- 103 │ }
- 104 │
- 45: tokio::runtime::coop::budget::hee241dec950efbe9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
- 66 │ #[inline(always)]
- 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
- 68 > with_budget(Budget::initial(), f)
- 69 │ }
- 70 │
- 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
- 461 │
- 462 │ // Run the task
- 463 > coop::budget(|| {
- 464 │ task.run();
- 465 │
- 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
- 424 │ // First, check work available to the current worker.
- 425 │ if let Some(task) = core.next_task(&self.worker) {
- 426 > core = self.run_task(task, core)?;
- 427 │ continue;
- 428 │ }
- 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 406 > assert!(cx.run(core).is_err());
- 407 │
- 408 │ // Check if there are any deferred tasks to notify. This can happen when
- 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
- 59 │ };
- 60 │
- 61 > f()
- 62 │ }
- 63 │
- 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
- 401 │ };
- 402 │
- 403 > CURRENT.set(&cx, || {
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
- 363 │ pub(crate) fn launch(mut self) {
- 364 │ for worker in self.0.drain(..) {
- 365 > runtime::spawn_blocking(move || run(worker));
- 366 │ }
- 367 │ }
- 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
- 40 │ crate::runtime::coop::stop();
- 41 │
- 42 > Poll::Ready(func())
- 43 │ }
- 44 │ }
- 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 58: std::panicking::try::do_call::h13355a7773e90623
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 59: std::panicking::try::h83ada4fb567f3238
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 60: std::panic::catch_unwind::h9f0aa85cf1251a10
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
- 429 │
- 430 │ // Use the other ref-count to poll the task.
- 431 > raw.poll();
- 432 │ // Decrement our extra ref-count
- 433 │ drop(task);
- 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
- 157 │
- 158 │ fn run(self) {
- 159 > self.task.run();
- 160 │ }
- 161 │
- 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
- 509 │ self.metrics.dec_queue_depth();
- 510 │ drop(shared);
- 511 > task.run();
- 512 │
- 513 │ shared = self.shared.lock();
- 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
- 467 │ // Only the reference should be moved into the closure
- 468 │ let _enter = rt.enter();
- 469 > rt.inner.blocking_spawner().inner.run(id);
- 470 │ drop(shutdown_tx);
- 471 │ })
- ⋮ 13 frames hidden ⋮
- Consider reporting this error using this URL: https://github.com/alexkirsz/dispatch/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+An+error+occurred+during+the+proxy+handshake+procedure%0A+++1%3A+Cannot+assign+requested+address+%28os+error+99%29%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**Version**%7C0.1.0%7C%0A%7C**OS**%7CLinux+22.04+KDE+neon%7C%0A%7C**Command**%7Cdispatch+--debug+start+192.168.0.100+192.168.1.5%7C%0A%0A%0A%23%23+SpanTrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ASpanTrace%3A%0A+++0%3A+dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++with+addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A38%0A+++1%3A+dispatch%3A%3Asocks%3A%3Ahandle_connect_v5%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A42224%2C+fd%3A+10+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A42224%2C+fd%3A+10+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+1%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+address%3D104.18.26.218%3A443+local_addr%3D192.168.0.100%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%0A+++2%3A+dispatch%3A%3Asocks%3A%3Ahandle_handshake_with_version%0A+++++++++++with+self%3DSocksHandshake+%7B+reader%3A+ReadHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A42224%2C+fd%3A+10+%7D%29+%7D%29%2C+writer%3A+WriteHalf%28PollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A42224%2C+fd%3A+10+%7D%29+%7D%29%2C+dispatcher%3A+WeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+1%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29+%7D+version%3DV5%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%0A+++3%3A+dispatch%3A%3Aserver%3A%3Ahandle_socket%0A+++++++++++with+socket%3DPollEvented+%7B+io%3A+Some%28TcpStream+%7B+addr%3A+127.0.0.1%3A1080%2C+peer%3A+127.0.0.1%3A42224%2C+fd%3A+10+%7D%29+%7D+dispatcher%3DWeightedRoundRobinDispatcher%28Mutex+%7B+data%3A+WeightedRoundRobinDispatcherInner+%7B+ipv4%3A+State+%7B+addresses%3A+%5BWeightedAddress+%7B+ip%3A+192.168.0.100%2C+weight%3A+1+%7D%2C+WeightedAddress+%7B+ip%3A+192.168.1.5%2C+weight%3A+1+%7D%5D%2C+address_idx%3A+1%2C+count%3A+0+%7D%2C+ipv6%3A+State+%7B+addresses%3A+%5B%5D%2C+address_idx%3A+0%2C+count%3A+0+%7D+%7D+%7D%29%0A+++++++++++++at+%2Fhome%2Fg%2F.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%0A%60%60%60%0A%3C%2Fdetails%3E%0A%0A%23%23+Backtrace%0A%0A%3Cdetails%3E%0A%0A%60%60%60%0ABacktrace%3A%0A+++0%3A+color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Adefault%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1016%3A18%0A++++++color_eyre%3A%3Aconfig%3A%3AEyreHook%3A%3Ainto_eyre_hook%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fcolor-eyre-0.5.11%2Fsrc%2Fconfig.rs%3A1070%3A36%0A+++1%3A+eyre%3A%3Acapture_handler%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Flib.rs%3A605%3A23%0A+++2%3A+eyre%3A%3Aerror%3A%3A%3Cimpl+eyre%3A%3AReport%3E%3A%3Afrom_std%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A87%3A28%0A++++++eyre%3A%3Aerror%3A%3A%3Cimpl+core%3A%3Aconvert%3A%3AFrom%3CE%3E+for+eyre%3A%3AReport%3E%3A%3Afrom%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Ferror.rs%3A464%3A9%0A+++3%3A+%3CT+as+core%3A%3Aconvert%3A%3AInto%3CU%3E%3E%3A%3Ainto%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fconvert%2Fmod.rs%3A726%3A9%0A++++++eyre%3A%3Akind%3A%3ATrait%3A%3Anew%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Feyre-0.6.8%2Fsrc%2Fkind.rs%3A91%3A9%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A43%3A14%0A++++++core%3A%3Aresult%3A%3AResult%3CT%2CE%3E%3A%3Amap_err%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fresult.rs%3A861%3A27%0A++++++dispatch%3A%3Asocks%3A%3Atry_bind_socket%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A40%3A5%0A+++4%3A+dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A217%3A29%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++5%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_connect_v5%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A211%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A137%3A57%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++6%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandle_handshake_with_version%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A121%3A5%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Asocks%3A%3ASocksHandshake%3CR%2CW%2CD%3E%3A%3Ahandshake%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fsocks.rs%3A89%3A71%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A29%3A36%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++7%3A+%3Ctracing%3A%3Ainstrument%3A%3AInstrumented%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftracing-0.1.37%2Fsrc%2Finstrument.rs%3A272%3A9%0A++++++dispatch%3A%3Aserver%3A%3Ahandle_socket%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A19%3A1%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A++++++dispatch%3A%3Aserver%3A%3Astart_server%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Fdispatch-proxy-0.1.0%2Fsrc%2Fserver.rs%3A136%3A64%0A++++++%3Ccore%3A%3Afuture%3A%3Afrom_generator%3A%3AGenFuture%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Ffuture%2Fmod.rs%3A91%3A19%0A+++8%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A+++9%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++10%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3ALocalNotified%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A394%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A464%3A13%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Awith_budget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A102%3A5%0A++++++tokio%3A%3Aruntime%3A%3Acoop%3A%3Abudget%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fcoop.rs%3A68%3A5%0A++++++tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun_task%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A463%3A9%0A++11%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3AContext%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A426%3A24%0A++12%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A406%3A17%0A++++++tokio%3A%3Amacros%3A%3Ascoped_tls%3A%3AScopedKey%3CT%3E%3A%3Aset%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fmacros%2Fscoped_tls.rs%3A61%3A9%0A++13%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A403%3A5%0A++14%3A+tokio%3A%3Aruntime%3A%3Ascheduler%3A%3Amulti_thread%3A%3Aworker%3A%3ALaunch%3A%3Alaunch%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fscheduler%2Fmulti_thread%2Fworker.rs%3A365%3A45%0A++++++%3Ctokio%3A%3Aruntime%3A%3Ablocking%3A%3Atask%3A%3ABlockingTask%3CT%3E+as+core%3A%3Afuture%3A%3Afuture%3A%3AFuture%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Ftask.rs%3A42%3A21%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A223%3A17%0A++++++tokio%3A%3Aloom%3A%3Astd%3A%3Aunsafe_cell%3A%3AUnsafeCell%3CT%3E%3A%3Awith_mut%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Floom%2Fstd%2Funsafe_cell.rs%3A14%3A9%0A++15%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Acore%3A%3ACore%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fcore.rs%3A212%3A13%0A++16%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A476%3A19%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3Apoll_future%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A464%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll_inner%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A198%3A27%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3Aharness%3A%3AHarness%3CT%2CS%3E%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fharness.rs%3A152%3A15%0A++17%3A+tokio%3A%3Aruntime%3A%3Atask%3A%3Araw%3A%3ARawTask%3A%3Apoll%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fraw.rs%3A200%3A18%0A++++++tokio%3A%3Aruntime%3A%3Atask%3A%3AUnownedTask%3CS%3E%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Ftask%2Fmod.rs%3A431%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ATask%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A159%3A9%0A++++++tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3AInner%3A%3Arun%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A511%3A17%0A++18%3A+tokio%3A%3Aruntime%3A%3Ablocking%3A%3Apool%3A%3ASpawner%3A%3Aspawn_thread%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+.cargo%2Fregistry%2Fsrc%2Fgithub.com-1ecc6299db9ec823%2Ftokio-1.24.2%2Fsrc%2Fruntime%2Fblocking%2Fpool.rs%3A469%3A13%0A++++++std%3A%3Asys_common%3A%3Abacktrace%3A%3A__rust_begin_short_backtrace%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys_common%2Fbacktrace.rs%3A121%3A18%0A++19%3A+std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A551%3A17%0A++++++%3Ccore%3A%3Apanic%3A%3Aunwind_safe%3A%3AAssertUnwindSafe%3CF%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3C%28%29%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fpanic%2Funwind_safe.rs%3A271%3A9%0A++++++std%3A%3Apanicking%3A%3Atry%3A%3Ado_call%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A483%3A40%0A++++++std%3A%3Apanicking%3A%3Atry%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanicking.rs%3A447%3A19%0A++++++std%3A%3Apanic%3A%3Acatch_unwind%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fpanic.rs%3A137%3A14%0A++++++std%3A%3Athread%3A%3ABuilder%3A%3Aspawn_unchecked_%3A%3A%7B%7Bclosure%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fthread%2Fmod.rs%3A550%3A30%0A++++++core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3A%3Acall_once%7B%7Bvtable.shim%7D%7D%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fcore%2Fsrc%2Fops%2Ffunction.rs%3A251%3A5%0A++20%3A+%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++%3Calloc%3A%3Aboxed%3A%3ABox%3CF%2CA%3E+as+core%3A%3Aops%3A%3Afunction%3A%3AFnOnce%3CArgs%3E%3E%3A%3Acall_once%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Falloc%2Fsrc%2Fboxed.rs%3A1987%3A9%0A++++++std%3A%3Asys%3A%3Aunix%3A%3Athread%3A%3AThread%3A%3Anew%3A%3Athread_start%0A+++++++++++++at+%2Frustc%2F90743e7298aca107ddaa0c202a4d3604e29bfeb6%2Flibrary%2Fstd%2Fsrc%2Fsys%2Funix%2Fthread.rs%3A108%3A17%0A++21%3A+start_thread%0A+++++++++++++at+.%2Fnptl%2Fpthread_create.c%3A442%3A8%0A++22%3A+clone3%0A+++++++++++++at+.%2Fmisc%2F..%2Fsysdeps%2Funix%2Fsysv%2Flinux%2Fx86_64%2Fclone3.S%3A81%0A%0A%60%60%60%0A%3C%2Fdetails%3E
- [2mJan 22 14:34:03.953[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(67108866), interests=READABLE | WRITABLE
- [2mJan 22 14:34:03.955[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(33554435), interests=READABLE | WRITABLE
- [2mJan 22 14:34:03.975[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(33554436), interests=READABLE | WRITABLE
- [2mJan 22 14:34:03.994[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(16777222), interests=READABLE | WRITABLE
- [2mJan 22 14:34:03.998[0m [35mTRACE[0m [1mserver[0m[1m{[0mip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m:[1mstart_server[0m[1m{[0maddr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }][1m}[0m: registering event source with poller: token=Token(16777225), interests=READABLE | WRITABLE
- [2mJan 22 14:34:04.028[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42234, fd: 10 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m:[1mhandle_handshake_with_version[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42234, fd: 10 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42234, fd: 10 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5[1m}[0m:[1mhandle_connect_v5[0m[1m{[0mself=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42234, fd: 10 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42234, fd: 10 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=104.18.26.218:443 local_addr=192.168.1.5[1m}[0m: registering event source with poller: token=Token(12), interests=READABLE | WRITABLE
- [2mJan 22 14:34:04.029[0m [35mTRACE[0m [1mhandle_socket[0m[1m{[0msocket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42236, fd: 12 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })[1m}[0m: deregistering event source from poller
- [2mJan 22 14:34:04.029[0m [33m WARN[0m
- 0: An error occurred during the proxy handshake procedure
- 1: Cannot assign requested address (os error 99)
- Location:
- /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
- 36 │ }
- 37 │
- 38 > #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 1: dispatch::socks::handle_connect_v5 with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42236, fd: 12 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42236, fd: 12 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } address=104.18.27.218:443 local_addr=192.168.0.100
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 2: dispatch::socks::handle_handshake_with_version with self=SocksHandshake { reader: ReadHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42236, fd: 12 }) }), writer: WriteHalf(PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42236, fd: 12 }) }), dispatcher: WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } }) } version=V5
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 3: dispatch::server::handle_socket with socket=PollEvented { io: Some(TcpStream { addr: 127.0.0.1:1080, peer: 127.0.0.1:42236, fd: 12 }) } dispatcher=WeightedRoundRobinDispatcher(Mutex { data: WeightedRoundRobinDispatcherInner { ipv4: State { addresses: [WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }], address_idx: 1, count: 0 }, ipv6: State { addresses: [], address_idx: 0, count: 0 } } })
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- ⋮ 5 frames hidden ⋮
- 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
- ⋮ 1 frame hidden ⋮
- 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 43 > _ => eyre::eyre!(err),
- 44 │ })
- 45 │ }
- 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
- 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
- 38 │ #[instrument]
- 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
- 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
- 41 │ // Can't assign requested address
- 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
- 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
- 215 │ local_addr: IpAddr,
- 216 │ ) -> Result<TcpStream> {
- 217 > let server_socket = try_bind_socket(local_addr)?;
- 218 │
- 219 │ let server_stream = server_socket.connect(address).await;
- 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
- 209 │ }
- 210 │
- 211 > #[instrument]
- 212 │ async fn handle_connect_v5(
- 213 │ &mut self,
- 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
- 135 │ .wrap_err_with(dispatch_error)?;
- 136 │
- 137 > self.handle_connect_v5(host, local_addr).await
- 138 │ }
- 139 │ socksv5::SocksVersion::V4 => {
- 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
- 119 │ }
- 120 │
- 121 > #[instrument]
- 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
- 123 │ match version {
- 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
- 87 │ match socksv5::read_version(&mut self.reader).await {
- 88 │ Err(err) => Err(self.handle_version_error(err).await),
- 89 > Ok(version) => self.handle_handshake_with_version(version).await,
- 90 │ }
- 91 │ }
- 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
- 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
- 28 │
- 29 > match handshake.handshake().await {
- 30 │ Err(err) => {
- 31 │ return Err(err.wrap_err(eyre::eyre!(
- 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
- 270 │ let this = self.project();
- 271 │ let _enter = this.span.enter();
- 272 > this.inner.poll(cx)
- 273 │ }
- 274 │ }
- 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
- 17 │ };
- 18 │
- 19 > #[instrument]
- 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
- 21 │ where
- 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
- 134 │ let dispatcher = dispatcher.clone();
- 135 │ tokio::spawn(async move {
- 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
- 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
- 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
- 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
- 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 35: std::panicking::try::do_call::he695cac2794a1847
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 36: std::panicking::try::hdf2455cbcbe82896
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 37: std::panic::catch_unwind::hf1a600052c2a927a
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
- 392 │ let raw = self.task.raw;
- 393 │ mem::forget(self);
- 394 > raw.poll();
- 395 │ }
- 396 │ }
- 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
- 462 │ // Run the task
- 463 │ coop::budget(|| {
- 464 > task.run();
- 465 │
- 466 │ // As long as there is budget remaining and a task exists in the
- 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
- 100 │ // The function is called regardless even if the budget is not successfully
- 101 │ // set due to the thread-local being destroyed.
- 102 > f()
- 103 │ }
- 104 │
- 45: tokio::runtime::coop::budget::hee241dec950efbe9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
- 66 │ #[inline(always)]
- 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
- 68 > with_budget(Budget::initial(), f)
- 69 │ }
- 70 │
- 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
- 461 │
- 462 │ // Run the task
- 463 > coop::budget(|| {
- 464 │ task.run();
- 465 │
- 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
- 424 │ // First, check work available to the current worker.
- 425 │ if let Some(task) = core.next_task(&self.worker) {
- 426 > core = self.run_task(task, core)?;
- 427 │ continue;
- 428 │ }
- 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 406 > assert!(cx.run(core).is_err());
- 407 │
- 408 │ // Check if there are any deferred tasks to notify. This can happen when
- 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
- 59 │ };
- 60 │
- 61 > f()
- 62 │ }
- 63 │
- 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
- 401 │ };
- 402 │
- 403 > CURRENT.set(&cx, || {
- 404 │ // This should always be an error. It only returns a `Result` to support
- 405 │ // using `?` to short circuit.
- 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
- 363 │ pub(crate) fn launch(mut self) {
- 364 │ for worker in self.0.drain(..) {
- 365 > runtime::spawn_blocking(move || run(worker));
- 366 │ }
- 367 │ }
- 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
- 40 │ crate::runtime::coop::stop();
- 41 │
- 42 > Poll::Ready(func())
- 43 │ }
- 44 │ }
- 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
- 221 │
- 222 │ let _guard = TaskIdGuard::enter(self.task_id);
- 223 > future.poll(&mut cx)
- 224 │ })
- 225 │ };
- 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
- 12 │
- 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
- 14 > f(self.0.get())
- 15 │ }
- 16 │ }
- 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
- 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
- 211 │ let res = {
- 212 > self.stage.stage.with_mut(|ptr| {
- 213 │ // Safety: The caller ensures mutual exclusion to the field.
- 214 │ let future = match unsafe { &mut *ptr } {
- 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
- 474 │ }
- 475 │ let guard = Guard { core };
- 476 > let res = guard.core.poll(cx);
- 477 │ mem::forget(guard);
- 478 │ res
- 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
- 58: std::panicking::try::do_call::h13355a7773e90623
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
- 59: std::panicking::try::h83ada4fb567f3238
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
- 60: std::panic::catch_unwind::h9f0aa85cf1251a10
- at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
- 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
- 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
- 463 │ // Poll the future.
- 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
- 465 │ struct Guard<'a, T: Future, S: Schedule> {
- 466 │ core: &'a Core<T, S>,
- 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
- 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
- 197 │ let cx = Context::from_waker(&waker_ref);
- 198 > let res = poll_future(self.core(), cx);
- 199 │
- 200 │ if res == Poll::Ready(()) {
- 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
- 150 │ pub(super) fn poll(self) {
- 151 │ // We pass our ref-count to `poll_inner`.
- 152 > match self.poll_inner() {
- 153 │ PollFuture::Notified => {
- 154 │ // The `poll_inner` call has given us two ref-counts back.
- 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
- 198 │ pub(super) fn poll(self) {
- 199 │ let vtable = self.header().vtable;
- 200 > unsafe { (vtable.poll)(self.ptr) }
- 201 │ }
- 202 │
- 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
- 429 │
- 430 │ // Use the other ref-count to poll the task.
- 431 > raw.poll();
- 432 │ // Decrement our extra ref-count
- 433 │ drop(task);
- 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
- 157 │
- 158 │ fn run(self) {
- 159 > self.task.run();
- 160 │ }
- 161 │
- 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
- 509 │ self.metrics.dec_queue_depth();
- 510 │ drop(shared);
- 511 > task.run();
- 512 │
- 513 │ shared = self.shared.lock();
- 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
- at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
- 467 │ // Only the reference should be moved into the closure
- 468 │ let _enter = rt.enter();
- 469 > rt.inner.blocking_spawner().inner.run(id);
- 470 │ drop(shutdown_tx);
- 471 │ })
- ⋮ 13 frames hidden ⋮
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement