panic: WARNING: circular locking detected: kernfs.ancestryRWMutex -> vfs.inotifyEventMutex: goroutine 50679 [running]: gvisor.dev/gvisor/pkg/sync/locking.(*ancestorsAtomicPtrMap).RangeRepeatable(0xc0002bf220, 0xc000b82c00) bazel-out/k8-fastbuild/bin/pkg/sync/locking/atomicptrmap_ancestors_unsafe.go:440 +0x314 gvisor.dev/gvisor/pkg/sync/locking.checkLock(0xc000234990, 0xc0002bf200, {0xc001d291a0, 0x2, 0x2}) pkg/sync/locking/lockdep.go:112 +0x4eb gvisor.dev/gvisor/pkg/sync/locking.checkLock.func1(0xc0002bf200, 0xc000b82d90?) pkg/sync/locking/lockdep.go:115 +0x74 gvisor.dev/gvisor/pkg/sync/locking.(*ancestorsAtomicPtrMap).RangeRepeatable(0xc000234ad0, 0xc000b82e40) bazel-out/k8-fastbuild/bin/pkg/sync/locking/atomicptrmap_ancestors_unsafe.go:440 +0x314 gvisor.dev/gvisor/pkg/sync/locking.checkLock(0xc000234990, 0xc000234ab0, {0xc002af96c8, 0x1, 0x1}) pkg/sync/locking/lockdep.go:112 +0x4eb gvisor.dev/gvisor/pkg/sync/locking.checkLock.func1(0xc000234ab0, 0xc000b82fd0?) pkg/sync/locking/lockdep.go:115 +0x74 gvisor.dev/gvisor/pkg/sync/locking.(*ancestorsAtomicPtrMap).RangeRepeatable(0xc000234b60, 0xc000b83080) bazel-out/k8-fastbuild/bin/pkg/sync/locking/atomicptrmap_ancestors_unsafe.go:440 +0x314 gvisor.dev/gvisor/pkg/sync/locking.checkLock(0xc000234990, 0xc000234b40, {0x0, 0x0, 0x0}) pkg/sync/locking/lockdep.go:112 +0x4eb gvisor.dev/gvisor/pkg/sync/locking.AddGLock(0xc000234990, 0xffffffffffffffff) pkg/sync/locking/lockdep.go:144 +0x37b gvisor.dev/gvisor/pkg/sentry/vfs.(*inotifyEventMutex).Lock(0xc0022aa258) bazel-out/k8-fastbuild/bin/pkg/sentry/vfs/inotify_event_mutex.go:33 +0x4d gvisor.dev/gvisor/pkg/sentry/vfs.(*Inotify).queueEvent(0xc0022aa1c0, 0xc00142b340) pkg/sentry/vfs/inotify.go:276 +0x4e gvisor.dev/gvisor/pkg/sentry/vfs.(*Watch).Notify(0xc000e713a0, {0xc0021d280b, 0x7}, 0x8, 0x0) pkg/sentry/vfs/inotify.go:604 +0x10b gvisor.dev/gvisor/pkg/sentry/vfs.(*Watches).Notify(0xc002624848, {0x21a50d0, 0xc000975208}, {0xc0021d280b, 0x7}, 0x8, 0x0, 0x0, 0x0) pkg/sentry/vfs/inotify.go:476 +0x1fe gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*Dentry).InotifyWithParent(0xc0024841b0, {0x21a50d0, 0xc000975208}, 0x8, 0x0, 0x0) pkg/sentry/fsimpl/kernfs/kernfs.go:578 +0x1ce gvisor.dev/gvisor/pkg/sentry/vfs.(*Dentry).InotifyWithParent(0xc0024841b0, {0x21a50d0, 0xc000975208}, 0x8, 0x0, 0x0) pkg/sentry/vfs/dentry.go:188 +0x87 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).DecRef.func1() pkg/sentry/vfs/file_description.go:167 +0x127 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescriptionRefs).DecRef(0xc0022aa140, 0xc000b83630) bazel-out/k8-fastbuild/bin/pkg/sentry/vfs/file_description_refs.go:133 +0xb4 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).DecRef(0xc0022aa140, {0x21a50d0, 0xc000975208}) pkg/sentry/vfs/file_description.go:161 +0xa5 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.CloseRange(0xc000975208, 0x457b27?, {{0x3}, {0x1e}, {0x0}, {0x559483ab2cb0}, {0x1e0}, {0x1abc2e49ef}}) pkg/sentry/syscalls/linux/sys_file.go:504 +0x3e7 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc000975208, 0x1b4, {{0x3}, {0x1e}, {0x0}, {0x559483ab2cb0}, {0x1e0}, {0x1abc2e49ef}}) pkg/sentry/kernel/task_syscall.go:143 +0xb90 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc000975208, 0x1b4, {{0x3}, {0x1e}, {0x0}, {0x559483ab2cb0}, {0x1e0}, {0x1abc2e49ef}}) pkg/sentry/kernel/task_syscall.go:323 +0x85 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc000975208, 0x1b4, {{0x3}, {0x1e}, {0x0}, {0x559483ab2cb0}, {0x1e0}, {0x1abc2e49ef}}) pkg/sentry/kernel/task_syscall.go:283 +0xc7 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc000975208) pkg/sentry/kernel/task_syscall.go:258 +0x53e gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc000975208?, 0xc000975208) pkg/sentry/kernel/task_run.go:269 +0x220c gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc000975208, 0x3000) pkg/sentry/kernel/task_run.go:97 +0x402 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 50156 pkg/sentry/kernel/task_start.go:416 +0x17e known lock chain: vfs.inotifyEventMutex -> mm.mappingRWMutex -> kernel.taskMutex -> vfs.virtualFilesystemMutex -> kernfs.ancestryRWMutex ====== vfs.inotifyEventMutex -> mm.mappingRWMutex ===== goroutine 10861 [running]: gvisor.dev/gvisor/pkg/sentry/mm.(*mappingRWMutex).RLock(0xc0010f305c) bazel-out/k8-fastbuild/bin/pkg/sentry/mm/mapping_mutex.go:59 +0x4d gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).withInternalMappings(0xc0010f3008, {0x21a50d0, 0xc001594c88}, {0x1?, 0x200000001ff0?}, {0x6c?, 0x86?, 0x48?}, 0x0, 0xc000b1af38) pkg/sentry/mm/io.go:545 +0x145 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).CopyOut(0xc0010f3008, {0x21a50d0, 0xc001594c88}, 0x200000002000, {0xc00159dd80, 0x20, 0x20}, {0x1?, 0x0?}) pkg/sentry/mm/io.go:130 +0x2e7 gvisor.dev/gvisor/pkg/usermem.CopyOutVec({0x21a50d0, 0xc001594c88}, {0x219aa78, 0xc0010f3008}, {0x0?, 0x1?, 0x48866c?, 0x48a355?}, {0xc00159dd80, 0x20, ...}, ...) pkg/usermem/usermem.go:264 +0x26b gvisor.dev/gvisor/pkg/usermem.IOSequence.CopyOut({{0x219aa78, 0xc0010f3008}, {0x0, 0x1, 0x200000002000, 0x1fe0}, {0x0, 0x1}}, {0x21a50d0, 0xc001594c88}, ...) pkg/usermem/usermem.go:482 +0xe8 gvisor.dev/gvisor/pkg/sentry/vfs.(*Event).CopyTo(0xc0016e0e80, {0x21a50d0, 0xc001594c88}, {0xc0015a81f0, 0x10, 0x10}, {{0x219aa78, 0xc0010f3008}, {0x0, 0x1, ...}, ...}) pkg/sentry/vfs/inotify.go:701 +0x7d9 gvisor.dev/gvisor/pkg/sentry/vfs.(*Inotify).Read(0xc0016e4700, {0x21a50d0, 0xc001594c88}, {{0x219aa78, 0xc0010f3008}, {0x0, 0x1, 0x200000001ff0, 0x1ff0}, {0x0, ...}}, ...) pkg/sentry/vfs/inotify.go:244 +0x632 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).Read(0xc0016e4700, {0x21a50d0, 0xc001594c88}, {{0x219aa78, 0xc0010f3008}, {0x0, 0x1, 0x200000001fc0, 0x2020}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description.go:653 +0x154 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.read(0xc001594c88, 0xc0016e4700, {{0x219aa78, 0xc0010f3008}, {0x0, 0x1, 0x200000001fc0, 0x2020}, {0x0, 0x1}}, ...) pkg/sentry/syscalls/linux/sys_read_write.go:93 +0xa5 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Read(0xc001594c88, 0x457b27?, {{0x5}, {0x200000001fc0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/syscalls/linux/sys_read_write.go:62 +0x38f gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc001594c88, 0x0, {{0x5}, {0x200000001fc0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:143 +0xb90 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc001594c88, 0x0, {{0x5}, {0x200000001fc0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:323 +0x85 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc001594c88, 0x0, {{0x5}, {0x200000001fc0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:283 +0xc7 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc001594c88) pkg/sentry/kernel/task_syscall.go:258 +0x53e gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc001594c88?, 0xc001594c88) pkg/sentry/kernel/task_run.go:269 +0x220c gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc001594c88, 0xa56) pkg/sentry/kernel/task_run.go:97 +0x402 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 10894 pkg/sentry/kernel/task_start.go:416 +0x17e ====== mm.mappingRWMutex -> kernel.taskMutex ===== goroutine 3784 [running]: gvisor.dev/gvisor/pkg/sentry/kernel.(*taskMutex).Lock(0xc000b6b620) bazel-out/k8-fastbuild/bin/pkg/sentry/kernel/task_mutex.go:35 +0x4d gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).contextValue(0xc000b6ac88, {0x1cca960, 0x2173df8}, 0x0) pkg/sentry/kernel/task_context.go:96 +0x1236 gvisor.dev/gvisor/pkg/sentry/kernel.(*taskAsyncContext).Value(0xc000954150, {0x1cca960, 0x2173df8}) pkg/sentry/kernel/task_context.go:159 +0x65 gvisor.dev/gvisor/pkg/sentry/vfs.RootFromContext({0x7fb92c37c208, 0xc000954150}) pkg/sentry/vfs/context.go:88 +0x58 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).MappedName(0xc0007b2300, {0x21a5168, 0xc000954150}) pkg/sentry/vfs/file_description.go:818 +0x78 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).appendVMAMapsEntryLocked(0x0?, {0x21a5168, 0xc000954150}, {0xc001529b08?, 0xc000bdebe0?}, 0xc00153d2c0) pkg/sentry/mm/procfs.go:129 +0x32c gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).vmaSmapsEntryIntoLocked(0xc000c6a008, {0x21a5168, 0xc000954150}, {0xc001529b08?, 0x48866c?}, 0xc000c22100) pkg/sentry/mm/procfs.go:160 +0xb5 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).ReadSmapsDataInto(0xc000c6a008, {0x21a5168, 0xc000954150}, 0xc000c22100) pkg/sentry/mm/procfs.go:141 +0x12e gvisor.dev/gvisor/pkg/sentry/fsimpl/proc.(*smapsData).Generate(0xc000da1888, {0x21a5168, 0xc000954150}, 0xc000c22100) pkg/sentry/fsimpl/proc/task_files.go:670 +0x9e gvisor.dev/gvisor/pkg/sentry/vfs.(*DynamicBytesFileDescriptionImpl).preadLocked(0xc000c220e0, {0x21a5168, 0xc000954150}, {{0x219aa78, 0xc000c6a008}, {0x0, 0x0, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description_impl_util.go:310 +0x1d9 gvisor.dev/gvisor/pkg/sentry/vfs.(*DynamicBytesFileDescriptionImpl).PRead(0xc000c220e0, {0x21a5168, 0xc000954150}, {{0x219aa78, 0xc000c6a008}, {0x0, 0x0, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description_impl_util.go:329 +0xd5 gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*DynamicBytesFD).PRead(0xc000c220e0, {0x21a5168, 0xc000954150}, {{0x219aa78, 0xc000c6a008}, {0x0, 0x0, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/fsimpl/kernfs/dynamic_bytes_file.go:133 +0xb7 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).PRead(0xc000c22140, {0x21a5168, 0xc000954150}, {{0x219aa78, 0xc000c6a008}, {0x0, 0x0, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description.go:638 +0x19b gvisor.dev/gvisor/pkg/sentry/syscalls/linux.getAIOCallback.func1({0x21a5168, 0xc000954150}) pkg/sentry/syscalls/linux/sys_aio.go:361 +0x3f4 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).QueueAIO.func1() pkg/sentry/kernel/aio.go:30 +0x62 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).QueueAIO in goroutine 3776 pkg/sentry/kernel/aio.go:29 +0x225 ====== kernel.taskMutex -> vfs.virtualFilesystemMutex ===== goroutine 271 [running]: gvisor.dev/gvisor/pkg/sentry/vfs.(*virtualFilesystemMutex).Lock(0xc0000045e0) bazel-out/k8-fastbuild/bin/pkg/sentry/vfs/virtual_filesystem_mutex.go:33 +0x4d gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).lockMounts(0xc0000045e0) pkg/sentry/vfs/vfs.go:1041 +0x3a gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).CloneMountNamespace(0xc0000045e0, {0x21a50d0, 0xc000c1f908}, 0xc000668288, 0xc0007d6060, 0xc000923290, 0xc0009232a0, {0x217dd00, 0xc000004408}) pkg/sentry/vfs/namespace.go:173 +0x229 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Unshare(0xc000c1f908, 0x20000) pkg/sentry/kernel/task_clone.go:717 +0x1556 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Unshare(0xc000c1f908, 0x457b27?, {{0x20000}, {0x7}, {0x7f861c64daf0}, {0x0}, {0x0}, {0x55ad8e7746c0}}) pkg/sentry/syscalls/linux/sys_thread.go:453 +0xd5 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc000c1f908, 0x110, {{0x20000}, {0x7}, {0x7f861c64daf0}, {0x0}, {0x0}, {0x55ad8e7746c0}}) pkg/sentry/kernel/task_syscall.go:143 +0xb90 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc000c1f908, 0x110, {{0x20000}, {0x7}, {0x7f861c64daf0}, {0x0}, {0x0}, {0x55ad8e7746c0}}) pkg/sentry/kernel/task_syscall.go:323 +0x85 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc000c1f908, 0x110, {{0x20000}, {0x7}, {0x7f861c64daf0}, {0x0}, {0x0}, {0x55ad8e7746c0}}) pkg/sentry/kernel/task_syscall.go:283 +0xc7 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc000c1f908) pkg/sentry/kernel/task_syscall.go:258 +0x53e gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc000c1f908?, 0xc000c1f908) pkg/sentry/kernel/task_run.go:269 +0x220c gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc000c1f908, 0xd) pkg/sentry/kernel/task_run.go:97 +0x402 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 269 pkg/sentry/kernel/task_start.go:416 +0x17e ====== vfs.virtualFilesystemMutex -> kernfs.ancestryRWMutex ===== goroutine 30046 [running]: gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*ancestryRWMutex).RLock(0xc00048e5a8) bazel-out/k8-fastbuild/bin/pkg/sentry/fsimpl/kernfs/ancestry_mutex.go:59 +0x4d gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.genericIsDescendant(0xc00048e540, 0xc000976e10, 0xc000976e10) bazel-out/k8-fastbuild/bin/pkg/sentry/fsimpl/kernfs/fstree.go:50 +0x5c gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*Filesystem).IsDescendant(0xc00048e540, {0xc000620b00?, 0xc000976e10?}, {0xc000620b00?, 0xc000976e10?}) pkg/sentry/fsimpl/kernfs/filesystem.go:1129 +0xbf gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).mountHasLockedChildren(0xc0000045e0?, 0xc000620b00, {0xc000620b00?, 0xc000976e10?}) pkg/sentry/vfs/mount.go:361 +0x17f gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).BindAt(0xc0000045e0, {0x21a50d0, 0xc000e92588}, 0xc000591c80, 0xc002329588, 0xc002329538, 0x0) pkg/sentry/vfs/mount.go:590 +0x73c gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Mount(0xc000e92588, 0x457b27?, {{0x200000000080}, {0x2000000001c0}, {0x0}, {0x2101015}, {0x0}, {0x0}}) pkg/sentry/syscalls/linux/sys_mount.go:112 +0xd07 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc000e92588, 0xa5, {{0x200000000080}, {0x2000000001c0}, {0x0}, {0x2101015}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:143 +0xb90 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc000e92588, 0xa5, {{0x200000000080}, {0x2000000001c0}, {0x0}, {0x2101015}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:323 +0x85 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc000e92588, 0xa5, {{0x200000000080}, {0x2000000001c0}, {0x0}, {0x2101015}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:283 +0xc7 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc000e92588) pkg/sentry/kernel/task_syscall.go:258 +0x53e gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc000e92588?, 0xc000e92588) pkg/sentry/kernel/task_run.go:269 +0x220c gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc000e92588, 0x1c3a) pkg/sentry/kernel/task_run.go:97 +0x402 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 30087 pkg/sentry/kernel/task_start.go:416 +0x17e