Advertisement
rustydigits

Untitled

Jan 22nd, 2023
18
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 381.31 KB | None | 0 0
  1. Jan 22 14:33:54.131 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
  2. SOCKS proxy started on 127.0.0.1:1080
  3. Dispatching to addresses 192.168.0.100@1,192.168.1.5@1
  4. Jan 22 14:34:02.016 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
  5. Jan 22 14:34:02.081 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(2), interests=READABLE | WRITABLE
  6. Jan 22 14:34:02.085 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(3), interests=READABLE | WRITABLE
  7. Jan 22 14:34:02.107 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(4), interests=READABLE | WRITABLE
  8. Jan 22 14:34:02.111 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(5), interests=READABLE | WRITABLE
  9. Jan 22 14:34:02.160 TRACE handle_socket{socket=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 } } })}:handle_handshake_with_version{self=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}:handle_connect_v5{self=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}: registering event source with poller: token=Token(6), interests=READABLE | WRITABLE
  10. Jan 22 14:34:02.190 TRACE handle_socket{socket=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 } } })}:handle_handshake_with_version{self=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}:handle_connect_v5{self=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}: registering event source with poller: token=Token(7), interests=READABLE | WRITABLE
  11. Jan 22 14:34:02.266 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(8), interests=READABLE | WRITABLE
  12. Jan 22 14:34:02.300 TRACE handle_socket{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 } } })}: deregistering event source from poller
  13. Jan 22 14:34:02.300 TRACE handle_socket{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 } } })}: deregistering event source from poller
  14. Jan 22 14:34:02.300 TRACE handle_socket{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 } } })}: deregistering event source from poller
  15. Jan 22 14:34:02.300  WARN
  16. 0: An error occurred during the proxy handshake procedure
  17. 1: Cannot assign requested address (os error 99)
  18.  
  19. Location:
  20. /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  21.  
  22. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  23.  
  24. 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
  25. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
  26. 36 │ }
  27. 37 │
  28. 38 > #[instrument]
  29. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  30. 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
  31. 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
  32. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  33. 209 │ }
  34. 210 │
  35. 211 > #[instrument]
  36. 212 │ async fn handle_connect_v5(
  37. 213 │ &mut self,
  38. 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
  39. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  40. 119 │ }
  41. 120 │
  42. 121 > #[instrument]
  43. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  44. 123 │ match version {
  45. 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 } } })
  46. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  47. 17 │ };
  48. 18 │
  49. 19 > #[instrument]
  50. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  51. 21 │ where
  52.  
  53. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  54. ⋮ 5 frames hidden ⋮
  55. 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
  56. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  57. ⋮ 1 frame hidden ⋮
  58. 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
  59. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
  60. 41 │ // Can't assign requested address
  61. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  62. 43 > _ => eyre::eyre!(err),
  63. 44 │ })
  64. 45 │ }
  65. 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
  66. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
  67. 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
  68. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
  69. 38 │ #[instrument]
  70. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  71. 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
  72. 41 │ // Can't assign requested address
  73. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  74. 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
  75. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
  76. 215 │ local_addr: IpAddr,
  77. 216 │ ) -> Result<TcpStream> {
  78. 217 > let server_socket = try_bind_socket(local_addr)?;
  79. 218 │
  80. 219 │ let server_stream = server_socket.connect(address).await;
  81. 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
  82. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  83. 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
  84. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  85. 270 │ let this = self.project();
  86. 271 │ let _enter = this.span.enter();
  87. 272 > this.inner.poll(cx)
  88. 273 │ }
  89. 274 │ }
  90. 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
  91. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  92. 209 │ }
  93. 210 │
  94. 211 > #[instrument]
  95. 212 │ async fn handle_connect_v5(
  96. 213 │ &mut self,
  97. 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
  98. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  99. 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
  100. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
  101. 135 │ .wrap_err_with(dispatch_error)?;
  102. 136 │
  103. 137 > self.handle_connect_v5(host, local_addr).await
  104. 138 │ }
  105. 139 │ socksv5::SocksVersion::V4 => {
  106. 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
  107. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  108. 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
  109. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  110. 270 │ let this = self.project();
  111. 271 │ let _enter = this.span.enter();
  112. 272 > this.inner.poll(cx)
  113. 273 │ }
  114. 274 │ }
  115. 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
  116. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  117. 119 │ }
  118. 120 │
  119. 121 > #[instrument]
  120. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  121. 123 │ match version {
  122. 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
  123. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  124. 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
  125. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
  126. 87 │ match socksv5::read_version(&mut self.reader).await {
  127. 88 │ Err(err) => Err(self.handle_version_error(err).await),
  128. 89 > Ok(version) => self.handle_handshake_with_version(version).await,
  129. 90 │ }
  130. 91 │ }
  131. 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
  132. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  133. 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
  134. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
  135. 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
  136. 28 │
  137. 29 > match handshake.handshake().await {
  138. 30 │ Err(err) => {
  139. 31 │ return Err(err.wrap_err(eyre::eyre!(
  140. 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
  141. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  142. 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
  143. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  144. 270 │ let this = self.project();
  145. 271 │ let _enter = this.span.enter();
  146. 272 > this.inner.poll(cx)
  147. 273 │ }
  148. 274 │ }
  149. 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
  150. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  151. 17 │ };
  152. 18 │
  153. 19 > #[instrument]
  154. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  155. 21 │ where
  156. 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
  157. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  158. 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
  159. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
  160. 134 │ let dispatcher = dispatcher.clone();
  161. 135 │ tokio::spawn(async move {
  162. 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
  163. 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
  164. 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
  165. 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
  166. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  167. 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
  168. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  169. 221 │
  170. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  171. 223 > future.poll(&mut cx)
  172. 224 │ })
  173. 225 │ };
  174. 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
  175. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  176. 12 │
  177. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  178. 14 > f(self.0.get())
  179. 15 │ }
  180. 16 │ }
  181. 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
  182. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  183. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  184. 211 │ let res = {
  185. 212 > self.stage.stage.with_mut(|ptr| {
  186. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  187. 214 │ let future = match unsafe { &mut *ptr } {
  188. 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
  189. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  190. 474 │ }
  191. 475 │ let guard = Guard { core };
  192. 476 > let res = guard.core.poll(cx);
  193. 477 │ mem::forget(guard);
  194. 478 │ res
  195. 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
  196. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  197. 35: std::panicking::try::do_call::he695cac2794a1847
  198. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  199. 36: std::panicking::try::hdf2455cbcbe82896
  200. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  201. 37: std::panic::catch_unwind::hf1a600052c2a927a
  202. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  203. 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
  204. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  205. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  206. 463 │ // Poll the future.
  207. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  208. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  209. 466 │ core: &'a Core<T, S>,
  210. 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
  211. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  212. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  213. 197 │ let cx = Context::from_waker(&waker_ref);
  214. 198 > let res = poll_future(self.core(), cx);
  215. 199 │
  216. 200 │ if res == Poll::Ready(()) {
  217. 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
  218. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  219. 150 │ pub(super) fn poll(self) {
  220. 151 │ // We pass our ref-count to `poll_inner`.
  221. 152 > match self.poll_inner() {
  222. 153 │ PollFuture::Notified => {
  223. 154 │ // The `poll_inner` call has given us two ref-counts back.
  224. 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  225. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  226. 198 │ pub(super) fn poll(self) {
  227. 199 │ let vtable = self.header().vtable;
  228. 200 > unsafe { (vtable.poll)(self.ptr) }
  229. 201 │ }
  230. 202 │
  231. 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
  232. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
  233. 392 │ let raw = self.task.raw;
  234. 393 │ mem::forget(self);
  235. 394 > raw.poll();
  236. 395 │ }
  237. 396 │ }
  238. 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
  239. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
  240. 462 │ // Run the task
  241. 463 │ coop::budget(|| {
  242. 464 > task.run();
  243. 465 │
  244. 466 │ // As long as there is budget remaining and a task exists in the
  245. 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
  246. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
  247. 100 │ // The function is called regardless even if the budget is not successfully
  248. 101 │ // set due to the thread-local being destroyed.
  249. 102 > f()
  250. 103 │ }
  251. 104 │
  252. 45: tokio::runtime::coop::budget::hee241dec950efbe9
  253. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
  254. 66 │ #[inline(always)]
  255. 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
  256. 68 > with_budget(Budget::initial(), f)
  257. 69 │ }
  258. 70 │
  259. 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
  260. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
  261. 461 │
  262. 462 │ // Run the task
  263. 463 > coop::budget(|| {
  264. 464 │ task.run();
  265. 465 │
  266. 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
  267. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
  268. 424 │ // First, check work available to the current worker.
  269. 425 │ if let Some(task) = core.next_task(&self.worker) {
  270. 426 > core = self.run_task(task, core)?;
  271. 427 │ continue;
  272. 428 │ }
  273. 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
  274. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
  275. 404 │ // This should always be an error. It only returns a `Result` to support
  276. 405 │ // using `?` to short circuit.
  277. 406 > assert!(cx.run(core).is_err());
  278. 407 │
  279. 408 │ // Check if there are any deferred tasks to notify. This can happen when
  280. 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
  281. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
  282. 59 │ };
  283. 60 │
  284. 61 > f()
  285. 62 │ }
  286. 63 │
  287. 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
  288. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
  289. 401 │ };
  290. 402 │
  291. 403 > CURRENT.set(&cx, || {
  292. 404 │ // This should always be an error. It only returns a `Result` to support
  293. 405 │ // using `?` to short circuit.
  294. 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
  295. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
  296. 363 │ pub(crate) fn launch(mut self) {
  297. 364 │ for worker in self.0.drain(..) {
  298. 365 > runtime::spawn_blocking(move || run(worker));
  299. 366 │ }
  300. 367 │ }
  301. 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
  302. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
  303. 40 │ crate::runtime::coop::stop();
  304. 41 │
  305. 42 > Poll::Ready(func())
  306. 43 │ }
  307. 44 │ }
  308. 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
  309. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  310. 221 │
  311. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  312. 223 > future.poll(&mut cx)
  313. 224 │ })
  314. 225 │ };
  315. 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
  316. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  317. 12 │
  318. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  319. 14 > f(self.0.get())
  320. 15 │ }
  321. 16 │ }
  322. 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
  323. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  324. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  325. 211 │ let res = {
  326. 212 > self.stage.stage.with_mut(|ptr| {
  327. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  328. 214 │ let future = match unsafe { &mut *ptr } {
  329. 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
  330. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  331. 474 │ }
  332. 475 │ let guard = Guard { core };
  333. 476 > let res = guard.core.poll(cx);
  334. 477 │ mem::forget(guard);
  335. 478 │ res
  336. 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
  337. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  338. 58: std::panicking::try::do_call::h13355a7773e90623
  339. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  340. 59: std::panicking::try::h83ada4fb567f3238
  341. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  342. 60: std::panic::catch_unwind::h9f0aa85cf1251a10
  343. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  344. 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
  345. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  346. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  347. 463 │ // Poll the future.
  348. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  349. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  350. 466 │ core: &'a Core<T, S>,
  351. 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
  352. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  353. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  354. 197 │ let cx = Context::from_waker(&waker_ref);
  355. 198 > let res = poll_future(self.core(), cx);
  356. 199 │
  357. 200 │ if res == Poll::Ready(()) {
  358. 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
  359. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  360. 150 │ pub(super) fn poll(self) {
  361. 151 │ // We pass our ref-count to `poll_inner`.
  362. 152 > match self.poll_inner() {
  363. 153 │ PollFuture::Notified => {
  364. 154 │ // The `poll_inner` call has given us two ref-counts back.
  365. 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  366. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  367. 198 │ pub(super) fn poll(self) {
  368. 199 │ let vtable = self.header().vtable;
  369. 200 > unsafe { (vtable.poll)(self.ptr) }
  370. 201 │ }
  371. 202 │
  372. 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
  373. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
  374. 429 │
  375. 430 │ // Use the other ref-count to poll the task.
  376. 431 > raw.poll();
  377. 432 │ // Decrement our extra ref-count
  378. 433 │ drop(task);
  379. 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
  380. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
  381. 157 │
  382. 158 │ fn run(self) {
  383. 159 > self.task.run();
  384. 160 │ }
  385. 161 │
  386. 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
  387. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
  388. 509 │ self.metrics.dec_queue_depth();
  389. 510 │ drop(shared);
  390. 511 > task.run();
  391. 512 │
  392. 513 │ shared = self.shared.lock();
  393. 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
  394. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
  395. 467 │ // Only the reference should be moved into the closure
  396. 468 │ let _enter = rt.enter();
  397. 469 > rt.inner.blocking_spawner().inner.run(id);
  398. 470 │ drop(shutdown_tx);
  399. 471 │ })
  400. ⋮ 13 frames hidden ⋮
  401.  
  402. 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
  403. Jan 22 14:34:02.300  WARN
  404. 0: An error occurred during the proxy handshake procedure
  405. 1: Cannot assign requested address (os error 99)
  406.  
  407. Location:
  408. /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  409.  
  410. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  411.  
  412. 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
  413. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
  414. 36 │ }
  415. 37 │
  416. 38 > #[instrument]
  417. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  418. 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
  419. 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
  420. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  421. 209 │ }
  422. 210 │
  423. 211 > #[instrument]
  424. 212 │ async fn handle_connect_v5(
  425. 213 │ &mut self,
  426. 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
  427. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  428. 119 │ }
  429. 120 │
  430. 121 > #[instrument]
  431. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  432. 123 │ match version {
  433. 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 } } })
  434. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  435. 17 │ };
  436. 18 │
  437. 19 > #[instrument]
  438. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  439. 21 │ where
  440.  
  441. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  442. ⋮ 5 frames hidden ⋮
  443. 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
  444. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  445. ⋮ 1 frame hidden ⋮
  446. 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
  447. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
  448. 41 │ // Can't assign requested address
  449. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  450. 43 > _ => eyre::eyre!(err),
  451. 44 │ })
  452. 45 │ }
  453. 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
  454. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
  455. 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
  456. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
  457. 38 │ #[instrument]
  458. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  459. 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
  460. 41 │ // Can't assign requested address
  461. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  462. 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
  463. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
  464. 215 │ local_addr: IpAddr,
  465. 216 │ ) -> Result<TcpStream> {
  466. 217 > let server_socket = try_bind_socket(local_addr)?;
  467. 218 │
  468. 219 │ let server_stream = server_socket.connect(address).await;
  469. 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
  470. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  471. 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
  472. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  473. 270 │ let this = self.project();
  474. 271 │ let _enter = this.span.enter();
  475. 272 > this.inner.poll(cx)
  476. 273 │ }
  477. 274 │ }
  478. 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
  479. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  480. 209 │ }
  481. 210 │
  482. 211 > #[instrument]
  483. 212 │ async fn handle_connect_v5(
  484. 213 │ &mut self,
  485. 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
  486. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  487. 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
  488. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
  489. 135 │ .wrap_err_with(dispatch_error)?;
  490. 136 │
  491. 137 > self.handle_connect_v5(host, local_addr).await
  492. 138 │ }
  493. 139 │ socksv5::SocksVersion::V4 => {
  494. 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
  495. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  496. 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
  497. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  498. 270 │ let this = self.project();
  499. 271 │ let _enter = this.span.enter();
  500. 272 > this.inner.poll(cx)
  501. 273 │ }
  502. 274 │ }
  503. 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
  504. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  505. 119 │ }
  506. 120 │
  507. 121 > #[instrument]
  508. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  509. 123 │ match version {
  510. 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
  511. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  512. 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
  513. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
  514. 87 │ match socksv5::read_version(&mut self.reader).await {
  515. 88 │ Err(err) => Err(self.handle_version_error(err).await),
  516. 89 > Ok(version) => self.handle_handshake_with_version(version).await,
  517. 90 │ }
  518. 91 │ }
  519. 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
  520. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  521. 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
  522. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
  523. 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
  524. 28 │
  525. 29 > match handshake.handshake().await {
  526. 30 │ Err(err) => {
  527. 31 │ return Err(err.wrap_err(eyre::eyre!(
  528. 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
  529. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  530. 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
  531. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  532. 270 │ let this = self.project();
  533. 271 │ let _enter = this.span.enter();
  534. 272 > this.inner.poll(cx)
  535. 273 │ }
  536. 274 │ }
  537. 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
  538. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  539. 17 │ };
  540. 18 │
  541. 19 > #[instrument]
  542. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  543. 21 │ where
  544. 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
  545. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  546. 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
  547. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
  548. 134 │ let dispatcher = dispatcher.clone();
  549. 135 │ tokio::spawn(async move {
  550. 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
  551. 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
  552. 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
  553. 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
  554. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  555. 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
  556. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  557. 221 │
  558. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  559. 223 > future.poll(&mut cx)
  560. 224 │ })
  561. 225 │ };
  562. 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
  563. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  564. 12 │
  565. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  566. 14 > f(self.0.get())
  567. 15 │ }
  568. 16 │ }
  569. 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
  570. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  571. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  572. 211 │ let res = {
  573. 212 > self.stage.stage.with_mut(|ptr| {
  574. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  575. 214 │ let future = match unsafe { &mut *ptr } {
  576. 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
  577. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  578. 474 │ }
  579. 475 │ let guard = Guard { core };
  580. 476 > let res = guard.core.poll(cx);
  581. 477 │ mem::forget(guard);
  582. 478 │ res
  583. 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
  584. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  585. 35: std::panicking::try::do_call::he695cac2794a1847
  586. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  587. 36: std::panicking::try::hdf2455cbcbe82896
  588. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  589. 37: std::panic::catch_unwind::hf1a600052c2a927a
  590. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  591. 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
  592. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  593. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  594. 463 │ // Poll the future.
  595. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  596. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  597. 466 │ core: &'a Core<T, S>,
  598. 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
  599. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  600. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  601. 197 │ let cx = Context::from_waker(&waker_ref);
  602. 198 > let res = poll_future(self.core(), cx);
  603. 199 │
  604. 200 │ if res == Poll::Ready(()) {
  605. 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
  606. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  607. 150 │ pub(super) fn poll(self) {
  608. 151 │ // We pass our ref-count to `poll_inner`.
  609. 152 > match self.poll_inner() {
  610. 153 │ PollFuture::Notified => {
  611. 154 │ // The `poll_inner` call has given us two ref-counts back.
  612. 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  613. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  614. 198 │ pub(super) fn poll(self) {
  615. 199 │ let vtable = self.header().vtable;
  616. 200 > unsafe { (vtable.poll)(self.ptr) }
  617. 201 │ }
  618. 202 │
  619. 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
  620. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
  621. 392 │ let raw = self.task.raw;
  622. 393 │ mem::forget(self);
  623. 394 > raw.poll();
  624. 395 │ }
  625. 396 │ }
  626. 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
  627. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
  628. 462 │ // Run the task
  629. 463 │ coop::budget(|| {
  630. 464 > task.run();
  631. 465 │
  632. 466 │ // As long as there is budget remaining and a task exists in the
  633. 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
  634. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
  635. 100 │ // The function is called regardless even if the budget is not successfully
  636. 101 │ // set due to the thread-local being destroyed.
  637. 102 > f()
  638. 103 │ }
  639. 104 │
  640. 45: tokio::runtime::coop::budget::hee241dec950efbe9
  641. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
  642. 66 │ #[inline(always)]
  643. 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
  644. 68 > with_budget(Budget::initial(), f)
  645. 69 │ }
  646. 70 │
  647. 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
  648. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
  649. 461 │
  650. 462 │ // Run the task
  651. 463 > coop::budget(|| {
  652. 464 │ task.run();
  653. 465 │
  654. 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
  655. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
  656. 424 │ // First, check work available to the current worker.
  657. 425 │ if let Some(task) = core.next_task(&self.worker) {
  658. 426 > core = self.run_task(task, core)?;
  659. 427 │ continue;
  660. 428 │ }
  661. 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
  662. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
  663. 404 │ // This should always be an error. It only returns a `Result` to support
  664. 405 │ // using `?` to short circuit.
  665. 406 > assert!(cx.run(core).is_err());
  666. 407 │
  667. 408 │ // Check if there are any deferred tasks to notify. This can happen when
  668. 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
  669. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
  670. 59 │ };
  671. 60 │
  672. 61 > f()
  673. 62 │ }
  674. 63 │
  675. 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
  676. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
  677. 401 │ };
  678. 402 │
  679. 403 > CURRENT.set(&cx, || {
  680. 404 │ // This should always be an error. It only returns a `Result` to support
  681. 405 │ // using `?` to short circuit.
  682. 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
  683. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
  684. 363 │ pub(crate) fn launch(mut self) {
  685. 364 │ for worker in self.0.drain(..) {
  686. 365 > runtime::spawn_blocking(move || run(worker));
  687. 366 │ }
  688. 367 │ }
  689. 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
  690. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
  691. 40 │ crate::runtime::coop::stop();
  692. 41 │
  693. 42 > Poll::Ready(func())
  694. 43 │ }
  695. 44 │ }
  696. 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
  697. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  698. 221 │
  699. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  700. 223 > future.poll(&mut cx)
  701. 224 │ })
  702. 225 │ };
  703. 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
  704. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  705. 12 │
  706. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  707. 14 > f(self.0.get())
  708. 15 │ }
  709. 16 │ }
  710. 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
  711. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  712. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  713. 211 │ let res = {
  714. 212 > self.stage.stage.with_mut(|ptr| {
  715. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  716. 214 │ let future = match unsafe { &mut *ptr } {
  717. 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
  718. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  719. 474 │ }
  720. 475 │ let guard = Guard { core };
  721. 476 > let res = guard.core.poll(cx);
  722. 477 │ mem::forget(guard);
  723. 478 │ res
  724. 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
  725. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  726. 58: std::panicking::try::do_call::h13355a7773e90623
  727. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  728. 59: std::panicking::try::h83ada4fb567f3238
  729. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  730. 60: std::panic::catch_unwind::h9f0aa85cf1251a10
  731. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  732. 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
  733. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  734. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  735. 463 │ // Poll the future.
  736. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  737. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  738. 466 │ core: &'a Core<T, S>,
  739. 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
  740. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  741. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  742. 197 │ let cx = Context::from_waker(&waker_ref);
  743. 198 > let res = poll_future(self.core(), cx);
  744. 199 │
  745. 200 │ if res == Poll::Ready(()) {
  746. 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
  747. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  748. 150 │ pub(super) fn poll(self) {
  749. 151 │ // We pass our ref-count to `poll_inner`.
  750. 152 > match self.poll_inner() {
  751. 153 │ PollFuture::Notified => {
  752. 154 │ // The `poll_inner` call has given us two ref-counts back.
  753. 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  754. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  755. 198 │ pub(super) fn poll(self) {
  756. 199 │ let vtable = self.header().vtable;
  757. 200 > unsafe { (vtable.poll)(self.ptr) }
  758. 201 │ }
  759. 202 │
  760. 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
  761. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
  762. 429 │
  763. 430 │ // Use the other ref-count to poll the task.
  764. 431 > raw.poll();
  765. 432 │ // Decrement our extra ref-count
  766. 433 │ drop(task);
  767. 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
  768. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
  769. 157 │
  770. 158 │ fn run(self) {
  771. 159 > self.task.run();
  772. 160 │ }
  773. 161 │
  774. 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
  775. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
  776. 509 │ self.metrics.dec_queue_depth();
  777. 510 │ drop(shared);
  778. 511 > task.run();
  779. 512 │
  780. 513 │ shared = self.shared.lock();
  781. 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
  782. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
  783. 467 │ // Only the reference should be moved into the closure
  784. 468 │ let _enter = rt.enter();
  785. 469 > rt.inner.blocking_spawner().inner.run(id);
  786. 470 │ drop(shutdown_tx);
  787. 471 │ })
  788. ⋮ 13 frames hidden ⋮
  789.  
  790. 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
  791. Jan 22 14:34:02.300  WARN
  792. 0: An error occurred during the proxy handshake procedure
  793. 1: Cannot assign requested address (os error 99)
  794.  
  795. Location:
  796. /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  797.  
  798. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  799.  
  800. 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
  801. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
  802. 36 │ }
  803. 37 │
  804. 38 > #[instrument]
  805. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  806. 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
  807. 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
  808. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  809. 209 │ }
  810. 210 │
  811. 211 > #[instrument]
  812. 212 │ async fn handle_connect_v5(
  813. 213 │ &mut self,
  814. 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
  815. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  816. 119 │ }
  817. 120 │
  818. 121 > #[instrument]
  819. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  820. 123 │ match version {
  821. 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 } } })
  822. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  823. 17 │ };
  824. 18 │
  825. 19 > #[instrument]
  826. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  827. 21 │ where
  828.  
  829. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  830. ⋮ 5 frames hidden ⋮
  831. 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
  832. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  833. ⋮ 1 frame hidden ⋮
  834. 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
  835. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
  836. 41 │ // Can't assign requested address
  837. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  838. 43 > _ => eyre::eyre!(err),
  839. 44 │ })
  840. 45 │ }
  841. 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
  842. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
  843. 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
  844. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
  845. 38 │ #[instrument]
  846. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  847. 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
  848. 41 │ // Can't assign requested address
  849. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  850. 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
  851. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
  852. 215 │ local_addr: IpAddr,
  853. 216 │ ) -> Result<TcpStream> {
  854. 217 > let server_socket = try_bind_socket(local_addr)?;
  855. 218 │
  856. 219 │ let server_stream = server_socket.connect(address).await;
  857. 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
  858. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  859. 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
  860. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  861. 270 │ let this = self.project();
  862. 271 │ let _enter = this.span.enter();
  863. 272 > this.inner.poll(cx)
  864. 273 │ }
  865. 274 │ }
  866. 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
  867. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  868. 209 │ }
  869. 210 │
  870. 211 > #[instrument]
  871. 212 │ async fn handle_connect_v5(
  872. 213 │ &mut self,
  873. 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
  874. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  875. 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
  876. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
  877. 135 │ .wrap_err_with(dispatch_error)?;
  878. 136 │
  879. 137 > self.handle_connect_v5(host, local_addr).await
  880. 138 │ }
  881. 139 │ socksv5::SocksVersion::V4 => {
  882. 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
  883. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  884. 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
  885. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  886. 270 │ let this = self.project();
  887. 271 │ let _enter = this.span.enter();
  888. 272 > this.inner.poll(cx)
  889. 273 │ }
  890. 274 │ }
  891. 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
  892. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  893. 119 │ }
  894. 120 │
  895. 121 > #[instrument]
  896. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  897. 123 │ match version {
  898. 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
  899. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  900. 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
  901. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
  902. 87 │ match socksv5::read_version(&mut self.reader).await {
  903. 88 │ Err(err) => Err(self.handle_version_error(err).await),
  904. 89 > Ok(version) => self.handle_handshake_with_version(version).await,
  905. 90 │ }
  906. 91 │ }
  907. 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
  908. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  909. 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
  910. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
  911. 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
  912. 28 │
  913. 29 > match handshake.handshake().await {
  914. 30 │ Err(err) => {
  915. 31 │ return Err(err.wrap_err(eyre::eyre!(
  916. 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
  917. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  918. 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
  919. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  920. 270 │ let this = self.project();
  921. 271 │ let _enter = this.span.enter();
  922. 272 > this.inner.poll(cx)
  923. 273 │ }
  924. 274 │ }
  925. 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
  926. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  927. 17 │ };
  928. 18 │
  929. 19 > #[instrument]
  930. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  931. 21 │ where
  932. 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
  933. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  934. 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
  935. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
  936. 134 │ let dispatcher = dispatcher.clone();
  937. 135 │ tokio::spawn(async move {
  938. 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
  939. 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
  940. 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
  941. 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
  942. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  943. 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
  944. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  945. 221 │
  946. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  947. 223 > future.poll(&mut cx)
  948. 224 │ })
  949. 225 │ };
  950. 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
  951. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  952. 12 │
  953. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  954. 14 > f(self.0.get())
  955. 15 │ }
  956. 16 │ }
  957. 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
  958. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  959. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  960. 211 │ let res = {
  961. 212 > self.stage.stage.with_mut(|ptr| {
  962. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  963. 214 │ let future = match unsafe { &mut *ptr } {
  964. 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
  965. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  966. 474 │ }
  967. 475 │ let guard = Guard { core };
  968. 476 > let res = guard.core.poll(cx);
  969. 477 │ mem::forget(guard);
  970. 478 │ res
  971. 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
  972. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  973. 35: std::panicking::try::do_call::he695cac2794a1847
  974. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  975. 36: std::panicking::try::hdf2455cbcbe82896
  976. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  977. 37: std::panic::catch_unwind::hf1a600052c2a927a
  978. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  979. 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
  980. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  981. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  982. 463 │ // Poll the future.
  983. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  984. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  985. 466 │ core: &'a Core<T, S>,
  986. 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
  987. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  988. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  989. 197 │ let cx = Context::from_waker(&waker_ref);
  990. 198 > let res = poll_future(self.core(), cx);
  991. 199 │
  992. 200 │ if res == Poll::Ready(()) {
  993. 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
  994. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  995. 150 │ pub(super) fn poll(self) {
  996. 151 │ // We pass our ref-count to `poll_inner`.
  997. 152 > match self.poll_inner() {
  998. 153 │ PollFuture::Notified => {
  999. 154 │ // The `poll_inner` call has given us two ref-counts back.
  1000. 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  1001. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  1002. 198 │ pub(super) fn poll(self) {
  1003. 199 │ let vtable = self.header().vtable;
  1004. 200 > unsafe { (vtable.poll)(self.ptr) }
  1005. 201 │ }
  1006. 202 │
  1007. 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
  1008. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
  1009. 392 │ let raw = self.task.raw;
  1010. 393 │ mem::forget(self);
  1011. 394 > raw.poll();
  1012. 395 │ }
  1013. 396 │ }
  1014. 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
  1015. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
  1016. 462 │ // Run the task
  1017. 463 │ coop::budget(|| {
  1018. 464 > task.run();
  1019. 465 │
  1020. 466 │ // As long as there is budget remaining and a task exists in the
  1021. 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
  1022. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
  1023. 100 │ // The function is called regardless even if the budget is not successfully
  1024. 101 │ // set due to the thread-local being destroyed.
  1025. 102 > f()
  1026. 103 │ }
  1027. 104 │
  1028. 45: tokio::runtime::coop::budget::hee241dec950efbe9
  1029. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
  1030. 66 │ #[inline(always)]
  1031. 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
  1032. 68 > with_budget(Budget::initial(), f)
  1033. 69 │ }
  1034. 70 │
  1035. 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
  1036. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
  1037. 461 │
  1038. 462 │ // Run the task
  1039. 463 > coop::budget(|| {
  1040. 464 │ task.run();
  1041. 465 │
  1042. 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
  1043. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
  1044. 424 │ // First, check work available to the current worker.
  1045. 425 │ if let Some(task) = core.next_task(&self.worker) {
  1046. 426 > core = self.run_task(task, core)?;
  1047. 427 │ continue;
  1048. 428 │ }
  1049. 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
  1050. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
  1051. 404 │ // This should always be an error. It only returns a `Result` to support
  1052. 405 │ // using `?` to short circuit.
  1053. 406 > assert!(cx.run(core).is_err());
  1054. 407 │
  1055. 408 │ // Check if there are any deferred tasks to notify. This can happen when
  1056. 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
  1057. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
  1058. 59 │ };
  1059. 60 │
  1060. 61 > f()
  1061. 62 │ }
  1062. 63 │
  1063. 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
  1064. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
  1065. 401 │ };
  1066. 402 │
  1067. 403 > CURRENT.set(&cx, || {
  1068. 404 │ // This should always be an error. It only returns a `Result` to support
  1069. 405 │ // using `?` to short circuit.
  1070. 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
  1071. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
  1072. 363 │ pub(crate) fn launch(mut self) {
  1073. 364 │ for worker in self.0.drain(..) {
  1074. 365 > runtime::spawn_blocking(move || run(worker));
  1075. 366 │ }
  1076. 367 │ }
  1077. 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
  1078. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
  1079. 40 │ crate::runtime::coop::stop();
  1080. 41 │
  1081. 42 > Poll::Ready(func())
  1082. 43 │ }
  1083. 44 │ }
  1084. 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
  1085. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  1086. 221 │
  1087. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  1088. 223 > future.poll(&mut cx)
  1089. 224 │ })
  1090. 225 │ };
  1091. 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
  1092. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  1093. 12 │
  1094. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  1095. 14 > f(self.0.get())
  1096. 15 │ }
  1097. 16 │ }
  1098. 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
  1099. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  1100. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  1101. 211 │ let res = {
  1102. 212 > self.stage.stage.with_mut(|ptr| {
  1103. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  1104. 214 │ let future = match unsafe { &mut *ptr } {
  1105. 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
  1106. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  1107. 474 │ }
  1108. 475 │ let guard = Guard { core };
  1109. 476 > let res = guard.core.poll(cx);
  1110. 477 │ mem::forget(guard);
  1111. 478 │ res
  1112. 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
  1113. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  1114. 58: std::panicking::try::do_call::h13355a7773e90623
  1115. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  1116. 59: std::panicking::try::h83ada4fb567f3238
  1117. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  1118. 60: std::panic::catch_unwind::h9f0aa85cf1251a10
  1119. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  1120. 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
  1121. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  1122. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  1123. 463 │ // Poll the future.
  1124. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  1125. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  1126. 466 │ core: &'a Core<T, S>,
  1127. 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
  1128. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  1129. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  1130. 197 │ let cx = Context::from_waker(&waker_ref);
  1131. 198 > let res = poll_future(self.core(), cx);
  1132. 199 │
  1133. 200 │ if res == Poll::Ready(()) {
  1134. 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
  1135. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  1136. 150 │ pub(super) fn poll(self) {
  1137. 151 │ // We pass our ref-count to `poll_inner`.
  1138. 152 > match self.poll_inner() {
  1139. 153 │ PollFuture::Notified => {
  1140. 154 │ // The `poll_inner` call has given us two ref-counts back.
  1141. 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  1142. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  1143. 198 │ pub(super) fn poll(self) {
  1144. 199 │ let vtable = self.header().vtable;
  1145. 200 > unsafe { (vtable.poll)(self.ptr) }
  1146. 201 │ }
  1147. 202 │
  1148. 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
  1149. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
  1150. 429 │
  1151. 430 │ // Use the other ref-count to poll the task.
  1152. 431 > raw.poll();
  1153. 432 │ // Decrement our extra ref-count
  1154. 433 │ drop(task);
  1155. 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
  1156. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
  1157. 157 │
  1158. 158 │ fn run(self) {
  1159. 159 > self.task.run();
  1160. 160 │ }
  1161. 161 │
  1162. 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
  1163. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
  1164. 509 │ self.metrics.dec_queue_depth();
  1165. 510 │ drop(shared);
  1166. 511 > task.run();
  1167. 512 │
  1168. 513 │ shared = self.shared.lock();
  1169. 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
  1170. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
  1171. 467 │ // Only the reference should be moved into the closure
  1172. 468 │ let _enter = rt.enter();
  1173. 469 > rt.inner.blocking_spawner().inner.run(id);
  1174. 470 │ drop(shutdown_tx);
  1175. 471 │ })
  1176. ⋮ 13 frames hidden ⋮
  1177.  
  1178. 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
  1179. Jan 22 14:34:02.342 TRACE handle_socket{socket=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 } } })}:handle_handshake_with_version{self=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}:handle_connect_v5{self=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}: registering event source with poller: token=Token(16777219), interests=READABLE | WRITABLE
  1180. Jan 22 14:34:02.357 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(16777218), interests=READABLE | WRITABLE
  1181. Jan 22 14:34:02.361 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(16777217), interests=READABLE | WRITABLE
  1182. Jan 22 14:34:02.396  INFO handle_socket{socket=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 } } })}: connection initiated between 127.0.0.1:60470 and 52.88.75.10:443
  1183. Jan 22 14:34:02.429  INFO handle_socket{socket=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 } } })}: connection initiated between 127.0.0.1:60476 and 54.187.174.239:443
  1184. Jan 22 14:34:02.433 TRACE handle_socket{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 } } })}: deregistering event source from poller
  1185. Jan 22 14:34:02.433  WARN
  1186. 0: An error occurred during the proxy handshake procedure
  1187. 1: Cannot assign requested address (os error 99)
  1188.  
  1189. Location:
  1190. /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  1191.  
  1192. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  1193.  
  1194. 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
  1195. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
  1196. 36 │ }
  1197. 37 │
  1198. 38 > #[instrument]
  1199. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  1200. 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
  1201. 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
  1202. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  1203. 209 │ }
  1204. 210 │
  1205. 211 > #[instrument]
  1206. 212 │ async fn handle_connect_v5(
  1207. 213 │ &mut self,
  1208. 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
  1209. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  1210. 119 │ }
  1211. 120 │
  1212. 121 > #[instrument]
  1213. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  1214. 123 │ match version {
  1215. 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 } } })
  1216. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  1217. 17 │ };
  1218. 18 │
  1219. 19 > #[instrument]
  1220. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  1221. 21 │ where
  1222.  
  1223. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  1224. ⋮ 5 frames hidden ⋮
  1225. 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
  1226. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  1227. ⋮ 1 frame hidden ⋮
  1228. 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
  1229. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
  1230. 41 │ // Can't assign requested address
  1231. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  1232. 43 > _ => eyre::eyre!(err),
  1233. 44 │ })
  1234. 45 │ }
  1235. 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
  1236. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
  1237. 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
  1238. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
  1239. 38 │ #[instrument]
  1240. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  1241. 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
  1242. 41 │ // Can't assign requested address
  1243. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  1244. 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
  1245. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
  1246. 215 │ local_addr: IpAddr,
  1247. 216 │ ) -> Result<TcpStream> {
  1248. 217 > let server_socket = try_bind_socket(local_addr)?;
  1249. 218 │
  1250. 219 │ let server_stream = server_socket.connect(address).await;
  1251. 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
  1252. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1253. 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
  1254. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  1255. 270 │ let this = self.project();
  1256. 271 │ let _enter = this.span.enter();
  1257. 272 > this.inner.poll(cx)
  1258. 273 │ }
  1259. 274 │ }
  1260. 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
  1261. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  1262. 209 │ }
  1263. 210 │
  1264. 211 > #[instrument]
  1265. 212 │ async fn handle_connect_v5(
  1266. 213 │ &mut self,
  1267. 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
  1268. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1269. 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
  1270. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
  1271. 135 │ .wrap_err_with(dispatch_error)?;
  1272. 136 │
  1273. 137 > self.handle_connect_v5(host, local_addr).await
  1274. 138 │ }
  1275. 139 │ socksv5::SocksVersion::V4 => {
  1276. 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
  1277. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1278. 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
  1279. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  1280. 270 │ let this = self.project();
  1281. 271 │ let _enter = this.span.enter();
  1282. 272 > this.inner.poll(cx)
  1283. 273 │ }
  1284. 274 │ }
  1285. 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
  1286. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  1287. 119 │ }
  1288. 120 │
  1289. 121 > #[instrument]
  1290. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  1291. 123 │ match version {
  1292. 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
  1293. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1294. 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
  1295. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
  1296. 87 │ match socksv5::read_version(&mut self.reader).await {
  1297. 88 │ Err(err) => Err(self.handle_version_error(err).await),
  1298. 89 > Ok(version) => self.handle_handshake_with_version(version).await,
  1299. 90 │ }
  1300. 91 │ }
  1301. 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
  1302. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1303. 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
  1304. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
  1305. 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
  1306. 28 │
  1307. 29 > match handshake.handshake().await {
  1308. 30 │ Err(err) => {
  1309. 31 │ return Err(err.wrap_err(eyre::eyre!(
  1310. 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
  1311. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1312. 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
  1313. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  1314. 270 │ let this = self.project();
  1315. 271 │ let _enter = this.span.enter();
  1316. 272 > this.inner.poll(cx)
  1317. 273 │ }
  1318. 274 │ }
  1319. 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
  1320. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  1321. 17 │ };
  1322. 18 │
  1323. 19 > #[instrument]
  1324. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  1325. 21 │ where
  1326. 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
  1327. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1328. 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
  1329. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
  1330. 134 │ let dispatcher = dispatcher.clone();
  1331. 135 │ tokio::spawn(async move {
  1332. 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
  1333. 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
  1334. 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
  1335. 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
  1336. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1337. 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
  1338. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  1339. 221 │
  1340. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  1341. 223 > future.poll(&mut cx)
  1342. 224 │ })
  1343. 225 │ };
  1344. 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
  1345. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  1346. 12 │
  1347. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  1348. 14 > f(self.0.get())
  1349. 15 │ }
  1350. 16 │ }
  1351. 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
  1352. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  1353. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  1354. 211 │ let res = {
  1355. 212 > self.stage.stage.with_mut(|ptr| {
  1356. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  1357. 214 │ let future = match unsafe { &mut *ptr } {
  1358. 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
  1359. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  1360. 474 │ }
  1361. 475 │ let guard = Guard { core };
  1362. 476 > let res = guard.core.poll(cx);
  1363. 477 │ mem::forget(guard);
  1364. 478 │ res
  1365. 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
  1366. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  1367. 35: std::panicking::try::do_call::he695cac2794a1847
  1368. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  1369. 36: std::panicking::try::hdf2455cbcbe82896
  1370. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  1371. 37: std::panic::catch_unwind::hf1a600052c2a927a
  1372. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  1373. 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
  1374. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  1375. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  1376. 463 │ // Poll the future.
  1377. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  1378. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  1379. 466 │ core: &'a Core<T, S>,
  1380. 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
  1381. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  1382. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  1383. 197 │ let cx = Context::from_waker(&waker_ref);
  1384. 198 > let res = poll_future(self.core(), cx);
  1385. 199 │
  1386. 200 │ if res == Poll::Ready(()) {
  1387. 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
  1388. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  1389. 150 │ pub(super) fn poll(self) {
  1390. 151 │ // We pass our ref-count to `poll_inner`.
  1391. 152 > match self.poll_inner() {
  1392. 153 │ PollFuture::Notified => {
  1393. 154 │ // The `poll_inner` call has given us two ref-counts back.
  1394. 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  1395. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  1396. 198 │ pub(super) fn poll(self) {
  1397. 199 │ let vtable = self.header().vtable;
  1398. 200 > unsafe { (vtable.poll)(self.ptr) }
  1399. 201 │ }
  1400. 202 │
  1401. 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
  1402. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
  1403. 392 │ let raw = self.task.raw;
  1404. 393 │ mem::forget(self);
  1405. 394 > raw.poll();
  1406. 395 │ }
  1407. 396 │ }
  1408. 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
  1409. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
  1410. 462 │ // Run the task
  1411. 463 │ coop::budget(|| {
  1412. 464 > task.run();
  1413. 465 │
  1414. 466 │ // As long as there is budget remaining and a task exists in the
  1415. 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
  1416. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
  1417. 100 │ // The function is called regardless even if the budget is not successfully
  1418. 101 │ // set due to the thread-local being destroyed.
  1419. 102 > f()
  1420. 103 │ }
  1421. 104 │
  1422. 45: tokio::runtime::coop::budget::hee241dec950efbe9
  1423. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
  1424. 66 │ #[inline(always)]
  1425. 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
  1426. 68 > with_budget(Budget::initial(), f)
  1427. 69 │ }
  1428. 70 │
  1429. 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
  1430. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
  1431. 461 │
  1432. 462 │ // Run the task
  1433. 463 > coop::budget(|| {
  1434. 464 │ task.run();
  1435. 465 │
  1436. 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
  1437. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
  1438. 424 │ // First, check work available to the current worker.
  1439. 425 │ if let Some(task) = core.next_task(&self.worker) {
  1440. 426 > core = self.run_task(task, core)?;
  1441. 427 │ continue;
  1442. 428 │ }
  1443. 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
  1444. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
  1445. 404 │ // This should always be an error. It only returns a `Result` to support
  1446. 405 │ // using `?` to short circuit.
  1447. 406 > assert!(cx.run(core).is_err());
  1448. 407 │
  1449. 408 │ // Check if there are any deferred tasks to notify. This can happen when
  1450. 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
  1451. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
  1452. 59 │ };
  1453. 60 │
  1454. 61 > f()
  1455. 62 │ }
  1456. 63 │
  1457. 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
  1458. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
  1459. 401 │ };
  1460. 402 │
  1461. 403 > CURRENT.set(&cx, || {
  1462. 404 │ // This should always be an error. It only returns a `Result` to support
  1463. 405 │ // using `?` to short circuit.
  1464. 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
  1465. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
  1466. 363 │ pub(crate) fn launch(mut self) {
  1467. 364 │ for worker in self.0.drain(..) {
  1468. 365 > runtime::spawn_blocking(move || run(worker));
  1469. 366 │ }
  1470. 367 │ }
  1471. 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
  1472. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
  1473. 40 │ crate::runtime::coop::stop();
  1474. 41 │
  1475. 42 > Poll::Ready(func())
  1476. 43 │ }
  1477. 44 │ }
  1478. 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
  1479. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  1480. 221 │
  1481. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  1482. 223 > future.poll(&mut cx)
  1483. 224 │ })
  1484. 225 │ };
  1485. 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
  1486. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  1487. 12 │
  1488. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  1489. 14 > f(self.0.get())
  1490. 15 │ }
  1491. 16 │ }
  1492. 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
  1493. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  1494. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  1495. 211 │ let res = {
  1496. 212 > self.stage.stage.with_mut(|ptr| {
  1497. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  1498. 214 │ let future = match unsafe { &mut *ptr } {
  1499. 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
  1500. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  1501. 474 │ }
  1502. 475 │ let guard = Guard { core };
  1503. 476 > let res = guard.core.poll(cx);
  1504. 477 │ mem::forget(guard);
  1505. 478 │ res
  1506. 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
  1507. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  1508. 58: std::panicking::try::do_call::h13355a7773e90623
  1509. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  1510. 59: std::panicking::try::h83ada4fb567f3238
  1511. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  1512. 60: std::panic::catch_unwind::h9f0aa85cf1251a10
  1513. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  1514. 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
  1515. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  1516. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  1517. 463 │ // Poll the future.
  1518. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  1519. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  1520. 466 │ core: &'a Core<T, S>,
  1521. 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
  1522. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  1523. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  1524. 197 │ let cx = Context::from_waker(&waker_ref);
  1525. 198 > let res = poll_future(self.core(), cx);
  1526. 199 │
  1527. 200 │ if res == Poll::Ready(()) {
  1528. 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
  1529. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  1530. 150 │ pub(super) fn poll(self) {
  1531. 151 │ // We pass our ref-count to `poll_inner`.
  1532. 152 > match self.poll_inner() {
  1533. 153 │ PollFuture::Notified => {
  1534. 154 │ // The `poll_inner` call has given us two ref-counts back.
  1535. 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  1536. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  1537. 198 │ pub(super) fn poll(self) {
  1538. 199 │ let vtable = self.header().vtable;
  1539. 200 > unsafe { (vtable.poll)(self.ptr) }
  1540. 201 │ }
  1541. 202 │
  1542. 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
  1543. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
  1544. 429 │
  1545. 430 │ // Use the other ref-count to poll the task.
  1546. 431 > raw.poll();
  1547. 432 │ // Decrement our extra ref-count
  1548. 433 │ drop(task);
  1549. 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
  1550. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
  1551. 157 │
  1552. 158 │ fn run(self) {
  1553. 159 > self.task.run();
  1554. 160 │ }
  1555. 161 │
  1556. 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
  1557. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
  1558. 509 │ self.metrics.dec_queue_depth();
  1559. 510 │ drop(shared);
  1560. 511 > task.run();
  1561. 512 │
  1562. 513 │ shared = self.shared.lock();
  1563. 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
  1564. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
  1565. 467 │ // Only the reference should be moved into the closure
  1566. 468 │ let _enter = rt.enter();
  1567. 469 > rt.inner.blocking_spawner().inner.run(id);
  1568. 470 │ drop(shutdown_tx);
  1569. 471 │ })
  1570. ⋮ 13 frames hidden ⋮
  1571.  
  1572. 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
  1573. Jan 22 14:34:02.436 TRACE handle_socket{socket=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 } } })}:handle_handshake_with_version{self=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}:handle_connect_v5{self=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}: registering event source with poller: token=Token(33554434), interests=READABLE | WRITABLE
  1574. Jan 22 14:34:02.583  INFO handle_socket{socket=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 } } })}: connection initiated between 127.0.0.1:60488 and 52.39.176.227:443
  1575. Jan 22 14:34:02.707 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(9), interests=READABLE | WRITABLE
  1576. Jan 22 14:34:02.710  INFO handle_socket{socket=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 } } })}: connection initiated between 127.0.0.1:60504 and 44.240.2.129:443
  1577. Jan 22 14:34:02.738 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(10), interests=READABLE | WRITABLE
  1578. Jan 22 14:34:02.854 TRACE handle_socket{socket=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 } } })}:handle_handshake_with_version{self=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}:handle_connect_v5{self=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}: registering event source with poller: token=Token(11), interests=READABLE | WRITABLE
  1579. Jan 22 14:34:02.854 TRACE handle_socket{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 } } })}: deregistering event source from poller
  1580. Jan 22 14:34:02.854  WARN
  1581. 0: An error occurred during the proxy handshake procedure
  1582. 1: Cannot assign requested address (os error 99)
  1583.  
  1584. Location:
  1585. /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  1586.  
  1587. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  1588.  
  1589. 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
  1590. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
  1591. 36 │ }
  1592. 37 │
  1593. 38 > #[instrument]
  1594. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  1595. 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
  1596. 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
  1597. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  1598. 209 │ }
  1599. 210 │
  1600. 211 > #[instrument]
  1601. 212 │ async fn handle_connect_v5(
  1602. 213 │ &mut self,
  1603. 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
  1604. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  1605. 119 │ }
  1606. 120 │
  1607. 121 > #[instrument]
  1608. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  1609. 123 │ match version {
  1610. 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 } } })
  1611. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  1612. 17 │ };
  1613. 18 │
  1614. 19 > #[instrument]
  1615. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  1616. 21 │ where
  1617.  
  1618. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  1619. ⋮ 5 frames hidden ⋮
  1620. 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
  1621. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  1622. ⋮ 1 frame hidden ⋮
  1623. 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
  1624. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
  1625. 41 │ // Can't assign requested address
  1626. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  1627. 43 > _ => eyre::eyre!(err),
  1628. 44 │ })
  1629. 45 │ }
  1630. 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
  1631. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
  1632. 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
  1633. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
  1634. 38 │ #[instrument]
  1635. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  1636. 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
  1637. 41 │ // Can't assign requested address
  1638. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  1639. 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
  1640. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
  1641. 215 │ local_addr: IpAddr,
  1642. 216 │ ) -> Result<TcpStream> {
  1643. 217 > let server_socket = try_bind_socket(local_addr)?;
  1644. 218 │
  1645. 219 │ let server_stream = server_socket.connect(address).await;
  1646. 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
  1647. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1648. 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
  1649. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  1650. 270 │ let this = self.project();
  1651. 271 │ let _enter = this.span.enter();
  1652. 272 > this.inner.poll(cx)
  1653. 273 │ }
  1654. 274 │ }
  1655. 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
  1656. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  1657. 209 │ }
  1658. 210 │
  1659. 211 > #[instrument]
  1660. 212 │ async fn handle_connect_v5(
  1661. 213 │ &mut self,
  1662. 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
  1663. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1664. 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
  1665. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
  1666. 135 │ .wrap_err_with(dispatch_error)?;
  1667. 136 │
  1668. 137 > self.handle_connect_v5(host, local_addr).await
  1669. 138 │ }
  1670. 139 │ socksv5::SocksVersion::V4 => {
  1671. 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
  1672. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1673. 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
  1674. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  1675. 270 │ let this = self.project();
  1676. 271 │ let _enter = this.span.enter();
  1677. 272 > this.inner.poll(cx)
  1678. 273 │ }
  1679. 274 │ }
  1680. 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
  1681. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  1682. 119 │ }
  1683. 120 │
  1684. 121 > #[instrument]
  1685. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  1686. 123 │ match version {
  1687. 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
  1688. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1689. 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
  1690. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
  1691. 87 │ match socksv5::read_version(&mut self.reader).await {
  1692. 88 │ Err(err) => Err(self.handle_version_error(err).await),
  1693. 89 > Ok(version) => self.handle_handshake_with_version(version).await,
  1694. 90 │ }
  1695. 91 │ }
  1696. 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
  1697. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1698. 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
  1699. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
  1700. 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
  1701. 28 │
  1702. 29 > match handshake.handshake().await {
  1703. 30 │ Err(err) => {
  1704. 31 │ return Err(err.wrap_err(eyre::eyre!(
  1705. 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
  1706. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1707. 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
  1708. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  1709. 270 │ let this = self.project();
  1710. 271 │ let _enter = this.span.enter();
  1711. 272 > this.inner.poll(cx)
  1712. 273 │ }
  1713. 274 │ }
  1714. 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
  1715. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  1716. 17 │ };
  1717. 18 │
  1718. 19 > #[instrument]
  1719. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  1720. 21 │ where
  1721. 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
  1722. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1723. 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
  1724. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
  1725. 134 │ let dispatcher = dispatcher.clone();
  1726. 135 │ tokio::spawn(async move {
  1727. 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
  1728. 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
  1729. 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
  1730. 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
  1731. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  1732. 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
  1733. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  1734. 221 │
  1735. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  1736. 223 > future.poll(&mut cx)
  1737. 224 │ })
  1738. 225 │ };
  1739. 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
  1740. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  1741. 12 │
  1742. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  1743. 14 > f(self.0.get())
  1744. 15 │ }
  1745. 16 │ }
  1746. 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
  1747. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  1748. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  1749. 211 │ let res = {
  1750. 212 > self.stage.stage.with_mut(|ptr| {
  1751. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  1752. 214 │ let future = match unsafe { &mut *ptr } {
  1753. 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
  1754. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  1755. 474 │ }
  1756. 475 │ let guard = Guard { core };
  1757. 476 > let res = guard.core.poll(cx);
  1758. 477 │ mem::forget(guard);
  1759. 478 │ res
  1760. 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
  1761. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  1762. 35: std::panicking::try::do_call::he695cac2794a1847
  1763. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  1764. 36: std::panicking::try::hdf2455cbcbe82896
  1765. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  1766. 37: std::panic::catch_unwind::hf1a600052c2a927a
  1767. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  1768. 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
  1769. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  1770. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  1771. 463 │ // Poll the future.
  1772. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  1773. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  1774. 466 │ core: &'a Core<T, S>,
  1775. 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
  1776. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  1777. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  1778. 197 │ let cx = Context::from_waker(&waker_ref);
  1779. 198 > let res = poll_future(self.core(), cx);
  1780. 199 │
  1781. 200 │ if res == Poll::Ready(()) {
  1782. 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
  1783. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  1784. 150 │ pub(super) fn poll(self) {
  1785. 151 │ // We pass our ref-count to `poll_inner`.
  1786. 152 > match self.poll_inner() {
  1787. 153 │ PollFuture::Notified => {
  1788. 154 │ // The `poll_inner` call has given us two ref-counts back.
  1789. 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  1790. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  1791. 198 │ pub(super) fn poll(self) {
  1792. 199 │ let vtable = self.header().vtable;
  1793. 200 > unsafe { (vtable.poll)(self.ptr) }
  1794. 201 │ }
  1795. 202 │
  1796. 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
  1797. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
  1798. 392 │ let raw = self.task.raw;
  1799. 393 │ mem::forget(self);
  1800. 394 > raw.poll();
  1801. 395 │ }
  1802. 396 │ }
  1803. 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
  1804. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
  1805. 462 │ // Run the task
  1806. 463 │ coop::budget(|| {
  1807. 464 > task.run();
  1808. 465 │
  1809. 466 │ // As long as there is budget remaining and a task exists in the
  1810. 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
  1811. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
  1812. 100 │ // The function is called regardless even if the budget is not successfully
  1813. 101 │ // set due to the thread-local being destroyed.
  1814. 102 > f()
  1815. 103 │ }
  1816. 104 │
  1817. 45: tokio::runtime::coop::budget::hee241dec950efbe9
  1818. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
  1819. 66 │ #[inline(always)]
  1820. 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
  1821. 68 > with_budget(Budget::initial(), f)
  1822. 69 │ }
  1823. 70 │
  1824. 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
  1825. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
  1826. 461 │
  1827. 462 │ // Run the task
  1828. 463 > coop::budget(|| {
  1829. 464 │ task.run();
  1830. 465 │
  1831. 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
  1832. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
  1833. 424 │ // First, check work available to the current worker.
  1834. 425 │ if let Some(task) = core.next_task(&self.worker) {
  1835. 426 > core = self.run_task(task, core)?;
  1836. 427 │ continue;
  1837. 428 │ }
  1838. 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
  1839. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
  1840. 404 │ // This should always be an error. It only returns a `Result` to support
  1841. 405 │ // using `?` to short circuit.
  1842. 406 > assert!(cx.run(core).is_err());
  1843. 407 │
  1844. 408 │ // Check if there are any deferred tasks to notify. This can happen when
  1845. 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
  1846. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
  1847. 59 │ };
  1848. 60 │
  1849. 61 > f()
  1850. 62 │ }
  1851. 63 │
  1852. 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
  1853. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
  1854. 401 │ };
  1855. 402 │
  1856. 403 > CURRENT.set(&cx, || {
  1857. 404 │ // This should always be an error. It only returns a `Result` to support
  1858. 405 │ // using `?` to short circuit.
  1859. 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
  1860. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
  1861. 363 │ pub(crate) fn launch(mut self) {
  1862. 364 │ for worker in self.0.drain(..) {
  1863. 365 > runtime::spawn_blocking(move || run(worker));
  1864. 366 │ }
  1865. 367 │ }
  1866. 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
  1867. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
  1868. 40 │ crate::runtime::coop::stop();
  1869. 41 │
  1870. 42 > Poll::Ready(func())
  1871. 43 │ }
  1872. 44 │ }
  1873. 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
  1874. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  1875. 221 │
  1876. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  1877. 223 > future.poll(&mut cx)
  1878. 224 │ })
  1879. 225 │ };
  1880. 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
  1881. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  1882. 12 │
  1883. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  1884. 14 > f(self.0.get())
  1885. 15 │ }
  1886. 16 │ }
  1887. 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
  1888. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  1889. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  1890. 211 │ let res = {
  1891. 212 > self.stage.stage.with_mut(|ptr| {
  1892. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  1893. 214 │ let future = match unsafe { &mut *ptr } {
  1894. 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
  1895. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  1896. 474 │ }
  1897. 475 │ let guard = Guard { core };
  1898. 476 > let res = guard.core.poll(cx);
  1899. 477 │ mem::forget(guard);
  1900. 478 │ res
  1901. 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
  1902. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  1903. 58: std::panicking::try::do_call::h13355a7773e90623
  1904. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  1905. 59: std::panicking::try::h83ada4fb567f3238
  1906. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  1907. 60: std::panic::catch_unwind::h9f0aa85cf1251a10
  1908. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  1909. 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
  1910. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  1911. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  1912. 463 │ // Poll the future.
  1913. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  1914. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  1915. 466 │ core: &'a Core<T, S>,
  1916. 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
  1917. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  1918. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  1919. 197 │ let cx = Context::from_waker(&waker_ref);
  1920. 198 > let res = poll_future(self.core(), cx);
  1921. 199 │
  1922. 200 │ if res == Poll::Ready(()) {
  1923. 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
  1924. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  1925. 150 │ pub(super) fn poll(self) {
  1926. 151 │ // We pass our ref-count to `poll_inner`.
  1927. 152 > match self.poll_inner() {
  1928. 153 │ PollFuture::Notified => {
  1929. 154 │ // The `poll_inner` call has given us two ref-counts back.
  1930. 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  1931. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  1932. 198 │ pub(super) fn poll(self) {
  1933. 199 │ let vtable = self.header().vtable;
  1934. 200 > unsafe { (vtable.poll)(self.ptr) }
  1935. 201 │ }
  1936. 202 │
  1937. 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
  1938. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
  1939. 429 │
  1940. 430 │ // Use the other ref-count to poll the task.
  1941. 431 > raw.poll();
  1942. 432 │ // Decrement our extra ref-count
  1943. 433 │ drop(task);
  1944. 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
  1945. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
  1946. 157 │
  1947. 158 │ fn run(self) {
  1948. 159 > self.task.run();
  1949. 160 │ }
  1950. 161 │
  1951. 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
  1952. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
  1953. 509 │ self.metrics.dec_queue_depth();
  1954. 510 │ drop(shared);
  1955. 511 > task.run();
  1956. 512 │
  1957. 513 │ shared = self.shared.lock();
  1958. 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
  1959. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
  1960. 467 │ // Only the reference should be moved into the closure
  1961. 468 │ let _enter = rt.enter();
  1962. 469 > rt.inner.blocking_spawner().inner.run(id);
  1963. 470 │ drop(shutdown_tx);
  1964. 471 │ })
  1965. ⋮ 13 frames hidden ⋮
  1966.  
  1967. 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
  1968. Jan 22 14:34:02.859  INFO handle_socket{socket=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 } } })}: connection terminated between 127.0.0.1:60470 and 52.88.75.10:443
  1969. Jan 22 14:34:02.860 TRACE handle_socket{socket=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 } } })}: deregistering event source from poller
  1970. Jan 22 14:34:02.860 TRACE handle_socket{socket=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 } } })}: deregistering event source from poller
  1971. Jan 22 14:34:02.902 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(16777220), interests=READABLE | WRITABLE
  1972. Jan 22 14:34:02.927  INFO handle_socket{socket=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 } } })}: connection initiated between 127.0.0.1:60512 and 93.184.220.29:80
  1973. Jan 22 14:34:02.983 TRACE handle_socket{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 } } })}: deregistering event source from poller
  1974. Jan 22 14:34:02.987  INFO handle_socket{socket=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 } } })}: connection terminated between 127.0.0.1:60488 and 52.39.176.227:443
  1975. Jan 22 14:34:02.987 TRACE handle_socket{socket=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 } } })}: deregistering event source from poller
  1976. Jan 22 14:34:02.987 TRACE handle_socket{socket=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 } } })}: deregistering event source from poller
  1977. Jan 22 14:34:02.983  WARN
  1978. 0: An error occurred during the proxy handshake procedure
  1979. 1: Cannot assign requested address (os error 99)
  1980.  
  1981. Location:
  1982. /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  1983.  
  1984. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  1985.  
  1986. 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
  1987. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
  1988. 36 │ }
  1989. 37 │
  1990. 38 > #[instrument]
  1991. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  1992. 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
  1993. 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
  1994. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  1995. 209 │ }
  1996. 210 │
  1997. 211 > #[instrument]
  1998. 212 │ async fn handle_connect_v5(
  1999. 213 │ &mut self,
  2000. 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
  2001. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  2002. 119 │ }
  2003. 120 │
  2004. 121 > #[instrument]
  2005. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  2006. 123 │ match version {
  2007. 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 } } })
  2008. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  2009. 17 │ };
  2010. 18 │
  2011. 19 > #[instrument]
  2012. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  2013. 21 │ where
  2014.  
  2015. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  2016. ⋮ 5 frames hidden ⋮
  2017. 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
  2018. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  2019. ⋮ 1 frame hidden ⋮
  2020. 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
  2021. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
  2022. 41 │ // Can't assign requested address
  2023. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  2024. 43 > _ => eyre::eyre!(err),
  2025. 44 │ })
  2026. 45 │ }
  2027. 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
  2028. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
  2029. 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
  2030. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
  2031. 38 │ #[instrument]
  2032. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  2033. 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
  2034. 41 │ // Can't assign requested address
  2035. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  2036. 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
  2037. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
  2038. 215 │ local_addr: IpAddr,
  2039. 216 │ ) -> Result<TcpStream> {
  2040. 217 > let server_socket = try_bind_socket(local_addr)?;
  2041. 218 │
  2042. 219 │ let server_stream = server_socket.connect(address).await;
  2043. 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
  2044. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2045. 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
  2046. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  2047. 270 │ let this = self.project();
  2048. 271 │ let _enter = this.span.enter();
  2049. 272 > this.inner.poll(cx)
  2050. 273 │ }
  2051. 274 │ }
  2052. 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
  2053. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  2054. 209 │ }
  2055. 210 │
  2056. 211 > #[instrument]
  2057. 212 │ async fn handle_connect_v5(
  2058. 213 │ &mut self,
  2059. 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
  2060. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2061. 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
  2062. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
  2063. 135 │ .wrap_err_with(dispatch_error)?;
  2064. 136 │
  2065. 137 > self.handle_connect_v5(host, local_addr).await
  2066. 138 │ }
  2067. 139 │ socksv5::SocksVersion::V4 => {
  2068. 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
  2069. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2070. 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
  2071. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  2072. 270 │ let this = self.project();
  2073. 271 │ let _enter = this.span.enter();
  2074. 272 > this.inner.poll(cx)
  2075. 273 │ }
  2076. 274 │ }
  2077. 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
  2078. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  2079. 119 │ }
  2080. 120 │
  2081. 121 > #[instrument]
  2082. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  2083. 123 │ match version {
  2084. 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
  2085. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2086. 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
  2087. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
  2088. 87 │ match socksv5::read_version(&mut self.reader).await {
  2089. 88 │ Err(err) => Err(self.handle_version_error(err).await),
  2090. 89 > Ok(version) => self.handle_handshake_with_version(version).await,
  2091. 90 │ }
  2092. 91 │ }
  2093. 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
  2094. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2095. 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
  2096. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
  2097. 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
  2098. 28 │
  2099. 29 > match handshake.handshake().await {
  2100. 30 │ Err(err) => {
  2101. 31 │ return Err(err.wrap_err(eyre::eyre!(
  2102. 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
  2103. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2104. 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
  2105. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  2106. 270 │ let this = self.project();
  2107. 271 │ let _enter = this.span.enter();
  2108. 272 > this.inner.poll(cx)
  2109. 273 │ }
  2110. 274 │ }
  2111. 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
  2112. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  2113. 17 │ };
  2114. 18 │
  2115. 19 > #[instrument]
  2116. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  2117. 21 │ where
  2118. 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
  2119. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2120. 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
  2121. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
  2122. 134 │ let dispatcher = dispatcher.clone();
  2123. 135 │ tokio::spawn(async move {
  2124. 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
  2125. 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
  2126. 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
  2127. 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
  2128. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2129. 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
  2130. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  2131. 221 │
  2132. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  2133. 223 > future.poll(&mut cx)
  2134. 224 │ })
  2135. 225 │ };
  2136. 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
  2137. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  2138. 12 │
  2139. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  2140. 14 > f(self.0.get())
  2141. 15 │ }
  2142. 16 │ }
  2143. 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
  2144. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  2145. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  2146. 211 │ let res = {
  2147. 212 > self.stage.stage.with_mut(|ptr| {
  2148. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  2149. 214 │ let future = match unsafe { &mut *ptr } {
  2150. 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
  2151. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  2152. 474 │ }
  2153. 475 │ let guard = Guard { core };
  2154. 476 > let res = guard.core.poll(cx);
  2155. 477 │ mem::forget(guard);
  2156. 478 │ res
  2157. 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
  2158. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  2159. 35: std::panicking::try::do_call::he695cac2794a1847
  2160. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  2161. 36: std::panicking::try::hdf2455cbcbe82896
  2162. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  2163. 37: std::panic::catch_unwind::hf1a600052c2a927a
  2164. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  2165. 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
  2166. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  2167. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  2168. 463 │ // Poll the future.
  2169. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  2170. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  2171. 466 │ core: &'a Core<T, S>,
  2172. 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
  2173. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  2174. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  2175. 197 │ let cx = Context::from_waker(&waker_ref);
  2176. 198 > let res = poll_future(self.core(), cx);
  2177. 199 │
  2178. 200 │ if res == Poll::Ready(()) {
  2179. 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
  2180. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  2181. 150 │ pub(super) fn poll(self) {
  2182. 151 │ // We pass our ref-count to `poll_inner`.
  2183. 152 > match self.poll_inner() {
  2184. 153 │ PollFuture::Notified => {
  2185. 154 │ // The `poll_inner` call has given us two ref-counts back.
  2186. 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  2187. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  2188. 198 │ pub(super) fn poll(self) {
  2189. 199 │ let vtable = self.header().vtable;
  2190. 200 > unsafe { (vtable.poll)(self.ptr) }
  2191. 201 │ }
  2192. 202 │
  2193. 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
  2194. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
  2195. 392 │ let raw = self.task.raw;
  2196. 393 │ mem::forget(self);
  2197. 394 > raw.poll();
  2198. 395 │ }
  2199. 396 │ }
  2200. 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
  2201. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
  2202. 462 │ // Run the task
  2203. 463 │ coop::budget(|| {
  2204. 464 > task.run();
  2205. 465 │
  2206. 466 │ // As long as there is budget remaining and a task exists in the
  2207. 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
  2208. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
  2209. 100 │ // The function is called regardless even if the budget is not successfully
  2210. 101 │ // set due to the thread-local being destroyed.
  2211. 102 > f()
  2212. 103 │ }
  2213. 104 │
  2214. 45: tokio::runtime::coop::budget::hee241dec950efbe9
  2215. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
  2216. 66 │ #[inline(always)]
  2217. 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
  2218. 68 > with_budget(Budget::initial(), f)
  2219. 69 │ }
  2220. 70 │
  2221. 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
  2222. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
  2223. 461 │
  2224. 462 │ // Run the task
  2225. 463 > coop::budget(|| {
  2226. 464 │ task.run();
  2227. 465 │
  2228. 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
  2229. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
  2230. 424 │ // First, check work available to the current worker.
  2231. 425 │ if let Some(task) = core.next_task(&self.worker) {
  2232. 426 > core = self.run_task(task, core)?;
  2233. 427 │ continue;
  2234. 428 │ }
  2235. 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
  2236. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
  2237. 404 │ // This should always be an error. It only returns a `Result` to support
  2238. 405 │ // using `?` to short circuit.
  2239. 406 > assert!(cx.run(core).is_err());
  2240. 407 │
  2241. 408 │ // Check if there are any deferred tasks to notify. This can happen when
  2242. 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
  2243. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
  2244. 59 │ };
  2245. 60 │
  2246. 61 > f()
  2247. 62 │ }
  2248. 63 │
  2249. 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
  2250. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
  2251. 401 │ };
  2252. 402 │
  2253. 403 > CURRENT.set(&cx, || {
  2254. 404 │ // This should always be an error. It only returns a `Result` to support
  2255. 405 │ // using `?` to short circuit.
  2256. 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
  2257. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
  2258. 363 │ pub(crate) fn launch(mut self) {
  2259. 364 │ for worker in self.0.drain(..) {
  2260. 365 > runtime::spawn_blocking(move || run(worker));
  2261. 366 │ }
  2262. 367 │ }
  2263. 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
  2264. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
  2265. 40 │ crate::runtime::coop::stop();
  2266. 41 │
  2267. 42 > Poll::Ready(func())
  2268. 43 │ }
  2269. 44 │ }
  2270. 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
  2271. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  2272. 221 │
  2273. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  2274. 223 > future.poll(&mut cx)
  2275. 224 │ })
  2276. 225 │ };
  2277. 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
  2278. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  2279. 12 │
  2280. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  2281. 14 > f(self.0.get())
  2282. 15 │ }
  2283. 16 │ }
  2284. 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
  2285. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  2286. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  2287. 211 │ let res = {
  2288. 212 > self.stage.stage.with_mut(|ptr| {
  2289. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  2290. 214 │ let future = match unsafe { &mut *ptr } {
  2291. 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
  2292. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  2293. 474 │ }
  2294. 475 │ let guard = Guard { core };
  2295. 476 > let res = guard.core.poll(cx);
  2296. 477 │ mem::forget(guard);
  2297. 478 │ res
  2298. 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
  2299. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  2300. 58: std::panicking::try::do_call::h13355a7773e90623
  2301. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  2302. 59: std::panicking::try::h83ada4fb567f3238
  2303. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  2304. 60: std::panic::catch_unwind::h9f0aa85cf1251a10
  2305. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  2306. 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
  2307. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  2308. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  2309. 463 │ // Poll the future.
  2310. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  2311. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  2312. 466 │ core: &'a Core<T, S>,
  2313. 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
  2314. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  2315. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  2316. 197 │ let cx = Context::from_waker(&waker_ref);
  2317. 198 > let res = poll_future(self.core(), cx);
  2318. 199 │
  2319. 200 │ if res == Poll::Ready(()) {
  2320. 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
  2321. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  2322. 150 │ pub(super) fn poll(self) {
  2323. 151 │ // We pass our ref-count to `poll_inner`.
  2324. 152 > match self.poll_inner() {
  2325. 153 │ PollFuture::Notified => {
  2326. 154 │ // The `poll_inner` call has given us two ref-counts back.
  2327. 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  2328. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  2329. 198 │ pub(super) fn poll(self) {
  2330. 199 │ let vtable = self.header().vtable;
  2331. 200 > unsafe { (vtable.poll)(self.ptr) }
  2332. 201 │ }
  2333. 202 │
  2334. 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
  2335. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
  2336. 429 │
  2337. 430 │ // Use the other ref-count to poll the task.
  2338. 431 > raw.poll();
  2339. 432 │ // Decrement our extra ref-count
  2340. 433 │ drop(task);
  2341. 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
  2342. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
  2343. 157 │
  2344. 158 │ fn run(self) {
  2345. 159 > self.task.run();
  2346. 160 │ }
  2347. 161 │
  2348. 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
  2349. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
  2350. 509 │ self.metrics.dec_queue_depth();
  2351. 510 │ drop(shared);
  2352. 511 > task.run();
  2353. 512 │
  2354. 513 │ shared = self.shared.lock();
  2355. 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
  2356. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
  2357. 467 │ // Only the reference should be moved into the closure
  2358. 468 │ let _enter = rt.enter();
  2359. 469 > rt.inner.blocking_spawner().inner.run(id);
  2360. 470 │ drop(shutdown_tx);
  2361. 471 │ })
  2362. ⋮ 13 frames hidden ⋮
  2363.  
  2364. 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
  2365. Jan 22 14:34:03.024  INFO handle_socket{socket=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 } } })}: connection terminated between 127.0.0.1:60504 and 44.240.2.129:443
  2366. Jan 22 14:34:03.024 TRACE handle_socket{socket=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 } } })}: deregistering event source from poller
  2367. Jan 22 14:34:03.024 TRACE handle_socket{socket=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 } } })}: deregistering event source from poller
  2368. Jan 22 14:34:03.623 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(33554433), interests=READABLE | WRITABLE
  2369. Jan 22 14:34:03.657 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(50331650), interests=READABLE | WRITABLE
  2370. Jan 22 14:34:03.702 TRACE handle_socket{socket=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 } } })}:handle_handshake_with_version{self=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}:handle_connect_v5{self=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}: registering event source with poller: token=Token(16777224), interests=READABLE | WRITABLE
  2371. Jan 22 14:34:03.776  INFO handle_socket{socket=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 } } })}: connection initiated between 127.0.0.1:42208 and 185.199.110.153:443
  2372. Jan 22 14:34:03.809 TRACE handle_socket{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 } } })}: deregistering event source from poller
  2373. Jan 22 14:34:03.810  WARN
  2374. 0: An error occurred during the proxy handshake procedure
  2375. 1: Cannot assign requested address (os error 99)
  2376.  
  2377. Location:
  2378. /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  2379.  
  2380. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  2381.  
  2382. 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
  2383. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
  2384. 36 │ }
  2385. 37 │
  2386. 38 > #[instrument]
  2387. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  2388. 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
  2389. 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
  2390. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  2391. 209 │ }
  2392. 210 │
  2393. 211 > #[instrument]
  2394. 212 │ async fn handle_connect_v5(
  2395. 213 │ &mut self,
  2396. 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
  2397. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  2398. 119 │ }
  2399. 120 │
  2400. 121 > #[instrument]
  2401. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  2402. 123 │ match version {
  2403. 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 } } })
  2404. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  2405. 17 │ };
  2406. 18 │
  2407. 19 > #[instrument]
  2408. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  2409. 21 │ where
  2410.  
  2411. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  2412. ⋮ 5 frames hidden ⋮
  2413. 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
  2414. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  2415. ⋮ 1 frame hidden ⋮
  2416. 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
  2417. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
  2418. 41 │ // Can't assign requested address
  2419. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  2420. 43 > _ => eyre::eyre!(err),
  2421. 44 │ })
  2422. 45 │ }
  2423. 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
  2424. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
  2425. 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
  2426. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
  2427. 38 │ #[instrument]
  2428. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  2429. 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
  2430. 41 │ // Can't assign requested address
  2431. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  2432. 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
  2433. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
  2434. 215 │ local_addr: IpAddr,
  2435. 216 │ ) -> Result<TcpStream> {
  2436. 217 > let server_socket = try_bind_socket(local_addr)?;
  2437. 218 │
  2438. 219 │ let server_stream = server_socket.connect(address).await;
  2439. 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
  2440. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2441. 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
  2442. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  2443. 270 │ let this = self.project();
  2444. 271 │ let _enter = this.span.enter();
  2445. 272 > this.inner.poll(cx)
  2446. 273 │ }
  2447. 274 │ }
  2448. 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
  2449. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  2450. 209 │ }
  2451. 210 │
  2452. 211 > #[instrument]
  2453. 212 │ async fn handle_connect_v5(
  2454. 213 │ &mut self,
  2455. 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
  2456. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2457. 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
  2458. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
  2459. 135 │ .wrap_err_with(dispatch_error)?;
  2460. 136 │
  2461. 137 > self.handle_connect_v5(host, local_addr).await
  2462. 138 │ }
  2463. 139 │ socksv5::SocksVersion::V4 => {
  2464. 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
  2465. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2466. 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
  2467. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  2468. 270 │ let this = self.project();
  2469. 271 │ let _enter = this.span.enter();
  2470. 272 > this.inner.poll(cx)
  2471. 273 │ }
  2472. 274 │ }
  2473. 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
  2474. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  2475. 119 │ }
  2476. 120 │
  2477. 121 > #[instrument]
  2478. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  2479. 123 │ match version {
  2480. 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
  2481. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2482. 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
  2483. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
  2484. 87 │ match socksv5::read_version(&mut self.reader).await {
  2485. 88 │ Err(err) => Err(self.handle_version_error(err).await),
  2486. 89 > Ok(version) => self.handle_handshake_with_version(version).await,
  2487. 90 │ }
  2488. 91 │ }
  2489. 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
  2490. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2491. 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
  2492. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
  2493. 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
  2494. 28 │
  2495. 29 > match handshake.handshake().await {
  2496. 30 │ Err(err) => {
  2497. 31 │ return Err(err.wrap_err(eyre::eyre!(
  2498. 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
  2499. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2500. 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
  2501. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  2502. 270 │ let this = self.project();
  2503. 271 │ let _enter = this.span.enter();
  2504. 272 > this.inner.poll(cx)
  2505. 273 │ }
  2506. 274 │ }
  2507. 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
  2508. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  2509. 17 │ };
  2510. 18 │
  2511. 19 > #[instrument]
  2512. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  2513. 21 │ where
  2514. 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
  2515. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2516. 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
  2517. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
  2518. 134 │ let dispatcher = dispatcher.clone();
  2519. 135 │ tokio::spawn(async move {
  2520. 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
  2521. 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
  2522. 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
  2523. 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
  2524. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2525. 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
  2526. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  2527. 221 │
  2528. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  2529. 223 > future.poll(&mut cx)
  2530. 224 │ })
  2531. 225 │ };
  2532. 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
  2533. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  2534. 12 │
  2535. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  2536. 14 > f(self.0.get())
  2537. 15 │ }
  2538. 16 │ }
  2539. 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
  2540. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  2541. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  2542. 211 │ let res = {
  2543. 212 > self.stage.stage.with_mut(|ptr| {
  2544. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  2545. 214 │ let future = match unsafe { &mut *ptr } {
  2546. 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
  2547. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  2548. 474 │ }
  2549. 475 │ let guard = Guard { core };
  2550. 476 > let res = guard.core.poll(cx);
  2551. 477 │ mem::forget(guard);
  2552. 478 │ res
  2553. 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
  2554. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  2555. 35: std::panicking::try::do_call::he695cac2794a1847
  2556. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  2557. 36: std::panicking::try::hdf2455cbcbe82896
  2558. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  2559. 37: std::panic::catch_unwind::hf1a600052c2a927a
  2560. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  2561. 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
  2562. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  2563. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  2564. 463 │ // Poll the future.
  2565. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  2566. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  2567. 466 │ core: &'a Core<T, S>,
  2568. 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
  2569. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  2570. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  2571. 197 │ let cx = Context::from_waker(&waker_ref);
  2572. 198 > let res = poll_future(self.core(), cx);
  2573. 199 │
  2574. 200 │ if res == Poll::Ready(()) {
  2575. 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
  2576. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  2577. 150 │ pub(super) fn poll(self) {
  2578. 151 │ // We pass our ref-count to `poll_inner`.
  2579. 152 > match self.poll_inner() {
  2580. 153 │ PollFuture::Notified => {
  2581. 154 │ // The `poll_inner` call has given us two ref-counts back.
  2582. 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  2583. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  2584. 198 │ pub(super) fn poll(self) {
  2585. 199 │ let vtable = self.header().vtable;
  2586. 200 > unsafe { (vtable.poll)(self.ptr) }
  2587. 201 │ }
  2588. 202 │
  2589. 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
  2590. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
  2591. 392 │ let raw = self.task.raw;
  2592. 393 │ mem::forget(self);
  2593. 394 > raw.poll();
  2594. 395 │ }
  2595. 396 │ }
  2596. 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
  2597. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
  2598. 462 │ // Run the task
  2599. 463 │ coop::budget(|| {
  2600. 464 > task.run();
  2601. 465 │
  2602. 466 │ // As long as there is budget remaining and a task exists in the
  2603. 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
  2604. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
  2605. 100 │ // The function is called regardless even if the budget is not successfully
  2606. 101 │ // set due to the thread-local being destroyed.
  2607. 102 > f()
  2608. 103 │ }
  2609. 104 │
  2610. 45: tokio::runtime::coop::budget::hee241dec950efbe9
  2611. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
  2612. 66 │ #[inline(always)]
  2613. 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
  2614. 68 > with_budget(Budget::initial(), f)
  2615. 69 │ }
  2616. 70 │
  2617. 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
  2618. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
  2619. 461 │
  2620. 462 │ // Run the task
  2621. 463 > coop::budget(|| {
  2622. 464 │ task.run();
  2623. 465 │
  2624. 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
  2625. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
  2626. 424 │ // First, check work available to the current worker.
  2627. 425 │ if let Some(task) = core.next_task(&self.worker) {
  2628. 426 > core = self.run_task(task, core)?;
  2629. 427 │ continue;
  2630. 428 │ }
  2631. 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
  2632. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
  2633. 404 │ // This should always be an error. It only returns a `Result` to support
  2634. 405 │ // using `?` to short circuit.
  2635. 406 > assert!(cx.run(core).is_err());
  2636. 407 │
  2637. 408 │ // Check if there are any deferred tasks to notify. This can happen when
  2638. 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
  2639. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
  2640. 59 │ };
  2641. 60 │
  2642. 61 > f()
  2643. 62 │ }
  2644. 63 │
  2645. 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
  2646. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
  2647. 401 │ };
  2648. 402 │
  2649. 403 > CURRENT.set(&cx, || {
  2650. 404 │ // This should always be an error. It only returns a `Result` to support
  2651. 405 │ // using `?` to short circuit.
  2652. 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
  2653. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
  2654. 363 │ pub(crate) fn launch(mut self) {
  2655. 364 │ for worker in self.0.drain(..) {
  2656. 365 > runtime::spawn_blocking(move || run(worker));
  2657. 366 │ }
  2658. 367 │ }
  2659. 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
  2660. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
  2661. 40 │ crate::runtime::coop::stop();
  2662. 41 │
  2663. 42 > Poll::Ready(func())
  2664. 43 │ }
  2665. 44 │ }
  2666. 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
  2667. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  2668. 221 │
  2669. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  2670. 223 > future.poll(&mut cx)
  2671. 224 │ })
  2672. 225 │ };
  2673. 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
  2674. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  2675. 12 │
  2676. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  2677. 14 > f(self.0.get())
  2678. 15 │ }
  2679. 16 │ }
  2680. 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
  2681. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  2682. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  2683. 211 │ let res = {
  2684. 212 > self.stage.stage.with_mut(|ptr| {
  2685. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  2686. 214 │ let future = match unsafe { &mut *ptr } {
  2687. 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
  2688. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  2689. 474 │ }
  2690. 475 │ let guard = Guard { core };
  2691. 476 > let res = guard.core.poll(cx);
  2692. 477 │ mem::forget(guard);
  2693. 478 │ res
  2694. 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
  2695. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  2696. 58: std::panicking::try::do_call::h13355a7773e90623
  2697. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  2698. 59: std::panicking::try::h83ada4fb567f3238
  2699. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  2700. 60: std::panic::catch_unwind::h9f0aa85cf1251a10
  2701. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  2702. 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
  2703. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  2704. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  2705. 463 │ // Poll the future.
  2706. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  2707. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  2708. 466 │ core: &'a Core<T, S>,
  2709. 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
  2710. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  2711. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  2712. 197 │ let cx = Context::from_waker(&waker_ref);
  2713. 198 > let res = poll_future(self.core(), cx);
  2714. 199 │
  2715. 200 │ if res == Poll::Ready(()) {
  2716. 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
  2717. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  2718. 150 │ pub(super) fn poll(self) {
  2719. 151 │ // We pass our ref-count to `poll_inner`.
  2720. 152 > match self.poll_inner() {
  2721. 153 │ PollFuture::Notified => {
  2722. 154 │ // The `poll_inner` call has given us two ref-counts back.
  2723. 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  2724. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  2725. 198 │ pub(super) fn poll(self) {
  2726. 199 │ let vtable = self.header().vtable;
  2727. 200 > unsafe { (vtable.poll)(self.ptr) }
  2728. 201 │ }
  2729. 202 │
  2730. 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
  2731. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
  2732. 429 │
  2733. 430 │ // Use the other ref-count to poll the task.
  2734. 431 > raw.poll();
  2735. 432 │ // Decrement our extra ref-count
  2736. 433 │ drop(task);
  2737. 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
  2738. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
  2739. 157 │
  2740. 158 │ fn run(self) {
  2741. 159 > self.task.run();
  2742. 160 │ }
  2743. 161 │
  2744. 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
  2745. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
  2746. 509 │ self.metrics.dec_queue_depth();
  2747. 510 │ drop(shared);
  2748. 511 > task.run();
  2749. 512 │
  2750. 513 │ shared = self.shared.lock();
  2751. 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
  2752. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
  2753. 467 │ // Only the reference should be moved into the closure
  2754. 468 │ let _enter = rt.enter();
  2755. 469 > rt.inner.blocking_spawner().inner.run(id);
  2756. 470 │ drop(shutdown_tx);
  2757. 471 │ })
  2758. ⋮ 13 frames hidden ⋮
  2759.  
  2760. 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
  2761. Jan 22 14:34:03.953 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(67108866), interests=READABLE | WRITABLE
  2762. Jan 22 14:34:03.955 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(33554435), interests=READABLE | WRITABLE
  2763. Jan 22 14:34:03.975 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(33554436), interests=READABLE | WRITABLE
  2764. Jan 22 14:34:03.994 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(16777222), interests=READABLE | WRITABLE
  2765. Jan 22 14:34:03.998 TRACE server{ip=127.0.0.1 port=1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}:start_server{addr=127.0.0.1:1080 addresses=[WeightedAddress { ip: 192.168.0.100, weight: 1 }, WeightedAddress { ip: 192.168.1.5, weight: 1 }]}: registering event source with poller: token=Token(16777225), interests=READABLE | WRITABLE
  2766. Jan 22 14:34:04.028 TRACE handle_socket{socket=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 } } })}:handle_handshake_with_version{self=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}:handle_connect_v5{self=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}: registering event source with poller: token=Token(12), interests=READABLE | WRITABLE
  2767. Jan 22 14:34:04.029 TRACE handle_socket{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 } } })}: deregistering event source from poller
  2768. Jan 22 14:34:04.029  WARN
  2769. 0: An error occurred during the proxy handshake procedure
  2770. 1: Cannot assign requested address (os error 99)
  2771.  
  2772. Location:
  2773. /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  2774.  
  2775. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  2776.  
  2777. 0: dispatch::socks::try_bind_socket with addr=192.168.0.100
  2778. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:38
  2779. 36 │ }
  2780. 37 │
  2781. 38 > #[instrument]
  2782. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  2783. 40 │ bind_socket(addr).map_err(|err| match err.raw_os_error() {
  2784. 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
  2785. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  2786. 209 │ }
  2787. 210 │
  2788. 211 > #[instrument]
  2789. 212 │ async fn handle_connect_v5(
  2790. 213 │ &mut self,
  2791. 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
  2792. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  2793. 119 │ }
  2794. 120 │
  2795. 121 > #[instrument]
  2796. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  2797. 123 │ match version {
  2798. 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 } } })
  2799. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  2800. 17 │ };
  2801. 18 │
  2802. 19 > #[instrument]
  2803. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  2804. 21 │ where
  2805.  
  2806. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  2807. ⋮ 5 frames hidden ⋮
  2808. 6: <T as core::convert::Into<U>>::into::h0b1a6f856ec4660c
  2809. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/convert/mod.rs:726
  2810. ⋮ 1 frame hidden ⋮
  2811. 8: dispatch::socks::try_bind_socket::{{closure}}::h733a59aa296d119d
  2812. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:43
  2813. 41 │ // Can't assign requested address
  2814. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  2815. 43 > _ => eyre::eyre!(err),
  2816. 44 │ })
  2817. 45 │ }
  2818. 9: core::result::Result<T,E>::map_err::h1665075fb0af219e
  2819. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/result.rs:861
  2820. 10: dispatch::socks::try_bind_socket::h0c7f0c68d6938c89
  2821. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:40
  2822. 38 │ #[instrument]
  2823. 39 │ fn try_bind_socket(addr: IpAddr) -> Result<TcpSocket> {
  2824. 40 > bind_socket(addr).map_err(|err| match err.raw_os_error() {
  2825. 41 │ // Can't assign requested address
  2826. 42 │ Some(49) => eyre::eyre!(err).wrap_err(unaccessible_local_address_error(&addr)),
  2827. 11: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::{{closure}}::ha6131205c1e01863
  2828. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:217
  2829. 215 │ local_addr: IpAddr,
  2830. 216 │ ) -> Result<TcpStream> {
  2831. 217 > let server_socket = try_bind_socket(local_addr)?;
  2832. 218 │
  2833. 219 │ let server_stream = server_socket.connect(address).await;
  2834. 12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h4c9ddb95e338b744
  2835. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2836. 13: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h94f7929d17bc4ed2
  2837. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  2838. 270 │ let this = self.project();
  2839. 271 │ let _enter = this.span.enter();
  2840. 272 > this.inner.poll(cx)
  2841. 273 │ }
  2842. 274 │ }
  2843. 14: dispatch::socks::SocksHandshake<R,W,D>::handle_connect_v5::{{closure}}::hda81e2a92a4f6aac
  2844. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:211
  2845. 209 │ }
  2846. 210 │
  2847. 211 > #[instrument]
  2848. 212 │ async fn handle_connect_v5(
  2849. 213 │ &mut self,
  2850. 15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hc2855e5d9a055cdd
  2851. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2852. 16: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::{{closure}}::hb11d7b4b4705d4b7
  2853. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:137
  2854. 135 │ .wrap_err_with(dispatch_error)?;
  2855. 136 │
  2856. 137 > self.handle_connect_v5(host, local_addr).await
  2857. 138 │ }
  2858. 139 │ socksv5::SocksVersion::V4 => {
  2859. 17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hf31691346d3e773b
  2860. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2861. 18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::h466b0d9a75fb9b69
  2862. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  2863. 270 │ let this = self.project();
  2864. 271 │ let _enter = this.span.enter();
  2865. 272 > this.inner.poll(cx)
  2866. 273 │ }
  2867. 274 │ }
  2868. 19: dispatch::socks::SocksHandshake<R,W,D>::handle_handshake_with_version::{{closure}}::h28aebe0b93d2e5dd
  2869. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:121
  2870. 119 │ }
  2871. 120 │
  2872. 121 > #[instrument]
  2873. 122 │ async fn handle_handshake_with_version(&mut self, version: SocksVersion) -> Result<TcpStream> {
  2874. 123 │ match version {
  2875. 20: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h815053bb4f420202
  2876. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2877. 21: dispatch::socks::SocksHandshake<R,W,D>::handshake::{{closure}}::h8e596c70ab455c3b
  2878. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/socks.rs:89
  2879. 87 │ match socksv5::read_version(&mut self.reader).await {
  2880. 88 │ Err(err) => Err(self.handle_version_error(err).await),
  2881. 89 > Ok(version) => self.handle_handshake_with_version(version).await,
  2882. 90 │ }
  2883. 91 │ }
  2884. 22: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hbfbcbeb26359293e
  2885. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2886. 23: dispatch::server::handle_socket::{{closure}}::{{closure}}::h4ddb95c2cfd6994d
  2887. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:29
  2888. 27 │ let mut handshake = SocksHandshake::new(client_reader, client_writer, dispatcher);
  2889. 28 │
  2890. 29 > match handshake.handshake().await {
  2891. 30 │ Err(err) => {
  2892. 31 │ return Err(err.wrap_err(eyre::eyre!(
  2893. 24: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h8a7c0e25fcde0f3d
  2894. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2895. 25: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll::hb8550dd4b7c3a9d3
  2896. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272
  2897. 270 │ let this = self.project();
  2898. 271 │ let _enter = this.span.enter();
  2899. 272 > this.inner.poll(cx)
  2900. 273 │ }
  2901. 274 │ }
  2902. 26: dispatch::server::handle_socket::{{closure}}::h32038add4d91c22e
  2903. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:19
  2904. 17 │ };
  2905. 18 │
  2906. 19 > #[instrument]
  2907. 20 │ async fn handle_socket<D>(mut socket: TcpStream, dispatcher: D) -> Result<()>
  2908. 21 │ where
  2909. 27: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::he6b745aaa47ac17a
  2910. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2911. 28: dispatch::server::start_server::{{closure}}::{{closure}}::{{closure}}::h93f84257c37f3026
  2912. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/dispatch-proxy-0.1.0/src/server.rs:136
  2913. 134 │ let dispatcher = dispatcher.clone();
  2914. 135 │ tokio::spawn(async move {
  2915. 136 > if let Err(err) = handle_socket(socket, dispatcher).await {
  2916. 137 │ // Errors that happen during the handling of a socket are only reported as warnings, since they're
  2917. 138 │ // considered to be recoverable. On the other hand, panics are unrecoverable and are reported as errors.
  2918. 29: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::hef947f2cce9723cc
  2919. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/future/mod.rs:91
  2920. 30: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h684e401f8134b04c
  2921. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  2922. 221 │
  2923. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  2924. 223 > future.poll(&mut cx)
  2925. 224 │ })
  2926. 225 │ };
  2927. 31: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::hd1b71d9c694ed6ba
  2928. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  2929. 12 │
  2930. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  2931. 14 > f(self.0.get())
  2932. 15 │ }
  2933. 16 │ }
  2934. 32: tokio::runtime::task::core::Core<T,S>::poll::h9e69a6b0a6c6f6f0
  2935. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  2936. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  2937. 211 │ let res = {
  2938. 212 > self.stage.stage.with_mut(|ptr| {
  2939. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  2940. 214 │ let future = match unsafe { &mut *ptr } {
  2941. 33: tokio::runtime::task::harness::poll_future::{{closure}}::h124c12c4e937d4e1
  2942. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  2943. 474 │ }
  2944. 475 │ let guard = Guard { core };
  2945. 476 > let res = guard.core.poll(cx);
  2946. 477 │ mem::forget(guard);
  2947. 478 │ res
  2948. 34: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h07d986ed26b6300b
  2949. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  2950. 35: std::panicking::try::do_call::he695cac2794a1847
  2951. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  2952. 36: std::panicking::try::hdf2455cbcbe82896
  2953. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  2954. 37: std::panic::catch_unwind::hf1a600052c2a927a
  2955. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  2956. 38: tokio::runtime::task::harness::poll_future::hcfaa2b8ac3feddce
  2957. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  2958. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  2959. 463 │ // Poll the future.
  2960. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  2961. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  2962. 466 │ core: &'a Core<T, S>,
  2963. 39: tokio::runtime::task::harness::Harness<T,S>::poll_inner::hf7709341d73af7ea
  2964. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  2965. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  2966. 197 │ let cx = Context::from_waker(&waker_ref);
  2967. 198 > let res = poll_future(self.core(), cx);
  2968. 199 │
  2969. 200 │ if res == Poll::Ready(()) {
  2970. 40: tokio::runtime::task::harness::Harness<T,S>::poll::he03e81597316e30d
  2971. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  2972. 150 │ pub(super) fn poll(self) {
  2973. 151 │ // We pass our ref-count to `poll_inner`.
  2974. 152 > match self.poll_inner() {
  2975. 153 │ PollFuture::Notified => {
  2976. 154 │ // The `poll_inner` call has given us two ref-counts back.
  2977. 41: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  2978. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  2979. 198 │ pub(super) fn poll(self) {
  2980. 199 │ let vtable = self.header().vtable;
  2981. 200 > unsafe { (vtable.poll)(self.ptr) }
  2982. 201 │ }
  2983. 202 │
  2984. 42: tokio::runtime::task::LocalNotified<S>::run::hc893a21f63ba1788
  2985. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:394
  2986. 392 │ let raw = self.task.raw;
  2987. 393 │ mem::forget(self);
  2988. 394 > raw.poll();
  2989. 395 │ }
  2990. 396 │ }
  2991. 43: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}::he91987bee61230f3
  2992. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:464
  2993. 462 │ // Run the task
  2994. 463 │ coop::budget(|| {
  2995. 464 > task.run();
  2996. 465 │
  2997. 466 │ // As long as there is budget remaining and a task exists in the
  2998. 44: tokio::runtime::coop::with_budget::hb96dda60b7d0a0e3
  2999. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:102
  3000. 100 │ // The function is called regardless even if the budget is not successfully
  3001. 101 │ // set due to the thread-local being destroyed.
  3002. 102 > f()
  3003. 103 │ }
  3004. 104 │
  3005. 45: tokio::runtime::coop::budget::hee241dec950efbe9
  3006. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/coop.rs:68
  3007. 66 │ #[inline(always)]
  3008. 67 │ pub(crate) fn budget<R>(f: impl FnOnce() -> R) -> R {
  3009. 68 > with_budget(Budget::initial(), f)
  3010. 69 │ }
  3011. 70 │
  3012. 46: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h069e9b5d2f4109cd
  3013. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:463
  3014. 461 │
  3015. 462 │ // Run the task
  3016. 463 > coop::budget(|| {
  3017. 464 │ task.run();
  3018. 465 │
  3019. 47: tokio::runtime::scheduler::multi_thread::worker::Context::run::h80f810f03d4d7fc7
  3020. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:426
  3021. 424 │ // First, check work available to the current worker.
  3022. 425 │ if let Some(task) = core.next_task(&self.worker) {
  3023. 426 > core = self.run_task(task, core)?;
  3024. 427 │ continue;
  3025. 428 │ }
  3026. 48: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::hf63888c29575d808
  3027. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:406
  3028. 404 │ // This should always be an error. It only returns a `Result` to support
  3029. 405 │ // using `?` to short circuit.
  3030. 406 > assert!(cx.run(core).is_err());
  3031. 407 │
  3032. 408 │ // Check if there are any deferred tasks to notify. This can happen when
  3033. 49: tokio::macros::scoped_tls::ScopedKey<T>::set::he3416fcb227b0911
  3034. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/macros/scoped_tls.rs:61
  3035. 59 │ };
  3036. 60 │
  3037. 61 > f()
  3038. 62 │ }
  3039. 63 │
  3040. 50: tokio::runtime::scheduler::multi_thread::worker::run::h910e5a707bcc7d8b
  3041. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:403
  3042. 401 │ };
  3043. 402 │
  3044. 403 > CURRENT.set(&cx, || {
  3045. 404 │ // This should always be an error. It only returns a `Result` to support
  3046. 405 │ // using `?` to short circuit.
  3047. 51: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}::heb27208ce7ebe529
  3048. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/scheduler/multi_thread/worker.rs:365
  3049. 363 │ pub(crate) fn launch(mut self) {
  3050. 364 │ for worker in self.0.drain(..) {
  3051. 365 > runtime::spawn_blocking(move || run(worker));
  3052. 366 │ }
  3053. 367 │ }
  3054. 52: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll::hfa905e95c9ea1f47
  3055. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/task.rs:42
  3056. 40 │ crate::runtime::coop::stop();
  3057. 41 │
  3058. 42 > Poll::Ready(func())
  3059. 43 │ }
  3060. 44 │ }
  3061. 53: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::he43070c347199a6c
  3062. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:223
  3063. 221 │
  3064. 222 │ let _guard = TaskIdGuard::enter(self.task_id);
  3065. 223 > future.poll(&mut cx)
  3066. 224 │ })
  3067. 225 │ };
  3068. 54: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::ha44a91e465c297b6
  3069. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/loom/std/unsafe_cell.rs:14
  3070. 12 │
  3071. 13 │ pub(crate) fn with_mut<R>(&self, f: impl FnOnce(*mut T) -> R) -> R {
  3072. 14 > f(self.0.get())
  3073. 15 │ }
  3074. 16 │ }
  3075. 55: tokio::runtime::task::core::Core<T,S>::poll::h3e8df8f7b7671d92
  3076. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/core.rs:212
  3077. 210 │ pub(super) fn poll(&self, mut cx: Context<'_>) -> Poll<T::Output> {
  3078. 211 │ let res = {
  3079. 212 > self.stage.stage.with_mut(|ptr| {
  3080. 213 │ // Safety: The caller ensures mutual exclusion to the field.
  3081. 214 │ let future = match unsafe { &mut *ptr } {
  3082. 56: tokio::runtime::task::harness::poll_future::{{closure}}::h4fea636f6cb2d6ac
  3083. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:476
  3084. 474 │ }
  3085. 475 │ let guard = Guard { core };
  3086. 476 > let res = guard.core.poll(cx);
  3087. 477 │ mem::forget(guard);
  3088. 478 │ res
  3089. 57: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h12abfbfa4efc75dc
  3090. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/core/src/panic/unwind_safe.rs:271
  3091. 58: std::panicking::try::do_call::h13355a7773e90623
  3092. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:483
  3093. 59: std::panicking::try::h83ada4fb567f3238
  3094. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panicking.rs:447
  3095. 60: std::panic::catch_unwind::h9f0aa85cf1251a10
  3096. at /rustc/90743e7298aca107ddaa0c202a4d3604e29bfeb6/library/std/src/panic.rs:137
  3097. 61: tokio::runtime::task::harness::poll_future::hb53f81b6ab2a8caf
  3098. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:464
  3099. 462 │ fn poll_future<T: Future, S: Schedule>(core: &Core<T, S>, cx: Context<'_>) -> Poll<()> {
  3100. 463 │ // Poll the future.
  3101. 464 > let output = panic::catch_unwind(panic::AssertUnwindSafe(|| {
  3102. 465 │ struct Guard<'a, T: Future, S: Schedule> {
  3103. 466 │ core: &'a Core<T, S>,
  3104. 62: tokio::runtime::task::harness::Harness<T,S>::poll_inner::h3663286d1cdd3ffe
  3105. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:198
  3106. 196 │ let waker_ref = waker_ref::<T, S>(&header_ptr);
  3107. 197 │ let cx = Context::from_waker(&waker_ref);
  3108. 198 > let res = poll_future(self.core(), cx);
  3109. 199 │
  3110. 200 │ if res == Poll::Ready(()) {
  3111. 63: tokio::runtime::task::harness::Harness<T,S>::poll::h5915fa41a462a009
  3112. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/harness.rs:152
  3113. 150 │ pub(super) fn poll(self) {
  3114. 151 │ // We pass our ref-count to `poll_inner`.
  3115. 152 > match self.poll_inner() {
  3116. 153 │ PollFuture::Notified => {
  3117. 154 │ // The `poll_inner` call has given us two ref-counts back.
  3118. 64: tokio::runtime::task::raw::RawTask::poll::h067ab0e6ac2e2262
  3119. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/raw.rs:200
  3120. 198 │ pub(super) fn poll(self) {
  3121. 199 │ let vtable = self.header().vtable;
  3122. 200 > unsafe { (vtable.poll)(self.ptr) }
  3123. 201 │ }
  3124. 202 │
  3125. 65: tokio::runtime::task::UnownedTask<S>::run::h135914741b518a8c
  3126. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/task/mod.rs:431
  3127. 429 │
  3128. 430 │ // Use the other ref-count to poll the task.
  3129. 431 > raw.poll();
  3130. 432 │ // Decrement our extra ref-count
  3131. 433 │ drop(task);
  3132. 66: tokio::runtime::blocking::pool::Task::run::h23007f273ae99457
  3133. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:159
  3134. 157 │
  3135. 158 │ fn run(self) {
  3136. 159 > self.task.run();
  3137. 160 │ }
  3138. 161 │
  3139. 67: tokio::runtime::blocking::pool::Inner::run::h6739b0c7ee2d93a9
  3140. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:511
  3141. 509 │ self.metrics.dec_queue_depth();
  3142. 510 │ drop(shared);
  3143. 511 > task.run();
  3144. 512 │
  3145. 513 │ shared = self.shared.lock();
  3146. 68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}::hbf2cfa047ab0423e
  3147. at /home/g/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.24.2/src/runtime/blocking/pool.rs:469
  3148. 467 │ // Only the reference should be moved into the closure
  3149. 468 │ let _enter = rt.enter();
  3150. 469 > rt.inner.blocking_spawner().inner.run(id);
  3151. 470 │ drop(shutdown_tx);
  3152. 471 │ })
  3153. ⋮ 13 frames hidden ⋮
  3154.  
  3155.  
  3156.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement