go net:频繁的TestTCPListener失败在linux-amd64-wsl上

jk9hmnmh  于 5个月前  发布在  Go
关注(0)|答案(4)|浏览(76)
#!watchflakes
post <- pkg == "net" && test == "TestTCPListener" && builder ~ `.*-wsl`

(注意 @golang/wsl; CC @qmuntal@ianlancetaylor@neild)

wd2eg0qa

wd2eg0qa1#

https://build.golang.org/log/a1e647502ffe3ced34891a80b7bc714aebdf2ab3 :

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail

(注意,这之前在 #22020 中报告过,因此这种故障模式显然相当古老。)

fjnneemd

fjnneemd2#

找到了新的 Jmeter 板测试碎片:

#!watchflakes
post <- pkg == "net" && test == "TestTCPListener" && builder ~ `.*-wsl`

2023-05-10 16:34 linux-amd64-wsl go@945a2b17 net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m58s)
	TestSplice/tcp-to-tcp (2m58s)
	TestSplice/tcp-to-tcp/big (2m58s)

goroutine 1008 [running]:
panic({0x6417a0?, 0xc00028e060?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc000050f10 sp=0xc000050e60 pc=0x437b0c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc000050fe0 sp=0xc000050f10 pc=0x4eab19
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc000050fe8 sp=0xc000050fe0 pc=0x46be21
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

2023-05-15 15:42 linux-amd64-wsl go@e9f1bb96 net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m59s)
	TestSplice/tcp-to-tcp (2m59s)
	TestSplice/tcp-to-tcp/big (2m59s)

goroutine 1006 [running]:
panic({0x644740?, 0xc000386060?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc00008ff10 sp=0xc00008fe60 pc=0x43854c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc00008ffe0 sp=0xc00008ff10 pc=0x4ea179
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc00008ffe8 sp=0xc00008ffe0 pc=0x46c6c1
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

2023-05-15 19:12 linux-amd64-wsl go@ff3aefba net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m58s)
	TestSplice/tcp-to-tcp (2m58s)
	TestSplice/tcp-to-tcp/big (2m58s)

goroutine 1000 [running]:
panic({0x644740?, 0xc0000260b0?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc0000d1f10 sp=0xc0000d1e60 pc=0x43854c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc0000d1fe0 sp=0xc0000d1f10 pc=0x4ea179
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc0000d1fe8 sp=0xc0000d1fe0 pc=0x46c6c1
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

2023-05-16 01:41 linux-amd64-wsl go@65306bcd net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m58s)
	TestSplice/tcp-to-tcp (2m58s)
	TestSplice/tcp-to-tcp/multipleWrite (2m58s)

goroutine 975 [running]:
panic({0x644740?, 0xc00019c060?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc00004af10 sp=0xc00004ae60 pc=0x43852c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc00004afe0 sp=0xc00004af10 pc=0x4ea139
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc00004afe8 sp=0xc00004afe0 pc=0x46c6e1
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

2023-05-16 18:01 linux-amd64-wsl go@6fc5e7d4 net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m58s)
	TestSplice/tcp-to-tcp (2m58s)
	TestSplice/tcp-to-tcp/big (2m58s)

goroutine 1012 [running]:
panic({0x644740?, 0xc000476060?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc000158f10 sp=0xc000158e60 pc=0x43852c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc000158fe0 sp=0xc000158f10 pc=0x4ea139
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc000158fe8 sp=0xc000158fe0 pc=0x46c6e1
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

2023-05-16 19:16 linux-amd64-wsl go@4cf79e47 net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m58s)
	TestSplice/tcp-to-tcp (2m58s)
	TestSplice/tcp-to-tcp/big (2m58s)

goroutine 981 [running]:
panic({0x644740?, 0xc000098260?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc00013ef10 sp=0xc00013ee60 pc=0x43852c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc00013efe0 sp=0xc00013ef10 pc=0x4ea139
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc00013efe8 sp=0xc00013efe0 pc=0x46c6e1
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

2023-05-16 21:37 linux-amd64-wsl go@51fe7062 net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m57s)
	TestSplice/tcp-to-tcp (2m57s)
	TestSplice/tcp-to-tcp/big (2m57s)

goroutine 991 [running]:
panic({0x644740?, 0xc000306060?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc00004ff10 sp=0xc00004fe60 pc=0x43852c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc00004ffe0 sp=0xc00004ff10 pc=0x4ea139
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc00004ffe8 sp=0xc00004ffe0 pc=0x46c6e1
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

2023-05-16 21:40 linux-amd64-wsl go@d29dd2ec net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m58s)
	TestSplice/tcp-to-tcp (2m58s)
	TestSplice/tcp-to-tcp/big (2m58s)

goroutine 1000 [running]:
panic({0x644740?, 0xc000332060?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc00012ef10 sp=0xc00012ee60 pc=0x43852c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc00012efe0 sp=0xc00012ef10 pc=0x4ea139
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc00012efe8 sp=0xc00012efe0 pc=0x46c6e1
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

2023-05-16 23:01 linux-amd64-wsl go@099f5a98 net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m58s)
	TestSplice/tcp-to-tcp (2m58s)
	TestSplice/tcp-to-tcp/big (2m57s)

goroutine 1003 [running]:
panic({0x644740?, 0xc000026070?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc000233f10 sp=0xc000233e60 pc=0x43852c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc000233fe0 sp=0xc000233f10 pc=0x4ea139
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc000233fe8 sp=0xc000233fe0 pc=0x46c6e1
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

2023-05-16 23:34 linux-amd64-wsl go@882cc4d5 net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m58s)
	TestSplice/tcp-to-tcp (2m58s)
	TestSplice/tcp-to-tcp/big (2m58s)

goroutine 989 [running]:
panic({0x644740?, 0xc0003f6060?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc000050f10 sp=0xc000050e60 pc=0x43852c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc000050fe0 sp=0xc000050f10 pc=0x4ea139
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc000050fe8 sp=0xc000050fe0 pc=0x46c6e1
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

watchflakes

rfbsl7qr

rfbsl7qr3#

找到了新的 Jmeter 板测试碎片:

#!watchflakes
post <- pkg == "net" && test == "TestTCPListener" && builder ~ `.*-wsl`

2023-05-17 04:58 linux-amd64-wsl go@547aed18 net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m58s)
	TestSplice/tcp-to-tcp (2m58s)
	TestSplice/tcp-to-tcp/big (2m58s)

goroutine 1010 [running]:
panic({0x644740?, 0xc0000260b0?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc0000b9f10 sp=0xc0000b9e60 pc=0x43852c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc0000b9fe0 sp=0xc0000b9f10 pc=0x4ea139
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc0000b9fe8 sp=0xc0000b9fe0 pc=0x46c6e1
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

2023-05-17 11:57 linux-amd64-wsl go@7bc32817 net.TestTCPListener ( log )

--- FAIL: TestTCPListener (0.00s)
    listen_test.go:72: skipping tcp  test
    listen_test.go:72: skipping tcp 0.0.0.0 test
    listen_test.go:72: skipping tcp ::ffff:0.0.0.0 test
    listen_test.go:72: skipping tcp :: test
    listen_test.go:90: tcp 127.0.0.1 should fail
panic: test timed out after 3m0s
running tests:
	TestSplice (2m58s)
	TestSplice/tcp-to-tcp (2m58s)
	TestSplice/tcp-to-tcp/big (2m57s)

goroutine 878 [running]:
panic({0x644740?, 0xc000304060?})
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/panic.go:1017 +0x3ac fp=0xc00004df10 sp=0xc00004de60 pc=0x43852c
testing.(*M).startAlarm.func1()
	/tmp/workdir-host-linux-amd64-wsl/go/src/testing/testing.go:2259 +0x3b9 fp=0xc00004dfe0 sp=0xc00004df10 pc=0x4ea139
runtime.goexit()
	/tmp/workdir-host-linux-amd64-wsl/go/src/runtime/asm_amd64.s:1622 +0x1 fp=0xc00004dfe8 sp=0xc00004dfe0 pc=0x46c6e1
created by time.goFunc
	/tmp/workdir-host-linux-amd64-wsl/go/src/time/sleep.go:176 +0x2d

watchflakes

8wtpewkr

8wtpewkr4#

我想知道这是否与违反Windows防火墙有关,就像在#59497中一样。
我注意到其中几个测试也省略了localhost地址:
https://cs.opensource.google/go/go/+/master:src/net/listen_test.go;l=35-59;drc=50f2b7b76481f045649d12d2a26dd36b7cc248a3
(CC @golang/windows)

相关问题