Open bassosimone opened 9 months ago
I have seen this test of the ./internal/testingsocks5 package fail twice in https://github.com/ooni/probe-cli/pull/1281.
./internal/testingsocks5
The full log of a failed tests run is here:
--- FAIL: TestInvalidVersion (0.00s) internal_test.go:102: write tcp 127.0.0.1:49540->127.0.0.1:38529: write: connection reset by peer 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [] 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 1 2 1 3 102 111 111 51 98 97 114] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 255] 2023/09/18 11:41:03 warn SOCKS5: s.serveConn: failed to authenticate: failed to get auth methods: EOF 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 255] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 1 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 0] 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 1 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 0] 2023/09/18 11:41:03 warn SOCKS5: s.serveConn: failed to read destination address: failed to get command version: unexpected EOF 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [17 2 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 1 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 0] 2023/09/18 11:41:03 warn SOCKS5: s.serveConn: failed to read destination address: unsupported command version: 17 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 2 0 1 127 0 0 1 0 80] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 7 0 1 0 0 0 0 0 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 7 0 1 0 0 0 0 0 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 1 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 0] 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 2 0 55 127 0 0 1 0 80] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 1 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 0] 2023/09/18 11:41:03 warn SOCKS5: s.serveConn: failed to read destination address: unrecognized address type 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 2 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 1 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 0] 2023/09/18 11:41:03 warn SOCKS5: s.serveConn: failed to read destination address: EOF 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 2 0 1] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 1 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 0] 2023/09/18 11:41:03 warn SOCKS5: s.serveConn: failed to read destination address: EOF 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 2 0 4] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 1 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 0] 2023/09/18 11:41:03 warn SOCKS5: s.serveConn: failed to read destination address: EOF 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 2 0 3] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [] 2023/09/18 11:41:03 warn SOCKS5: s.serveConn: failed to authenticate: no supported authentication mechanism 2023/09/18 11:41:03 warn SOCKS5: s.serveConn: failed to read destination address: EOF 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 1 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 0] 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 0] 2023/09/18 11:41:03 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 2 0 3 10] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [] 2023/09/18 11:41:03 warn SOCKS5: s.serveConn: failed to read destination address: EOF 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 1 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [5 0] 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [5 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: sending: [5 2 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] 2023/09/18 11:41:03 info SOCKS5_CLIENT: expecting: [] 2023/09/18 11:41:03 info SOCKS5_CLIENT: got: [] 2023/09/18 11:41:03 warn SOCKS5: s.serveConn: failed to read destination address: EOF 2023/09/18 11:41:03 dialerWithAssertions: verified that the network is tcp as expected 2023/09/18 11:41:03 dialerWithAssertions: verified that the address is 10.0.0.1 as expected 2023/09/18 11:41:03 info SOCKS5: got version: [5] 2023/09/18 11:41:03 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:03 info SOCKS5: handling CONNECT command 2023/09/18 11:41:03 info SOCKS5: endpoint: www.example.com:80 2023/09/18 11:41:03 warn netem: ReadFrameNonblocking: netem: network stack closed 2023/09/18 11:41:03 warn netem: dns: pconn.ReadFrom: EOF 2023/09/18 11:41:03 warn netem: ReadFrameNonblocking: netem: network stack closed 2023/09/18 11:41:04 dialerWithAssertions: verified that the network is tcp as expected 2023/09/18 11:41:04 dialerWithAssertions: verified that the address is 10.0.0.1 as expected 2023/09/18 11:41:04 info SOCKS5: got version: [5] 2023/09/18 11:41:04 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:04 info SOCKS5: handling CONNECT command 2023/09/18 11:41:04 info SOCKS5: endpoint: www.example.com:443 2023/09/18 11:41:04 warn netem: dns: pconn.ReadFrom: EOF 2023/09/18 11:41:04 dialerWithAssertions: verified that the network is tcp as expected 2023/09/18 11:41:04 dialerWithAssertions: verified that the address is 10.0.0.1 as expected 2023/09/18 11:41:04 info SOCKS5: got version: [5] 2023/09/18 11:41:04 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:04 info SOCKS5: handling CONNECT command 2023/09/18 11:41:04 info SOCKS5: endpoint: 93.184.216.34:80 2023/09/18 11:41:04 warn netem: ReadFrameNonblocking: netem: network stack closed 2023/09/18 11:41:04 warn netem: dns: pconn.ReadFrom: EOF 2023/09/18 11:41:05 dialerWithAssertions: verified that the network is tcp as expected 2023/09/18 11:41:05 dialerWithAssertions: verified that the address is 10.0.0.1 as expected 2023/09/18 11:41:05 info SOCKS5: got version: [5] 2023/09/18 11:41:05 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:05 info SOCKS5: handling CONNECT command 2023/09/18 11:41:05 info SOCKS5: endpoint: 93.184.216.34:443 2023/09/18 11:41:05 warn netem: dns: pconn.ReadFrom: EOF 2023/09/18 11:41:05 warn netem: ReadFrameNonblocking: netem: network stack closed 2023/09/18 11:41:06 info SOCKS5: got version: [5] 2023/09/18 11:41:06 info SOCKS5: authenticated: &{Method:0 Payload:map[]} 2023/09/18 11:41:06 info SOCKS5: handling CONNECT command 2023/09/18 11:41:06 info SOCKS5: endpoint: www.example.com:443 2023/09/18 11:41:06 warn netem: dns: pconn.ReadFrom: EOF FAIL github.com/ooni/probe-cli/v3/internal/testingsocks5 coverage: 100.0% of statements FAIL github.com/ooni/probe-cli/v3/internal/testingsocks5 3.517s
I am going to commit a mitigation for this test being flaky. We should investigate and fix it when possible.
I have seen this test of the
./internal/testingsocks5
package fail twice in https://github.com/ooni/probe-cli/pull/1281.The full log of a failed tests run is here:
I am going to commit a mitigation for this test being flaky. We should investigate and fix it when possible.