panic: WARNING: circular locking detected: kernel.fsContextMutex -> vfs.inotifyEventMutex: goroutine 74490 [running]: gvisor.dev/gvisor/pkg/sync/locking.(*ancestorsAtomicPtrMap).RangeRepeatable(0xc00034cec0, 0xc000f47668) bazel-out/aarch64-fastbuild/bin/pkg/sync/locking/atomicptrmap_ancestors_unsafe.go:440 +0x190 gvisor.dev/gvisor/pkg/sync/locking.checkLock(0xc000292a20, 0xc00034cea0, {0x0, 0x0, 0x0}) pkg/sync/locking/lockdep.go:112 +0x34c gvisor.dev/gvisor/pkg/sync/locking.AddGLock(0xc000292a20, 0xffffffffffffffff) pkg/sync/locking/lockdep.go:144 +0x268 gvisor.dev/gvisor/pkg/sentry/vfs.(*inotifyEventMutex).Lock(0xc0028226b8) bazel-out/aarch64-fastbuild/bin/pkg/sentry/vfs/inotify_event_mutex.go:33 +0x40 gvisor.dev/gvisor/pkg/sentry/vfs.(*Inotify).queueEvent(0xc002822620, 0xc0008eb180) pkg/sentry/vfs/inotify.go:276 +0x3c gvisor.dev/gvisor/pkg/sentry/vfs.(*Watches).HandleDeletion(0xc001747ba0, {0x1ca29d8, 0xc000bdc588}) pkg/sentry/vfs/inotify.go:537 +0x298 gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*dentry).DecRef.(*inode).decRef.func1() pkg/sentry/fsimpl/tmpfs/tmpfs.go:605 +0x50 gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*inodeRefs).DecRef(0xc001747860, 0xc000f47b08) bazel-out/aarch64-fastbuild/bin/pkg/sentry/fsimpl/tmpfs/inode_refs.go:133 +0x58 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(0xc001747808, {0x1ca29d8, 0xc000bdc588}) pkg/sentry/fsimpl/tmpfs/tmpfs.go:464 +0xa0 gvisor.dev/gvisor/pkg/sentry/vfs.(*Dentry).DecRef(...) pkg/sentry/vfs/dentry.go:156 gvisor.dev/gvisor/pkg/sentry/vfs.VirtualDentry.DecRef({0xc0002f4dc0?, 0xc001747808?}, {0x1ca29d8, 0xc000bdc588}) pkg/sentry/vfs/vfs.go:1114 +0x6c gvisor.dev/gvisor/pkg/sentry/kernel.(*FSContext).destroy(0xc001232dc0, {0x1ca29d8, 0xc000bdc588}) pkg/sentry/kernel/fs_context.go:73 +0x110 gvisor.dev/gvisor/pkg/sentry/kernel.(*runExitMain).execute.(*FSContext).DecRef.func2() pkg/sentry/kernel/fs_context.go:87 +0x48 gvisor.dev/gvisor/pkg/sentry/kernel.(*FSContextRefs).DecRef(0xc001232dc0, 0xc000f47d88) bazel-out/aarch64-fastbuild/bin/pkg/sentry/kernel/fs_context_refs.go:133 +0x58 gvisor.dev/gvisor/pkg/sentry/kernel.(*FSContext).DecRef(...) pkg/sentry/kernel/fs_context.go:86 gvisor.dev/gvisor/pkg/sentry/kernel.(*runExitMain).execute(0xc000bdc588?, 0xc000bdc588) pkg/sentry/kernel/task_exit.go:301 +0x5d8 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc000bdc588, 0x5a68) pkg/sentry/kernel/task_run.go:97 +0x394 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 74257 pkg/sentry/kernel/task_start.go:416 +0x13c known lock chain: vfs.inotifyEventMutex -> mm.mappingRWMutex -> kernel.fsContextMutex ====== vfs.inotifyEventMutex -> mm.mappingRWMutex ===== goroutine 552 [running]: gvisor.dev/gvisor/pkg/sentry/mm.(*mappingRWMutex).RLock(0xc001dea05c) bazel-out/aarch64-fastbuild/bin/pkg/sentry/mm/mapping_mutex.go:59 +0x40 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).withInternalMappings(0xc001dea008, {0x1ca29d8, 0xc001df2c88}, {0x41906c?, 0x292aca0?}, {0x78?, 0xae?, 0x74?}, 0x0, 0xc00074ae58) pkg/sentry/mm/io.go:545 +0xa4 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).CopyOut(0xc001dea008, {0x1ca29d8, 0xc001df2c88}, 0x20002280, {0xc0017b67d0, 0x10, 0x10}, {0x94?, 0x64?}) pkg/sentry/mm/io.go:130 +0x1b8 gvisor.dev/gvisor/pkg/usermem.CopyOutVec({0x1ca29d8, 0xc001df2c88}, {0x1c98558, 0xc001dea008}, {0x0?, 0x292ac80?, 0xc00074b0a8?, 0x9d2d20?}, {0xc0017b67d0, 0x10, ...}, ...) pkg/usermem/usermem.go:264 +0x174 gvisor.dev/gvisor/pkg/usermem.IOSequence.CopyOut(...) pkg/usermem/usermem.go:482 gvisor.dev/gvisor/pkg/sentry/vfs.(*Event).CopyTo(0xc001f602c0, {0x1ca29d8, 0xc001df2c88}, {0xc0017b67d0, 0x10, 0x10}, {{0x1c98558, 0xc001dea008}, {0x0, 0x1, ...}, ...}) pkg/sentry/vfs/inotify.go:693 +0x3b8 gvisor.dev/gvisor/pkg/sentry/vfs.(*Inotify).Read(0xc0022aefc0, {0x1ca29d8, 0xc001df2c88}, {{0x1c98558, 0xc001dea008}, {0x0, 0x1, 0x20002280, 0x2020}, {0x0, ...}}, ...) pkg/sentry/vfs/inotify.go:244 +0x374 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).Read(0xc0022aefc0, {0x1ca29d8, 0xc001df2c88}, {{0x1c98558, 0xc001dea008}, {0x0, 0x1, 0x20002280, 0x2020}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description.go:653 +0x118 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.read(0xc001df2c88, 0xc0022aefc0, {{0x1c98558, 0xc001dea008}, {0x0, 0x1, 0x20002280, 0x2020}, {0x0, 0x1}}, ...) pkg/sentry/syscalls/linux/sys_read_write.go:116 +0x450 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Read(0xc001df2c88, 0x47cb80?, {{0x5}, {0x20002280}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/syscalls/linux/sys_read_write.go:62 +0x1c4 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc001df2c88, 0x3f, {{0x5}, {0x20002280}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:143 +0x690 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc001df2c88, 0x3f, {{0x5}, {0x20002280}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:323 +0x50 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc001df2c88, 0x3f, {{0x5}, {0x20002280}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:283 +0x78 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc001df2c88) pkg/sentry/kernel/task_syscall.go:258 +0x3c0 gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc001df2c88?, 0xc001df2c88) pkg/sentry/kernel/task_run.go:269 +0x1568 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc001df2c88, 0x6a) pkg/sentry/kernel/task_run.go:97 +0x394 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 550 pkg/sentry/kernel/task_start.go:416 +0x13c ====== mm.mappingRWMutex -> kernel.fsContextMutex ===== goroutine 53023 [running]: gvisor.dev/gvisor/pkg/sentry/kernel.(*fsContextMutex).Lock(0xc0025f6588) bazel-out/aarch64-fastbuild/bin/pkg/sentry/kernel/fs_context_mutex.go:33 +0x40 gvisor.dev/gvisor/pkg/sentry/kernel.(*FSContext).RootDirectory(0xc0025f6580) pkg/sentry/kernel/fs_context.go:150 +0x40 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).contextValue(0xc001774008, {0x17aa580, 0x1c714b0}, 0x1) pkg/sentry/kernel/task_context.go:99 +0x454 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Value(0xc001774008, {0x17aa580, 0x1c714b0}) pkg/sentry/kernel/task_context.go:61 +0x48 gvisor.dev/gvisor/pkg/sentry/vfs.RootFromContext(...) pkg/sentry/vfs/context.go:88 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).MappedName(0xc0007f8200, {0x1ca29d8, 0xc001774008}) pkg/sentry/vfs/file_description.go:818 +0x6c gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).appendVMAMapsEntryLocked(0xc0007d1078?, {0x1ca29d8, 0xc001774008}, {0xc0007d1078?, 0xc00097cee8?}, 0xc00097cf98) pkg/sentry/mm/procfs.go:129 +0x18c gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).ReadMapsDataInto(0xc0007d1008, {0x1ca29d8, 0xc001774008}, 0xc00097cf98) pkg/sentry/mm/procfs.go:85 +0x11c gvisor.dev/gvisor/pkg/sentry/fsimpl/proc.(*mapsData).Generate(0xc0018ad888, {0x1ca29d8, 0xc001774008}, 0xc002f61280) pkg/sentry/fsimpl/proc/task_files.go:651 +0x90 gvisor.dev/gvisor/pkg/sentry/vfs.(*DynamicBytesFileDescriptionImpl).preadLocked(0xc002f61260, {0x1ca29d8, 0xc001774008}, {{0x1c98558, 0xc0007d1008}, {0x0, 0x0, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description_impl_util.go:310 +0x134 gvisor.dev/gvisor/pkg/sentry/vfs.(*DynamicBytesFileDescriptionImpl).Read(0xc002f61260, {0x1ca29d8, 0xc001774008}, {{0x1c98558, 0xc0007d1008}, {0x0, 0x0, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description_impl_util.go:337 +0xd4 gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*DynamicBytesFD).Read(0xc002f61260, {0x1ca29d8, 0xc001774008}, {{0x1c98558, 0xc0007d1008}, {0x0, 0x0, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/fsimpl/kernfs/dynamic_bytes_file.go:128 +0xac gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).Read(0xc002f612c0, {0x1ca29d8, 0xc001774008}, {{0x1c98558, 0xc0007d1008}, {0x0, 0x0, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description.go:653 +0x118 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.read(0xc001774008, 0xc002f612c0, {{0x1c98558, 0xc0007d1008}, {0x0, 0x0, 0x0, 0x0}, {0x0, 0x1}}, ...) pkg/sentry/syscalls/linux/sys_read_write.go:93 +0xac gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Readv(0xc001774008, 0x47cb80?, {{0x4}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}}) pkg/sentry/syscalls/linux/sys_read_write.go:87 +0x1c0 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc001774008, 0x41, {{0x4}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:143 +0x690 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc001774008, 0x41, {{0x4}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:323 +0x50 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc001774008, 0x41, {{0x4}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:283 +0x78 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc001774008) pkg/sentry/kernel/task_syscall.go:258 +0x3c0 gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc001774008?, 0xc001774008) pkg/sentry/kernel/task_run.go:269 +0x1568 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc001774008, 0x400a) pkg/sentry/kernel/task_run.go:97 +0x394 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 53021 pkg/sentry/kernel/task_start.go:416 +0x13c