panic: WARNING: circular locking detected: kernfs.ancestryRWMutex -> vfs.inotifyEventMutex: goroutine 39160 [running]: gvisor.dev/gvisor/pkg/sync/locking.(*ancestorsAtomicPtrMap).RangeRepeatable(0xc0002a41d0, 0xc000f78930) bazel-out/k8-fastbuild/bin/pkg/sync/locking/atomicptrmap_ancestors_unsafe.go:440 +0x314 gvisor.dev/gvisor/pkg/sync/locking.checkLock(0xc00027ed80, 0xc0002a41b0, {0xc0012dd770, 0x2, 0x2}) pkg/sync/locking/lockdep.go:112 +0x4eb gvisor.dev/gvisor/pkg/sync/locking.checkLock.func1(0xc0002a41b0, 0xc000f78ac0?) pkg/sync/locking/lockdep.go:115 +0x74 gvisor.dev/gvisor/pkg/sync/locking.(*ancestorsAtomicPtrMap).RangeRepeatable(0xc00027eec0, 0xc000f78b70) bazel-out/k8-fastbuild/bin/pkg/sync/locking/atomicptrmap_ancestors_unsafe.go:440 +0x314 gvisor.dev/gvisor/pkg/sync/locking.checkLock(0xc00027ed80, 0xc00027eea0, {0xc001112798, 0x1, 0x1}) pkg/sync/locking/lockdep.go:112 +0x4eb gvisor.dev/gvisor/pkg/sync/locking.checkLock.func1(0xc00027eea0, 0xc000f78d00?) pkg/sync/locking/lockdep.go:115 +0x74 gvisor.dev/gvisor/pkg/sync/locking.(*ancestorsAtomicPtrMap).RangeRepeatable(0xc00027ef50, 0xc000f78db0) bazel-out/k8-fastbuild/bin/pkg/sync/locking/atomicptrmap_ancestors_unsafe.go:440 +0x314 gvisor.dev/gvisor/pkg/sync/locking.checkLock(0xc00027ed80, 0xc00027ef30, {0x0, 0x0, 0x0}) pkg/sync/locking/lockdep.go:112 +0x4eb gvisor.dev/gvisor/pkg/sync/locking.AddGLock(0xc00027ed80, 0xffffffffffffffff) pkg/sync/locking/lockdep.go:144 +0x37b gvisor.dev/gvisor/pkg/sentry/vfs.(*inotifyEventMutex).Lock(0xc000688178) bazel-out/k8-fastbuild/bin/pkg/sentry/vfs/inotify_event_mutex.go:33 +0x4d gvisor.dev/gvisor/pkg/sentry/vfs.(*Inotify).queueEvent(0xc0006880e0, 0xc00100bc80) pkg/sentry/vfs/inotify.go:276 +0x4e gvisor.dev/gvisor/pkg/sentry/vfs.(*Watch).Notify(0xc0011fe540, {0xc000acb40a, 0x5}, 0x40000020, 0x0) pkg/sentry/vfs/inotify.go:604 +0x10b gvisor.dev/gvisor/pkg/sentry/vfs.(*Watches).Notify(0xc0023d7050, {0x21b8b90, 0xc0017e2c88}, {0xc000acb40a, 0x5}, 0x40000020, 0x0, 0x0, 0x0) pkg/sentry/vfs/inotify.go:476 +0x1fe gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*Dentry).InotifyWithParent(0xc001f915f0, {0x21b8b90, 0xc0017e2c88}, 0x20, 0x0, 0x0) pkg/sentry/fsimpl/kernfs/kernfs.go:578 +0x1ce gvisor.dev/gvisor/pkg/sentry/vfs.(*Dentry).InotifyWithParent(0xc001f915f0, {0x21b8b90, 0xc0017e2c88}, 0x20, 0x0, 0x0) pkg/sentry/vfs/dentry.go:188 +0x87 gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).OpenAt(0xc0000049e0, {0x21b8b90, 0xc0017e2c88}, 0xc00100e1e0, 0xc000f79570, 0xc000f794b0) pkg/sentry/vfs/vfs.go:497 +0x9a5 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.openat(0xc0017e2c88, 0xffffff9c, 0x7fc9db3be7f0, 0x90800, 0x0) pkg/sentry/syscalls/linux/sys_file.go:110 +0x3e5 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Openat(0xc0017e2c88, 0x457b27?, {{0xffffff9c}, {0x7fc9db3be7f0}, {0x90800}, {0x0}, {0x0}, {0x0}}) pkg/sentry/syscalls/linux/sys_file.go:89 +0xc6 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc0017e2c88, 0x101, {{0xffffff9c}, {0x7fc9db3be7f0}, {0x90800}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:143 +0xb90 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc0017e2c88, 0x101, {{0xffffff9c}, {0x7fc9db3be7f0}, {0x90800}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:323 +0x85 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc0017e2c88, 0x101, {{0xffffff9c}, {0x7fc9db3be7f0}, {0x90800}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:283 +0xc7 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc0017e2c88) pkg/sentry/kernel/task_syscall.go:258 +0x53e gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc0017e2c88?, 0xc0017e2c88) pkg/sentry/kernel/task_run.go:269 +0x220c gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc0017e2c88, 0x2c59) pkg/sentry/kernel/task_run.go:97 +0x402 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 39187 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 3709 [running]: gvisor.dev/gvisor/pkg/sentry/mm.(*mappingRWMutex).RLock(0xc0011f405c) bazel-out/k8-fastbuild/bin/pkg/sentry/mm/mapping_mutex.go:59 +0x4d gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).withInternalMappings(0xc0011f4008, {0x21b8b90, 0xc00078f208}, {0x2f97548?, 0x200000000001?}, {0x6c?, 0x86?, 0x48?}, 0x0, 0xc001a9cf38) pkg/sentry/mm/io.go:545 +0x145 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).CopyOut(0xc0011f4008, {0x21b8b90, 0xc00078f208}, 0x200000001fc0, {0xc0011e4030, 0x10, 0x10}, {0x1?, 0x0?}) pkg/sentry/mm/io.go:130 +0x2e7 gvisor.dev/gvisor/pkg/usermem.CopyOutVec({0x21b8b90, 0xc00078f208}, {0x21ae518, 0xc0011f4008}, {0x0?, 0xa00a15?, 0x48866c?, 0x48a355?}, {0xc0011e4030, 0x10, ...}, ...) pkg/usermem/usermem.go:264 +0x26b gvisor.dev/gvisor/pkg/usermem.IOSequence.CopyOut({{0x21ae518, 0xc0011f4008}, {0x0, 0x1, 0x200000001fc0, 0x2020}, {0x0, 0x1}}, {0x21b8b90, 0xc00078f208}, ...) pkg/usermem/usermem.go:482 +0xe8 gvisor.dev/gvisor/pkg/sentry/vfs.(*Event).CopyTo(0xc00148ae00, {0x21b8b90, 0xc00078f208}, {0xc0011e4030, 0x10, 0x10}, {{0x21ae518, 0xc0011f4008}, {0x0, 0x1, ...}, ...}) pkg/sentry/vfs/inotify.go:693 +0x5a5 gvisor.dev/gvisor/pkg/sentry/vfs.(*Inotify).Read(0xc000bea460, {0x21b8b90, 0xc00078f208}, {{0x21ae518, 0xc0011f4008}, {0x0, 0x1, 0x200000001fc0, 0x2020}, {0x0, ...}}, ...) pkg/sentry/vfs/inotify.go:244 +0x632 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).Read(0xc000bea460, {0x21b8b90, 0xc00078f208}, {{0x21ae518, 0xc0011f4008}, {0x0, 0x1, 0x200000001fc0, 0x2020}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description.go:653 +0x154 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.read(0xc00078f208, 0xc000bea460, {{0x21ae518, 0xc0011f4008}, {0x0, 0x1, 0x200000001fc0, 0x2020}, {0x0, 0x1}}, ...) pkg/sentry/syscalls/linux/sys_read_write.go:93 +0xa5 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Read(0xc00078f208, 0x457b27?, {{0x3}, {0x200000001fc0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/syscalls/linux/sys_read_write.go:62 +0x38f gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc00078f208, 0x0, {{0x3}, {0x200000001fc0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:143 +0xb90 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc00078f208, 0x0, {{0x3}, {0x200000001fc0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:323 +0x85 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc00078f208, 0x0, {{0x3}, {0x200000001fc0}, {0x2020}, {0x0}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:283 +0xc7 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc00078f208) pkg/sentry/kernel/task_syscall.go:258 +0x53e gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc00078f208?, 0xc00078f208) pkg/sentry/kernel/task_run.go:269 +0x220c gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc00078f208, 0x41d) pkg/sentry/kernel/task_run.go:97 +0x402 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 3726 pkg/sentry/kernel/task_start.go:416 +0x17e ====== mm.mappingRWMutex -> kernel.taskMutex ===== goroutine 20019 [running]: gvisor.dev/gvisor/pkg/sentry/kernel.(*taskMutex).Lock(0xc0016669a0) bazel-out/k8-fastbuild/bin/pkg/sentry/kernel/task_mutex.go:35 +0x4d gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).contextValue(0xc001666008, {0x1cdadc0, 0x2187720}, 0x0) pkg/sentry/kernel/task_context.go:96 +0x1236 gvisor.dev/gvisor/pkg/sentry/kernel.(*taskAsyncContext).Value(0xc00146e2e0, {0x1cdadc0, 0x2187720}) pkg/sentry/kernel/task_context.go:159 +0x65 gvisor.dev/gvisor/pkg/sentry/vfs.RootFromContext({0x7f3685d6d6e8, 0xc00146e2e0}) pkg/sentry/vfs/context.go:88 +0x58 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).MappedName(0xc0007e2400, {0x21b8c28, 0xc00146e2e0}) pkg/sentry/vfs/file_description.go:818 +0x78 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).appendVMAMapsEntryLocked(0x0?, {0x21b8c28, 0xc00146e2e0}, {0xc001abbb08?, 0xc001471060?}, 0xc00146e2f0) pkg/sentry/mm/procfs.go:129 +0x32c gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).vmaSmapsEntryIntoLocked(0xc000d4b008, {0x21b8c28, 0xc00146e2e0}, {0xc001abbb08?, 0x48866c?}, 0xc0020828e0) pkg/sentry/mm/procfs.go:160 +0xb5 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).ReadSmapsDataInto(0xc000d4b008, {0x21b8c28, 0xc00146e2e0}, 0xc0020828e0) pkg/sentry/mm/procfs.go:141 +0x12e gvisor.dev/gvisor/pkg/sentry/fsimpl/proc.(*smapsData).Generate(0xc0015bb508, {0x21b8c28, 0xc00146e2e0}, 0xc0020828e0) pkg/sentry/fsimpl/proc/task_files.go:670 +0x9e gvisor.dev/gvisor/pkg/sentry/vfs.(*DynamicBytesFileDescriptionImpl).preadLocked(0xc0020828c0, {0x21b8c28, 0xc00146e2e0}, {{0x21ae518, 0xc000d4b008}, {0x0, 0x1, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description_impl_util.go:310 +0x1d9 gvisor.dev/gvisor/pkg/sentry/vfs.(*DynamicBytesFileDescriptionImpl).PRead(0xc0020828c0, {0x21b8c28, 0xc00146e2e0}, {{0x21ae518, 0xc000d4b008}, {0x0, 0x1, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description_impl_util.go:329 +0xd5 gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*DynamicBytesFD).PRead(0xc0020828c0, {0x21b8c28, 0xc00146e2e0}, {{0x21ae518, 0xc000d4b008}, {0x0, 0x1, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/fsimpl/kernfs/dynamic_bytes_file.go:133 +0xb7 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).PRead(0xc002082920, {0x21b8c28, 0xc00146e2e0}, {{0x21ae518, 0xc000d4b008}, {0x0, 0x1, 0x0, 0x0}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description.go:638 +0x19b gvisor.dev/gvisor/pkg/sentry/syscalls/linux.getAIOCallback.func1({0x21b8c28, 0xc00146e2e0}) 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 19963 pkg/sentry/kernel/aio.go:29 +0x225 ====== kernel.taskMutex -> vfs.virtualFilesystemMutex ===== goroutine 136 [running]: gvisor.dev/gvisor/pkg/sentry/vfs.(*virtualFilesystemMutex).Lock(0xc0000049e0) bazel-out/k8-fastbuild/bin/pkg/sentry/vfs/virtual_filesystem_mutex.go:33 +0x4d gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).lockMounts(0xc0000049e0) pkg/sentry/vfs/vfs.go:1041 +0x3a gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).CloneMountNamespace(0xc0000049e0, {0x21b8b90, 0xc000853208}, 0xc0005e0008, 0xc000866510, 0xc000167ad0, 0xc000167ae0, {0x2191620, 0xc000004808}) pkg/sentry/vfs/namespace.go:173 +0x229 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Unshare(0xc000853208, 0x20000) pkg/sentry/kernel/task_clone.go:717 +0x1556 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Unshare(0xc000853208, 0x457b27?, {{0x20000}, {0x7}, {0x7f41a9f2eaf0}, {0x0}, {0x0}, {0x55d85eea26c0}}) pkg/sentry/syscalls/linux/sys_thread.go:453 +0xd5 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc000853208, 0x110, {{0x20000}, {0x7}, {0x7f41a9f2eaf0}, {0x0}, {0x0}, {0x55d85eea26c0}}) pkg/sentry/kernel/task_syscall.go:143 +0xb90 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc000853208, 0x110, {{0x20000}, {0x7}, {0x7f41a9f2eaf0}, {0x0}, {0x0}, {0x55d85eea26c0}}) pkg/sentry/kernel/task_syscall.go:323 +0x85 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc000853208, 0x110, {{0x20000}, {0x7}, {0x7f41a9f2eaf0}, {0x0}, {0x0}, {0x55d85eea26c0}}) pkg/sentry/kernel/task_syscall.go:283 +0xc7 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc000853208) pkg/sentry/kernel/task_syscall.go:258 +0x53e gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc000853208?, 0xc000853208) pkg/sentry/kernel/task_run.go:269 +0x220c gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc000853208, 0xd) pkg/sentry/kernel/task_run.go:97 +0x402 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 195 pkg/sentry/kernel/task_start.go:416 +0x17e ====== vfs.virtualFilesystemMutex -> kernfs.ancestryRWMutex ===== goroutine 4156 [running]: gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*ancestryRWMutex).RLock(0xc00169c3a8) bazel-out/k8-fastbuild/bin/pkg/sentry/fsimpl/kernfs/ancestry_mutex.go:59 +0x4d gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.genericIsDescendant(0xc00169c340, 0xc000ee6000, 0xc000ee6000) bazel-out/k8-fastbuild/bin/pkg/sentry/fsimpl/kernfs/fstree.go:50 +0x5c gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*Filesystem).IsDescendant(0xc00169c340, {0xc000f2e630?, 0xc000ee6000?}, {0xc000f2e630?, 0xc000ee6000?}) pkg/sentry/fsimpl/kernfs/filesystem.go:1129 +0xbf gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).propagateMount(0xc0000049e0, {0x21b8b90, 0xc00098d908}, 0xc000f2e630, 0xc000ee6000, 0xc00101ceb8) pkg/sentry/vfs/propagation.go:273 +0x185 gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).doPropagation(0xc0000049e0, {0x21b8b90, 0xc00098d908}, 0xc00095e160, {0xc000f2e000?, 0xc000ee6000?}) pkg/sentry/vfs/propagation.go:237 +0x1ff gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).attachTreeLocked(0xc0000049e0, {0x21b8b90, 0xc00098d908}, 0xc00095e160, {0xc000f2e000?, 0xc000ee6000?}) pkg/sentry/vfs/mount.go:309 +0x4a5 gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).BindAt(0xc0000049e0, {0x21b8b90, 0xc00098d908}, 0xc000b85c20, 0xc00101d588, 0xc00101d538, 0x0) pkg/sentry/vfs/mount.go:602 +0x8f1 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Mount(0xc00098d908, 0x457b27?, {{0x200000000080}, {0x2000000001c0}, {0x0}, {0x2101015}, {0x0}, {0x0}}) pkg/sentry/syscalls/linux/sys_mount.go:112 +0xd07 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc00098d908, 0xa5, {{0x200000000080}, {0x2000000001c0}, {0x0}, {0x2101015}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:143 +0xb90 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc00098d908, 0xa5, {{0x200000000080}, {0x2000000001c0}, {0x0}, {0x2101015}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:323 +0x85 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc00098d908, 0xa5, {{0x200000000080}, {0x2000000001c0}, {0x0}, {0x2101015}, {0x0}, {0x0}}) pkg/sentry/kernel/task_syscall.go:283 +0xc7 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc00098d908) pkg/sentry/kernel/task_syscall.go:258 +0x53e gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc00098d908?, 0xc00098d908) pkg/sentry/kernel/task_run.go:269 +0x220c gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc00098d908, 0x4a3) pkg/sentry/kernel/task_run.go:97 +0x402 created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 4188 pkg/sentry/kernel/task_start.go:416 +0x17e