syzbot


panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:

Status: fixed on 2022/12/13 21:58
Fix commit: 4f326de47636 Make nic.spoofing and nic.promiscuous atomic Bools to avoid lock contention.
First crash: 719d, last: 713d

Sample crash report:
panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
goroutine 247 [running]:
gvisor.dev/gvisor/pkg/sync/locking.(*ancestorsAtomicPtrMap).RangeRepeatable(0xc0002542f0, 0xc000c42600)
	bazel-out/k8-fastbuild-ST-3dcbe13c9b87/bin/pkg/sync/locking/atomicptrmap_ancestors_unsafe.go:441 +0x1dc
gvisor.dev/gvisor/pkg/sync/locking.checkLock(0xc000254360, 0xc0002542d0, {0x0, 0x0, 0x0})
	pkg/sync/locking/lockdep.go:98 +0x373
gvisor.dev/gvisor/pkg/sync/locking.AddGLock(0xc000254360, 0xffffffffffffffff)
	pkg/sync/locking/lockdep.go:126 +0x28c
gvisor.dev/gvisor/pkg/tcpip/stack.(*routeRWMutex).RLock(0xc0008a2050)
	bazel-out/k8-fastbuild-ST-3dcbe13c9b87/bin/pkg/tcpip/stack/route_mutex.go:59 +0x45
gvisor.dev/gvisor/pkg/tcpip/stack.(*Route).resolvedFields(0xc0008a2000, 0x0)
	pkg/tcpip/stack/route.go:379 +0x91
gvisor.dev/gvisor/pkg/tcpip/stack.(*packetsPendingLinkResolution).enqueue(0xc000686798, 0x10?, {0xc0001b0170?})
	pkg/tcpip/stack/pending_packets.go:128 +0xac
gvisor.dev/gvisor/pkg/tcpip/stack.(*nic).WritePacket(0xc000686600, 0x5b4?, {0xc0008a60c0?})
	pkg/tcpip/stack/nic.go:368 +0x145
gvisor.dev/gvisor/pkg/tcpip/network/ipv6.(*endpoint).writePacket(0xc000662d00, 0xc0008a2000, {0x10?}, 0x41a039?, 0x0)
	pkg/tcpip/network/ipv6/ipv6.go:863 +0x409
gvisor.dev/gvisor/pkg/tcpip/network/ipv6.(*endpoint).WritePacket(0xc000662d00, 0xc0008a2000, {0x86dd?, 0x0?, 0x0?}, {0x4e2200000000?})
	pkg/tcpip/network/ipv6/ipv6.go:814 +0x2d8
gvisor.dev/gvisor/pkg/tcpip/stack.(*Route).WritePacket(0xc0008a2000, {0x1b0110?, 0xc0?, 0x0?}, {0x10?})
	pkg/tcpip/stack/route.go:498 +0xf9
gvisor.dev/gvisor/pkg/tcpip/transport/tcp.sendTCP(0xc0008a2000, {{0x4e22, {0xc0001b0110, 0x10}, 0x0, {0xc0001b0100, 0x10}}, 0x40, 0x0, 0x14, ...}, ...)
	pkg/tcpip/transport/tcp/connect.go:912 +0x3fc
gvisor.dev/gvisor/pkg/tcpip/transport/tcp.replyWithReset(0xc0005f4e22?, 0xc0007222d0, 0x0, 0x0?, 0x0?)
	pkg/tcpip/transport/tcp/protocol.go:231 +0x658
gvisor.dev/gvisor/pkg/tcpip/transport/tcp.(*protocol).HandleUnknownDestinationPacket(0xc000256000, {0x4e22, {0xc0001b0110, 0x10}, 0x0, {0xc0001b0100, 0x10}}, {0xc0001b0100?})
	pkg/tcpip/transport/tcp/protocol.go:169 +0x1fb
gvisor.dev/gvisor/pkg/tcpip/stack.(*nic).DeliverTransportPacket(0xc000686600, 0x6, {0xc000b13a08?})
	pkg/tcpip/stack/nic.go:847 +0x58e
gvisor.dev/gvisor/pkg/tcpip/network/ipv6.(*endpoint).processIPv6RawPayloadHeader(0xc000662d00, 0xc000b13db8, 0x10?, {0xc0001fcf60?}, 0xc0001fcf60?, 0x0, 0xc0?)
	pkg/tcpip/network/ipv6/ipv6.go:1481 +0x2ac
gvisor.dev/gvisor/pkg/tcpip/network/ipv6.(*endpoint).processExtensionHeader(0xc000662d00, 0xc000b82b70, 0xc000b14178, {0xc00052c70e, 0x28, 0xf2}, 0xc000b140a0, 0xc000b14046, 0x0)
	pkg/tcpip/network/ipv6/ipv6.go:1395 +0x4cc
gvisor.dev/gvisor/pkg/tcpip/network/ipv6.(*endpoint).processExtensionHeaders(0xc00091c230?, {0xc00052c70e, 0x28, 0xf2}, {0xc0005fe000}, 0xc0?)
	pkg/tcpip/network/ipv6/ipv6.go:1440 +0x3b2
gvisor.dev/gvisor/pkg/tcpip/network/ipv6.(*endpoint).deliverPacketLocally(0xc000662d00, {0xc00052c70e, 0x28, 0xf2}, {0xb?}, {0xc00041a039, 0x7})
	pkg/tcpip/network/ipv6/ipv6.go:1329 +0x156
gvisor.dev/gvisor/pkg/tcpip/network/ipv6.(*endpoint).handleValidatedPacket(0xc000662d00, {0xc00052c70e, 0x28, 0xf2}, {0xc00041a039?}, {0xc00041a039, 0x7})
	pkg/tcpip/network/ipv6/ipv6.go:1308 +0x2fb
gvisor.dev/gvisor/pkg/tcpip/network/ipv6.(*endpoint).HandlePacket(0xc000662d00, {0xc0002ba000?})
	pkg/tcpip/network/ipv6/ipv6.go:1092 +0x68c
gvisor.dev/gvisor/pkg/tcpip/stack.(*groDispatcher).dispatch(0xc000686818, {0xc0003c08d0?}, 0x86dd, {0x79bcc8, 0xc000662d00})
	pkg/tcpip/stack/gro.go:297 +0x899
gvisor.dev/gvisor/pkg/tcpip/stack.(*nic).DeliverNetworkPacket(0xc000686600, 0x86dd, {0x1?})
	pkg/tcpip/stack/nic.go:741 +0x1cc
gvisor.dev/gvisor/pkg/tcpip/link/nested.(*Endpoint).DeliverNetworkPacket(0xc000784280, 0x1a90b6b?, {0xe?})
	pkg/tcpip/link/nested/nested.go:59 +0x99
gvisor.dev/gvisor/pkg/tcpip/link/packetsocket.(*endpoint).DeliverNetworkPacket(0xc000784280, 0x1?, {0xc00052c600?})
	pkg/tcpip/link/packetsocket/packetsocket.go:46 +0x59
gvisor.dev/gvisor/pkg/tcpip/link/channel.(*Endpoint).InjectInbound(...)
	pkg/tcpip/link/channel/channel.go:194
gvisor.dev/gvisor/pkg/tcpip/link/tun.(*Device).Write(0xc000434068, 0xc000b82750)
	pkg/tcpip/link/tun/device.go:249 +0xde6
gvisor.dev/gvisor/pkg/sentry/devices/tundev.(*tunFD).Write(0xc000434000, {0x79d1d8?, 0xc0006fca80}, {{0x797d38, 0xc0006ba000}, {0x0, 0x1, 0x20000080, 0x8a}, {0x0, ...}}, ...)
	pkg/sentry/devices/tundev/tundev.go:164 +0x3b6
gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).Write(0xc000434000, {0x79d1d8, 0xc0006fca80}, {{0x797d38, 0xc0006ba000}, {0x0, 0x1, 0x20000080, 0x8a}, {0x0, ...}}, ...)
	pkg/sentry/vfs/file_description.go:674 +0x125
gvisor.dev/gvisor/pkg/sentry/syscalls/linux.write(0x98716?, 0xc000434000, {{0x797d38, 0xc0006ba000}, {0x0, 0x1, 0x20000080, 0x8a}, {0x0, 0x1}}, ...)
	pkg/sentry/syscalls/linux/sys_read_write.go:347 +0x9d
gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Write(0xc0006fca80, {{0xc8}, {0x20000080}, {0x8a}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/syscalls/linux/sys_read_write.go:316 +0x2a8
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc0006fca80, 0x1, {{0xc8}, {0x20000080}, {0x8a}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/kernel/task_syscall.go:142 +0x9b9
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc0006fca80, 0x0?, {{0xc8}, {0x20000080}, {0x8a}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/kernel/task_syscall.go:322 +0x7d
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc0009b15f0?, 0xc0003d5c70?, {{0xc8}, {0x20000080}, {0x8a}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/kernel/task_syscall.go:282 +0x8f
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc0006fca80)
	pkg/sentry/kernel/task_syscall.go:257 +0x4c5
gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc0006fca80?, 0xc0006fca80)
	pkg/sentry/kernel/task_run.go:253 +0x1965
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc0006fca80, 0x10)
	pkg/sentry/kernel/task_run.go:94 +0x3a2
created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start
	pkg/sentry/kernel/task_start.go:377 +0x1ad

Crashes (2602):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/12/09 17:52 gvisor 133876121165 1034e5fa .config console log report syz C ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/09 17:24 gvisor 133876121165 1034e5fa .config console log report syz C ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 21:27 gvisor 368e85414697 f6511626 .config console log report info ci-gvisor-ptrace-2-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 20:54 gvisor 368e85414697 f6511626 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 19:54 gvisor 368e85414697 f6511626 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 18:58 gvisor 368e85414697 f6511626 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 18:57 gvisor 368e85414697 f6511626 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 17:55 gvisor 368e85414697 f6511626 .config console log report info ci-gvisor-ptrace-1-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 17:25 gvisor 368e85414697 f6511626 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 17:18 gvisor 368e85414697 f6511626 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 16:51 gvisor 368e85414697 f6511626 .config console log report info ci-gvisor-ptrace-2-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 15:59 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 15:28 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 15:25 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 14:23 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 13:25 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 13:08 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 12:07 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 12:05 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 10:54 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 10:29 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 10:17 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 09:13 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 08:25 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 07:24 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 06:23 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 06:20 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 04:51 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 03:58 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 03:56 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 02:54 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 02:48 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 01:34 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/13 01:18 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 23:51 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 23:44 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 22:44 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 22:35 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 21:32 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 21:28 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 20:28 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 20:24 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 19:23 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 18:23 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 18:11 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 17:11 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-2-race panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/12 17:08 gvisor 368e85414697 67be1ae7 .config console log report info ci-gvisor-ptrace-1-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
2022/12/08 08:59 gvisor 2e0cc62d827d 1034e5fa .config console log report info ci-gvisor-ptrace-1-race-cover panic: WARNING: circular locking detected: stack.packetsPendingLinkResolutionMutex -> stack.routeRWMutex:
* Struck through repros no longer work on HEAD.