syzbot


panic: FIN segments must be the final segment in the write list.

Status: fixed on 2021/07/08 19:26
Fix commit: 1fc7a9eac2f2 Do not queue zero sized segments.
First crash: 1241d, last: 1240d

Sample crash report:
panic: FIN segments must be the final segment in the write list.

goroutine 384653 [running]:
panic(0x17cbe20, 0x1c27e70)
	GOROOT/src/runtime/panic.go:1065 +0x565 fp=0xc002186758 sp=0xc002186690 pc=0x43a6c5
gvisor.dev/gvisor/pkg/tcpip/transport/tcp.(*sender).maybeSendSegment(0xc0021a4000, 0xc001b59e00, 0xffcb, 0xa510f0a9, 0xc00dd8ab68)
	pkg/tcpip/transport/tcp/snd.go:764 +0xc85 fp=0xc002186870 sp=0xc002186758 pc=0xec9905
gvisor.dev/gvisor/pkg/tcpip/transport/tcp.(*sender).sendData(0xc0021a4000)
	pkg/tcpip/transport/tcp/snd.go:946 +0x305 fp=0xc002186948 sp=0xc002186870 pc=0xeca2e5
gvisor.dev/gvisor/pkg/tcpip/transport/tcp.(*sender).retransmitTimerExpired(0xc0021a4000, 0xc002187458)
	pkg/tcpip/transport/tcp/snd.go:541 +0x8ae fp=0xc0021873f0 sp=0xc002186948 pc=0xec750e
gvisor.dev/gvisor/pkg/tcpip/transport/tcp.(*endpoint).protocolMainLoop.func3(0xc002187f50, 0x4)
	pkg/tcpip/transport/tcp/connect.go:1398 +0x7d fp=0xc002187de0 sp=0xc0021873f0 pc=0xedabbd
gvisor.dev/gvisor/pkg/tcpip/transport/tcp.(*endpoint).protocolMainLoop(0xc0034f0000, 0xc00e71d301, 0x0, 0x0, 0x0)
	pkg/tcpip/transport/tcp/connect.go:1569 +0xa2b fp=0xc002187fb8 sp=0xc002187de0 pc=0xe9ea6b
runtime.goexit()
	src/runtime/asm_amd64.s:1371 +0x1 fp=0xc002187fc0 sp=0xc002187fb8 pc=0x477501
created by gvisor.dev/gvisor/pkg/tcpip/transport/tcp.(*endpoint).connect
	pkg/tcpip/transport/tcp/endpoint.go:2339 +0xd86

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/07/04 19:09 gvisor add8bca5ba53 55aa55c2 .config console log report info ci-gvisor-ptrace-1-race panic: FIN segments must be the final segment in the write list.
2021/07/04 08:29 gvisor add8bca5ba53 55aa55c2 .config console log report info ci-gvisor-ptrace-1 panic: FIN segments must be the final segment in the write list.
* Struck through repros no longer work on HEAD.