#!watchflakes
post <- pkg == "net" && test == "TestDialerControlContext" && `panic: test timed out` && log ~ `goroutine \d+ \[runnable\]:\nsyscall\.Syscall`
自动创建的问题以收集这些故障。
示例( log ):
panic: test timed out after 12m0s
running tests:
TestDialerControlContext (11m59s)
TestDialerControlContext/StreamDial (11m59s)
runtime.gopark(0x120361990, 0xc00005f248, 0xe, 0x17, 0x2)
/tmp/gobuilder-mips64le/go/src/runtime/proc.go:398 +0x140 fp=0xc0004225e8 sp=0xc0004225d0 pc=0x120052f70
runtime.chanrecv(0xc00005f1f0, 0xc0004226cf, 0x1)
/tmp/gobuilder-mips64le/go/src/runtime/chan.go:583 +0x5a4 fp=0xc000422658 sp=0xc0004225e8 pc=0x120009514
runtime.chanrecv1(0xc00005f1f0, 0xc0004226cf)
/tmp/gobuilder-mips64le/go/src/runtime/chan.go:442 +0x2c fp=0xc000422680 sp=0xc000422658 pc=0x120008f14
testing.(*T).Run(0xc0002e0ea0, {0x12034a1e4, 0xa}, 0x120361590)
/tmp/gobuilder-mips64le/go/src/testing/testing.go:1649 +0x4f0 fp=0xc000422738 sp=0xc000422680 pc=0x120140630
net.TestDialerControlContext(0xc0002e0ea0)
/tmp/gobuilder-mips64le/go/src/net/dial_test.go:1030 +0x68 fp=0xc000422768 sp=0xc000422738 pc=0x12021c2b8
testing.tRunner(0xc0002e0ea0, 0x120360c00)
4条答案
按热度按时间j8ag8udp1#
找到新的 Jmeter 板测试碎片:
2023-09-06 19:37 linux-mips64le-rtrk go@729f214e net.TestDialerControlContext ( log )
— watchflakes
hgqdbh6s2#
在我看来,这看起来像是一个运行时/编译器错误:测试卡住了12分钟,但从
panic
获取的goroutine转储显示了一个可运行的goroutine。hgtggwj03#
这并不完全清楚,因为我们不知道goroutine运行了多长时间。在审查中,Michael Pratt指出,可能是因为当我们退出时,一个套接字被关闭(可能是通过defer或其他方式?),这实际上唤醒了syscall中的goroutine,但由于世界冻结,它无法获得P并最终意外地进入可运行状态。
mbzjlibv4#
CC @golang/mips