panic: WARNING: circular locking detected: kernel.fsContextMutex -> vfs.inotifyEventMutex: goroutine 85655 [running]: gvisor.dev/gvisor/pkg/sync/locking.(*ancestorsAtomicPtrMap).RangeRepeatable(0xc000398e30, 0xc001301578) bazel-out/k8-fastbuild/bin/pkg/sync/locking/atomicptrmap_ancestors_unsafe.go:440 +0x1e8 gvisor.dev/gvisor/pkg/sync/locking.checkLock(0xc000172a20, 0xc000398e10, {0x0, 0x0, 0x0}) pkg/sync/locking/lockdep.go:112 +0x48a gvisor.dev/gvisor/pkg/sync/locking.AddGLock(0xc000172a20, 0xffffffffffffffff) pkg/sync/locking/lockdep.go:144 +0x2ec gvisor.dev/gvisor/pkg/sentry/vfs.(*inotifyEventMutex).Lock(0xc000ee6878) bazel-out/k8-fastbuild/bin/pkg/sentry/vfs/inotify_event_mutex.go:33 +0x3c gvisor.dev/gvisor/pkg/sentry/vfs.(*Inotify).queueEvent(0xc000ee67e0, 0xc004826240) pkg/sentry/vfs/inotify.go:276 +0x46 gvisor.dev/gvisor/pkg/sentry/vfs.(*Watch).Notify(0xc003ca6f60, {0x0, 0x0}, 0x400, 0x0) pkg/sentry/vfs/inotify.go:604 +0x287 gvisor.dev/gvisor/pkg/sentry/vfs.(*Watches).Notify(0xc003c01fa0, {0x2112f90, 0xc003fac008}, {0x0, 0x0}, 0x400, 0x0, 0x1, 0x1) pkg/sentry/vfs/inotify.go:476 +0x1b8 gvisor.dev/gvisor/pkg/sentry/vfs.(*Watches).HandleDeletion(0xc003c01fa0, {0x2112f90, 0xc003fac008}) pkg/sentry/vfs/inotify.go:510 +0x75 gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*dentry).DecRef.(*inode).decRef.func1() pkg/sentry/fsimpl/tmpfs/tmpfs.go:605 +0x53 gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*inodeRefs).DecRef(0xc003c01c60, 0xc001301b30) bazel-out/k8-fastbuild/bin/pkg/sentry/fsimpl/tmpfs/inode_refs.go:133 +0x6d gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*inode).decRef(...) pkg/sentry/fsimpl/tmpfs/tmpfs.go:604 gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*dentry).DecRef(0xc003c01c08, {0x2112f90, 0xc003fac008}) pkg/sentry/fsimpl/tmpfs/tmpfs.go:464 +0xb2 gvisor.dev/gvisor/pkg/sentry/vfs.(*Dentry).DecRef(...) pkg/sentry/vfs/dentry.go:156 gvisor.dev/gvisor/pkg/sentry/vfs.VirtualDentry.DecRef({0xc0019942c0?, 0xc003c01c08?}, {0x2112f90, 0xc003fac008}) pkg/sentry/vfs/vfs.go:1114 +0x6b gvisor.dev/gvisor/pkg/sentry/kernel.(*FSContext).destroy(0xc003f9ba00, {0x2112f90, 0xc003fac008}) pkg/sentry/kernel/fs_context.go:73 +0x153 gvisor.dev/gvisor/pkg/sentry/kernel.(*runExitMain).execute.(*FSContext).DecRef.func2() pkg/sentry/kernel/fs_context.go:87 +0x47 gvisor.dev/gvisor/pkg/sentry/kernel.(*FSContextRefs).DecRef(0xc003f9ba00, 0xc001301da0) bazel-out/k8-fastbuild/bin/pkg/sentry/kernel/fs_context_refs.go:133 +0x6d gvisor.dev/gvisor/pkg/sentry/kernel.(*FSContext).DecRef(...) pkg/sentry/kernel/fs_context.go:86 gvisor.dev/gvisor/pkg/sentry/kernel.(*runExitMain).execute(0xc003fac008?, 0xc003fac008) pkg/sentry/kernel/task_exit.go:301 +0x82b gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc003fac008, 0x61ce) pkg/sentry/kernel/task_run.go:97 +0x4ca created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 85615 pkg/sentry/kernel/task_start.go:416 +0x15c known lock chain: vfs.inotifyEventMutex -> mm.mappingRWMutex -> kernel.fsContextMutex ====== vfs.inotifyEventMutex -> mm.mappingRWMutex ===== goroutine 51351 [running]: gvisor.dev/gvisor/pkg/sentry/mm.(*mappingRWMutex).RLock(0xc00253205c) bazel-out/k8-fastbuild/bin/pkg/sentry/mm/mapping_mutex.go:59 +0x3c gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).withInternalMappings(0xc002532008, {0x2112f90, 0xc003dd9208}, {0x42000310808?, 0xc000e3ced8?}, {0xf4?, 0xb6?, 0x41?}, 0x0, 0xc001c7ced0) pkg/sentry/mm/io.go:545 +0xf4 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).CopyOut(0xc002532008, {0x2112f90, 0xc003dd9208}, 0x2000000042c0, {0xc004350e60, 0x10, 0x10}, {0x53?, 0xae?}) pkg/sentry/mm/io.go:130 +0x26a gvisor.dev/gvisor/pkg/usermem.CopyOutVec({0x2112f90, 0xc003dd9208}, {0x2108718, 0xc002532008}, {0x0?, 0x2dcbdc0?, 0xc897?, 0xc000172a00?}, {0xc004350e60, 0x10, ...}, ...) pkg/usermem/usermem.go:264 +0x1db gvisor.dev/gvisor/pkg/usermem.IOSequence.CopyOut(...) pkg/usermem/usermem.go:482 gvisor.dev/gvisor/pkg/sentry/vfs.(*Event).CopyTo(0xc005331f40, {0x2112f90, 0xc003dd9208}, {0xc004350e60, 0x10, 0x10}, {{0x2108718, 0xc002532008}, {0x0, 0x1, ...}, ...}) pkg/sentry/vfs/inotify.go:693 +0x590 gvisor.dev/gvisor/pkg/sentry/vfs.(*Inotify).Read(0xc000d1a380, {0x2112f90, 0xc003dd9208}, {{0x2108718, 0xc002532008}, {0x0, 0x1, 0x2000000042c0, 0x2020}, {0x0, ...}}, ...) pkg/sentry/vfs/inotify.go:244 +0x53c gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).Read(0xc000d1a380, {0x2112f90, 0xc003dd9208}, {{0x2108718, 0xc002532008}, {0x0, 0x1, 0x2000000042c0, 0x2020}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description.go:653 +0x14f gvisor.dev/gvisor/pkg/sentry/syscalls/linux.read(0xc003dd9208, 0xc000d1a380, {{0x2108718, 0xc002532008}, {0x0, 0x1, 0x2000000042c0, 0x2020}, {0x0, 0x1}}, ...) pkg/sentry/syscalls/linux/sys_read_write.go:116 +0x59e gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Read(0xc003dd9208, 0xc004b27820?, {{0x6}, {0x2000000042c0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/syscalls/linux/sys_read_write.go:62 +0x2b2 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc003dd9208, 0x0, {{0x6}, {0x2000000042c0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:143 +0x94c gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc003dd9208, 0x0, {{0x6}, {0x2000000042c0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:323 +0x72 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc003dd9208, 0x0, {{0x6}, {0x2000000042c0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:283 +0x94 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc003dd9208) pkg/sentry/kernel/task_syscall.go:258 +0x490 gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc003dd9208?, 0xc003dd9208) pkg/sentry/kernel/task_run.go:269 +0x1ec9 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc003dd9208, 0x3b01) pkg/sentry/kernel/task_run.go:97 +0x4ca created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 51348 pkg/sentry/kernel/task_start.go:416 +0x15c ====== mm.mappingRWMutex -> kernel.fsContextMutex ===== goroutine 34802 [running]: gvisor.dev/gvisor/pkg/sentry/kernel.(*fsContextMutex).Lock(0xc0016ad408) bazel-out/k8-fastbuild/bin/pkg/sentry/kernel/fs_context_mutex.go:33 +0x3c gvisor.dev/gvisor/pkg/sentry/kernel.(*FSContext).RootDirectory(0xc0016ad400) pkg/sentry/kernel/fs_context.go:150 +0x4a gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).contextValue(0xc004004c88, {0x1c123e0, 0x20e1978}, 0x1) pkg/sentry/kernel/task_context.go:99 +0x5d8 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Value(0xc004004c88, {0x1c123e0, 0x20e1978}) pkg/sentry/kernel/task_context.go:61 +0x4a gvisor.dev/gvisor/pkg/sentry/vfs.RootFromContext(...) pkg/sentry/vfs/context.go:88 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).MappedName(0xc00037ec80, {0x2112f90, 0xc004004c88}) pkg/sentry/vfs/file_description.go:818 +0x77 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).appendVMAMapsEntryLocked(0xc001fce05c?, {0x2112f90, 0xc004004c88}, {0xc00178c908?, 0xc00072af90?}, 0xc00072b048) pkg/sentry/mm/procfs.go:129 +0x2a2 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).ReadMapsDataInto(0xc001fce008, {0x2112f90, 0xc004004c88}, 0xc00072b048) pkg/sentry/mm/procfs.go:85 +0x185 gvisor.dev/gvisor/pkg/sentry/fsimpl/proc.(*mapsData).Generate(0xc000c30008, {0x2112f90, 0xc004004c88}, 0xc001e6e020) pkg/sentry/fsimpl/proc/task_files.go:651 +0xa9 gvisor.dev/gvisor/pkg/sentry/vfs.(*DynamicBytesFileDescriptionImpl).preadLocked(0xc001e6e000, {0x2112f90, 0xc004004c88}, {{0x2108718, 0xc001fce008}, {0xc0011c4000, 0x8, 0x0, 0x3d6}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description_impl_util.go:310 +0x18b gvisor.dev/gvisor/pkg/sentry/vfs.(*DynamicBytesFileDescriptionImpl).Read(0xc001e6e000, {0x2112f90, 0xc004004c88}, {{0x2108718, 0xc001fce008}, {0xc0011c4000, 0x8, 0x0, 0x3d6}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description_impl_util.go:337 +0x117 gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*DynamicBytesFD).Read(0xc001e6e000, {0x2112f90, 0xc004004c88}, {{0x2108718, 0xc001fce008}, {0xc0011c4000, 0x8, 0x0, 0x3d6}, {0x0, ...}}, ...) pkg/sentry/fsimpl/kernfs/dynamic_bytes_file.go:128 +0x91 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).Read(0xc001e6e060, {0x2112f90, 0xc004004c88}, {{0x2108718, 0xc001fce008}, {0xc0011c4000, 0x8, 0x0, 0x3d6}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description.go:653 +0x14f gvisor.dev/gvisor/pkg/sentry/syscalls/linux.read(0xc004004c88, 0xc001e6e060, {{0x2108718, 0xc001fce008}, {0xc0011c4000, 0x8, 0x0, 0x3d6}, {0x0, 0x1}}, ...) pkg/sentry/syscalls/linux/sys_read_write.go:93 +0x91 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Readv(0xc004004c88, 0xc000daeb20?, {{0x3}, {0x2000000006c0}, {0x8}, {0x0}, {0x0}, {0x0}}) pkg/sentry/syscalls/linux/sys_read_write.go:87 +0x29c gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc004004c88, 0x13, {{0x3}, {0x2000000006c0}, {0x8}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:143 +0x94c gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc004004c88, 0x13, {{0x3}, {0x2000000006c0}, {0x8}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:323 +0x72 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc004004c88, 0x13, {{0x3}, {0x2000000006c0}, {0x8}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:283 +0x94 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc004004c88) pkg/sentry/kernel/task_syscall.go:258 +0x490 gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc004004c88?, 0xc004004c88) pkg/sentry/kernel/task_run.go:269 +0x1ec9 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc004004c88, 0x27b0) pkg/sentry/kernel/task_run.go:97 +0x4ca created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 34793 pkg/sentry/kernel/task_start.go:416 +0x15c