panic: WARNING: circular locking detected: tmpfs.inodeMutex -> mm.mappingRWMutex: goroutine 11094 [running]: gvisor.dev/gvisor/pkg/sync/locking.(*ancestorsAtomicPtrMap).RangeRepeatable(0xc0001b9e80, 0xc0006b2828) bazel-out/k8-fastbuild/bin/pkg/sync/locking/atomicptrmap_ancestors_unsafe.go:440 +0x1ea gvisor.dev/gvisor/pkg/sync/locking.checkLock(0xc0001b9b00, 0xc0001b9e60, {0xc0019c84d8, 0x1, 0x1}) pkg/sync/locking/lockdep.go:112 +0x4a5 gvisor.dev/gvisor/pkg/sync/locking.checkLock.func1(0xc0001b9e60, 0xc0006b29b0?) pkg/sync/locking/lockdep.go:115 +0x65 gvisor.dev/gvisor/pkg/sync/locking.(*ancestorsAtomicPtrMap).RangeRepeatable(0xc0001b9df0, 0xc0006b2a68) bazel-out/k8-fastbuild/bin/pkg/sync/locking/atomicptrmap_ancestors_unsafe.go:440 +0x1ea gvisor.dev/gvisor/pkg/sync/locking.checkLock(0xc0001b9b00, 0xc0001b9dd0, {0x0, 0x0, 0x0}) pkg/sync/locking/lockdep.go:112 +0x4a5 gvisor.dev/gvisor/pkg/sync/locking.AddGLock(0xc0001b9b00, 0xffffffffffffffff) pkg/sync/locking/lockdep.go:144 +0x2ec gvisor.dev/gvisor/pkg/sentry/mm.(*mappingRWMutex).RLock(0xc002f1605c) bazel-out/k8-fastbuild/bin/pkg/sentry/mm/mapping_mutex.go:59 +0x3c gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).withInternalMappings(0xc002f16008, {0x1f8d8c0, 0xc007a42008}, {0xc0006b2e58?, 0x41209e?}, {0xd0?, 0xf9?, 0x57?}, 0x0, 0xc0006b3018) pkg/sentry/mm/io.go:544 +0xf8 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).withVecInternalMappings(0xc002f16008, {0x1f8d8c0, 0xc007a42008}, {0x0?, 0xc0006b2f90?, 0x7ff6354c0a68?, 0x18?}, {0x1, 0x0, 0x0}, ...) pkg/sentry/mm/io.go:606 +0x6e5 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).CopyInTo(0xc002f16008, {0x1f8d8c0, 0xc007a42008}, {0x0?, 0x10001?, 0x0?, 0x0?}, {0x1f6a300, 0xc0093db1d0}, {0x0, ...}) pkg/sentry/mm/io.go:324 +0x23a gvisor.dev/gvisor/pkg/usermem.IOSequence.CopyInTo(...) pkg/usermem/usermem.go:516 gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*regularFileFD).pwrite(0xc007de2900, {0x1f8d8c0, 0xc007a42008}, {{0x1f84338, 0xc002f16008}, {0x0, 0x1, 0x7f2ef1600000, 0x2000}, {0x0, ...}}, ...) pkg/sentry/fsimpl/tmpfs/regular_file.go:553 +0x911 gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*regularFileFD).Write(0xc007de2900, {0x1f8d8c0, 0xc007a42008}, {{0x1f84338, 0xc002f16008}, {0x0, 0x1, 0x7f2ef1600000, 0x2000}, {0x0, ...}}, ...) pkg/sentry/fsimpl/tmpfs/regular_file.go:570 +0x115 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).Write(0xc007de2900, {0x1f8d8c0, 0xc007a42008}, {{0x1f84338, 0xc002f16008}, {0x0, 0x1, 0x7f2ef1600000, 0x2000}, {0x0, ...}}, ...) pkg/sentry/vfs/file_description.go:679 +0x119 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.write(0xc007a42008, 0xc007de2900, {{0x1f84338, 0xc002f16008}, {0x0, 0x1, 0x7f2ef1600000, 0x2000}, {0x0, 0x1}}, ...) pkg/sentry/syscalls/linux/sys_read_write.go:347 +0x91 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Write(0xc007a42008, 0x0?, {{0x4}, {0x7f2ef1600000}, {0x2000}, {0x20000042}, {0x0}, {0x20c}}) pkg/sentry/syscalls/linux/sys_read_write.go:316 +0x2b2 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc007a42008, 0x1, {{0x4}, {0x7f2ef1600000}, {0x2000}, {0x20000042}, {0x0}, {0x20c}}) pkg/sentry/kernel/task_syscall.go:143 +0x995 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc007a42008, 0x1, {{0x4}, {0x7f2ef1600000}, {0x2000}, {0x20000042}, {0x0}, {0x20c}}) pkg/sentry/kernel/task_syscall.go:323 +0x72 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc007a42008, 0x1, {{0x4}, {0x7f2ef1600000}, {0x2000}, {0x20000042}, {0x0}, {0x20c}}) pkg/sentry/kernel/task_syscall.go:283 +0x94 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc007a42008) pkg/sentry/kernel/task_syscall.go:258 +0x4b0 gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc007a42008?, 0xc007a42008) pkg/sentry/kernel/task_run.go:269 +0x1fae gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc007a42008, 0xdee) pkg/sentry/kernel/task_run.go:97 +0x4fb created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 11155 pkg/sentry/kernel/task_start.go:400 +0x165 known lock chain: mm.mappingRWMutex -> tmpfs.filesystemRWMutex -> tmpfs.iterMutex -> tmpfs.inodeMutex ====== mm.mappingRWMutex -> tmpfs.filesystemRWMutex ===== goroutine 2736 [running]: gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*filesystemRWMutex).RLock(0xc0004e5a68) bazel-out/k8-fastbuild/bin/pkg/sentry/fsimpl/tmpfs/filesystem_mutex.go:59 +0x3c gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*filesystem).StatAt(0xc0004e5a00, {0x1f8da70, 0xc0007082a0}, 0xc003ade488, {0x1?, 0x0?}) pkg/sentry/fsimpl/tmpfs/filesystem.go:760 +0x97 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).Stat(0xc009148e00, {0x1f8da70, 0xc0007082a0}, {0x283b120?, 0xc0?}) pkg/sentry/vfs/file_description.go:540 +0x2f6 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).DeviceID(0xc009148e00) pkg/sentry/vfs/file_description.go:823 +0x73 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).appendVMAMapsEntryLocked(0x483079?, {0x1f8da70, 0xc0007082a0}, {0xc0084de408?, 0xcc230a?}, 0xc0093cd310) pkg/sentry/mm/procfs.go:118 +0x14b gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).vmaMapsEntryLocked(0xc0028d2008, {0x1f8da70, 0xc0007082a0}, {0xc0084de408?, 0x0?}) pkg/sentry/mm/procfs.go:104 +0xfb gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).DebugString(0xc0028d2008, {0x1f8da70, 0xc0007082a0}) pkg/sentry/mm/debug.go:49 +0x1f1 gvisor.dev/gvisor/pkg/sentry/mm.(*MemoryManager).String(0xc0028d2008) pkg/sentry/mm/debug.go:38 +0x54 fmt.(*pp).handleMethods(0xc004da25b0, 0x73) bazel-out/k8-fastbuild/bin/external/io_bazel_rules_go/stdlib_/src/fmt/print.go:673 +0x6eb fmt.(*pp).printArg(0xc004da25b0, {0x1d3a6e0, 0xc0028d2008}, 0x73) bazel-out/k8-fastbuild/bin/external/io_bazel_rules_go/stdlib_/src/fmt/print.go:756 +0xb4c fmt.(*pp).doPrintf(0xc004da25b0, {0xc004078b70, 0x24}, {0xc004f69e00, 0x1, 0x1}) bazel-out/k8-fastbuild/bin/external/io_bazel_rules_go/stdlib_/src/fmt/print.go:1074 +0x5d0 fmt.Sprintf({0xc004078b70, 0x24}, {0xc004f69e00, 0x1, 0x1}) bazel-out/k8-fastbuild/bin/external/io_bazel_rules_go/stdlib_/src/fmt/print.go:239 +0x5d gvisor.dev/gvisor/pkg/log.GoogleEmitter.Emit({0xc000384047?}, 0x3, 0x2, {0x2b94908?, 0x484ca9?, 0x2b98300?}, {0xc004078b70, 0x24}, {0xc004f69e00, 0x1, ...}) pkg/log/glog.go:82 +0x265 gvisor.dev/gvisor/pkg/log.(*BasicLogger).DebugfAtDepth(0xc000384030, 0x2, {0xc004078b70, 0x24}, {0xc004f69e00, 0x1, 0x1}) pkg/log/log.go:220 +0x104 gvisor.dev/gvisor/pkg/log.DebugfAtDepth(0x1, {0xc004078b70, 0x24}, {0xc004f69e00, 0x1, 0x1}) pkg/log/log.go:295 +0x79 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Debugf(0xc0044c1208, {0x1d4dfd7, 0xc}, {0xc004f69e00, 0x1, 0x1}) pkg/sentry/kernel/task_log.go:54 +0xad gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).DebugDumpState(0xc0044c1208) pkg/sentry/kernel/task_log.go:71 +0xdd gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc0044c1208?, 0xc0044c1208) pkg/sentry/kernel/task_run.go:313 +0x1e32 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc0044c1208, 0x313) pkg/sentry/kernel/task_run.go:97 +0x4fb created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 2748 pkg/sentry/kernel/task_start.go:400 +0x165 ====== tmpfs.filesystemRWMutex -> tmpfs.iterMutex ===== goroutine 1 [running]: gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*iterMutex).Lock(0xc0004f4be0) bazel-out/k8-fastbuild/bin/pkg/sentry/fsimpl/tmpfs/iter_mutex.go:33 +0x3c gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*directory).insertChildLocked(0xc0004f4808, 0xc000274b40, {0x1d454ef, 0x2}) pkg/sentry/fsimpl/tmpfs/directory.go:69 +0x18e gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*filesystem).SymlinkAt.func1(0xc0004f4808, {0x1d454ef, 0x2}) pkg/sentry/fsimpl/tmpfs/filesystem.go:794 +0x1f1 gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*filesystem).doCreateAt(0xc0004e5a00, {0x1f8db90, 0xc0003441e0}, 0xc000254488, 0x0, 0xc000047c18) pkg/sentry/fsimpl/tmpfs/filesystem.go:210 +0x46b gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*filesystem).SymlinkAt(0xc0004e5a00, {0x1f8db90, 0xc0003441e0}, 0xc000254488, {0x1d4f138, 0xd}) pkg/sentry/fsimpl/tmpfs/filesystem.go:783 +0xe5 gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).SymlinkAt(0xc0002851e0, {0x1f8db90, 0xc0003441e0}, 0xc0001706c0, 0xc000047e00, {0x1d4f138, 0xd}) pkg/sentry/vfs/vfs.go:695 +0x22a gvisor.dev/gvisor/pkg/sentry/fsimpl/dev.userspaceInit({0x1f8db90, 0xc0003441e0}, 0xc0002851e0, 0xc0001706c0, {0xc0002593f0?, 0xc0004f4808?}, 0x0) pkg/sentry/fsimpl/dev/dev.go:164 +0x445 gvisor.dev/gvisor/pkg/sentry/fsimpl/dev.FilesystemType.GetFilesystem({}, {0x1f8db90, 0xc0003441e0}, 0xc0002851e0, 0xc0001706c0, {0x0, 0x0}, {0x1, {0x0, 0x0}, ...}) pkg/sentry/fsimpl/dev/dev.go:60 +0x33d gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).NewFilesystem(0xc0002851e0, {0x1f8db90, 0xc0003441e0}, 0xc0001706c0, {0x0, 0x0}, {0x1d4577d, 0x3}, 0xc0004eec40) pkg/sentry/vfs/mount.go:252 +0x198 gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).MountDisconnected(0xc0002851e0, {0x1f8db90, 0xc0003441e0}, 0xc0001706c0, {0x0, 0x0}, {0x1d4577d, 0x3}, 0xc0004eec40) pkg/sentry/vfs/mount.go:271 +0xa5 gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).MountAt(0xc0002851e0, {0x1f8db90, 0xc0003441e0}, 0xc0001706c0, {0x0, 0x0}, 0xc0000484f8, {0x1d4577d, 0x3}, 0xc0004eec40) pkg/sentry/vfs/mount.go:632 +0xd1 gvisor.dev/gvisor/runsc/boot.(*containerMounter).mountSubmount(0xc0008cef70, {0x1f8db90, 0xc0003441e0}, 0xc00034a090, 0xc000648008, 0xc0001a2f60, 0xc0001706c0, 0xc000228488) runsc/boot/vfs.go:850 +0xb31 gvisor.dev/gvisor/runsc/boot.(*containerMounter).mountSubmounts(0xc0008cef70, {0x1f8db90, 0xc0003441e0}, 0xc00034a090, 0xc000648008, 0xc0001a2f60, 0xc0001706c0) runsc/boot/vfs.go:739 +0x9ed gvisor.dev/gvisor/runsc/boot.(*containerMounter).mountAll(0xc0008cef70, {0x1f8db90, 0xc0003441e0}, 0xc0001706c0, 0xc00034a090, 0xc000648008, 0xc0008cf040) runsc/boot/vfs.go:468 +0x530 gvisor.dev/gvisor/runsc/boot.setupContainerVFS({0x1f8db90, 0xc000344000}, 0xc0001e8518, 0xc0008cef70, 0xc0001e8548) runsc/boot/vfs.go:177 +0x4ee gvisor.dev/gvisor/runsc/boot.(*Loader).createContainerProcess(0xc0001e8508, 0xc0001e8518) runsc/boot/loader.go:1159 +0xb1b gvisor.dev/gvisor/runsc/boot.(*Loader).run(0xc0001e8508) runsc/boot/loader.go:917 +0x345 gvisor.dev/gvisor/runsc/boot.(*Loader).Run(0xc0001e8508) runsc/boot/loader.go:865 +0x2f gvisor.dev/gvisor/runsc/cmd.(*Boot).Execute(0xc00060c380, {0xc0002320e0?, 0x11?}, 0xc0002ce070, {0xc0003b40c0, 0x2, 0xc0003b40c0?}) runsc/cmd/boot.go:564 +0x3545 github.com/google/subcommands.(*Commander).Execute(0xc000266000, {0x1f7cf90, 0x3af8e60}, {0xc0003b40c0, 0x2, 0x2}) external/com_github_google_subcommands/subcommands.go:200 +0x684 github.com/google/subcommands.Execute(...) external/com_github_google_subcommands/subcommands.go:481 gvisor.dev/gvisor/runsc/cli.Main() runsc/cli/main.go:216 +0x212f main.main() runsc/main.go:31 +0x1d ====== tmpfs.iterMutex -> tmpfs.inodeMutex ===== goroutine 133 [running]: gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*inodeMutex).Lock(0xc0007e3c88) bazel-out/k8-fastbuild/bin/pkg/sentry/fsimpl/tmpfs/inode_mutex.go:33 +0x3c gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*inode).touchAtime(0xc0007e3c58, 0xc0005de000) pkg/sentry/fsimpl/tmpfs/tmpfs.go:807 +0xff gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*directoryFD).IterDirents(0xc000fd8000, {0xc0005f0000?, 0xc0009534c8?}, {0x1f68ee0, 0xc000f14040}) pkg/sentry/fsimpl/tmpfs/directory.go:125 +0x365 gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).IterDirents(0xc000fd8000, {0x1f8d8c0, 0xc0009f8008}, {0x1f68ee0, 0xc000f14040}) pkg/sentry/vfs/file_description.go:691 +0x15e gvisor.dev/gvisor/pkg/sentry/syscalls/linux.getdents(0xc0009f8008, {{0x3}, {0x557bb2cd34a0}, {0x8000}, {0x1000}, {0x25f3db78}, {0x4}}, 0x1) pkg/sentry/syscalls/linux/sys_getdents.go:69 +0x217 gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Getdents64(0xc0009f8008, 0x0?, {{0x3}, {0x557bb2cd34a0}, {0x8000}, {0x1000}, {0x25f3db78}, {0x4}}) pkg/sentry/syscalls/linux/sys_getdents.go:36 +0x5a gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc0009f8008, 0xd9, {{0x3}, {0x557bb2cd34a0}, {0x8000}, {0x1000}, {0x25f3db78}, {0x4}}) pkg/sentry/kernel/task_syscall.go:143 +0x995 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc0009f8008, 0xd9, {{0x3}, {0x557bb2cd34a0}, {0x8000}, {0x1000}, {0x25f3db78}, {0x4}}) pkg/sentry/kernel/task_syscall.go:323 +0x72 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc0009f8008, 0xd9, {{0x3}, {0x557bb2cd34a0}, {0x8000}, {0x1000}, {0x25f3db78}, {0x4}}) pkg/sentry/kernel/task_syscall.go:283 +0x94 gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc0009f8008) pkg/sentry/kernel/task_syscall.go:258 +0x4b0 gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc0009f8008?, 0xc0009f8008) pkg/sentry/kernel/task_run.go:269 +0x1fae gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc0009f8008, 0xf) pkg/sentry/kernel/task_run.go:97 +0x4fb created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 181 pkg/sentry/kernel/task_start.go:400 +0x165