syzbot


panic: running on goroutine NUM (task goroutine for kernel.Task ADDR is NUM)

Status: fixed on 2024/08/07 22:01
Fix commit: e30fa671774b FUSE: Only block with a task if it is the task goroutine.
First crash: 113d, last: 113d

Sample crash report:
panic: running on goroutine 83912 (task goroutine for kernel.Task 0x40088a6008 is 0)

goroutine 83912 gp=0x4003bd8e00 m=90 mp=0x40019a7808 [running]:
panic({0xd4d240?, 0x40882d7de0?})
	GOROOT/src/runtime/panic.go:779 +0x140 fp=0x40007b2d90 sp=0x40007b2ce0 pc=0x4bc60
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).assertTaskGoroutine(0x40088a6008)
	pkg/sentry/kernel/task_run.go:369 +0xf4 fp=0x40007b2e00 sp=0x40007b2d90 pc=0x686db4
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).prepareSleep(0x40088a6008)
	pkg/sentry/kernel/task_block.go:186 +0x2c fp=0x40007b2e20 sp=0x40007b2e00 pc=0x66e17c
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).block(0x40088a6008, 0x40055585a0, 0x0)
	pkg/sentry/kernel/task_block.go:148 +0x6c fp=0x40007b2ed0 sp=0x40007b2e20 pc=0x66de1c
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Block(0x12488f8?, 0x4007748230?)
	pkg/sentry/kernel/task_block.go:118 +0x2c fp=0x40007b2f00 sp=0x40007b2ed0 pc=0x66db2c
gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*connection).Call(0x400283eee0, {0x12488f8?, 0x4007748230?}, 0x4008aa2a80)
	pkg/sentry/fsimpl/fuse/connection.go:258 +0xa8 fp=0x40007b2f70 sp=0x40007b2f00 pc=0xad7868
gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*inode).getAttr(0x4004667c08, {0x12488f8, 0x4007748230}, 0x10141a1?, {0x0?, 0x0?}, 0x0, 0x0)
	pkg/sentry/fsimpl/fuse/inode.go:706 +0xf8 fp=0x40007b30d0 sp=0x40007b2f70 pc=0xae21a8
gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*inode).Stat(0x4004667c08, {0x12488f8, 0x4007748230}, 0x40088a0000, {0x2f6ec9b8?, 0xffff?})
	pkg/sentry/fsimpl/fuse/inode.go:747 +0xd0 fp=0x40007b3360 sp=0x40007b30d0 pc=0xae2850
gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*Filesystem).StatAt(0x40088a0000, {0x12488f8, 0x4007748230}, 0x4003a68488, {0x7b3608?, 0x40?})
	pkg/sentry/fsimpl/kernfs/filesystem.go:925 +0x18c fp=0x40007b3520 sp=0x40007b3360 pc=0x4989cc
gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*filesystem).StatAt(0x40007b3748?, {0x12488f8?, 0x4007748230?}, 0xd4d2c0?, {0x88a0001?, 0x40?})
	<autogenerated>:1 +0x50 fp=0x40007b3680 sp=0x40007b3520 pc=0xaf0060
gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).StatAt(0x40001f7208, {0x12488f8, 0x4007748230}, 0x4002059940?, 0x0?, 0x40007b3958)
	pkg/sentry/vfs/vfs.go:650 +0xc8 fp=0x40007b3880 sp=0x40007b3680 pc=0x408158
gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).GenerateProcMountInfo(0x40001f7208, {0x12488f8, 0x4007748230}, {0x4008714370?, 0x40086f7808?}, 0x40050701e0)
	pkg/sentry/vfs/mount.go:1464 +0x2cc fp=0x40007b3bd0 sp=0x40007b3880 pc=0x3f90cc
gvisor.dev/gvisor/pkg/sentry/fsimpl/proc.(*mountInfoData).Generate(0x4008820e08, {0x12488f8, 0x4007748230}, 0x40050701e0)
	pkg/sentry/fsimpl/proc/task_files.go:1199 +0x138 fp=0x40007b3c80 sp=0x40007b3bd0 pc=0x8d2c38
gvisor.dev/gvisor/pkg/sentry/vfs.(*DynamicBytesFileDescriptionImpl).preadLocked(0x40050701c0, {0x12488f8, 0x4007748230}, {{0x12418f0, 0x40062f0008}, {0x0, 0x1, 0x0, 0x0}, {0x0, ...}}, ...)
	pkg/sentry/vfs/file_description_impl_util.go:310 +0xb4 fp=0x40007b3cf0 sp=0x40007b3c80 pc=0x3eaa24
gvisor.dev/gvisor/pkg/sentry/vfs.(*DynamicBytesFileDescriptionImpl).PRead(0x40050701c0, {0x12488f8, 0x4007748230}, {{0x12418f0, 0x40062f0008}, {0x0, 0x1, 0x0, 0x0}, {0x0, ...}}, ...)
	pkg/sentry/vfs/file_description_impl_util.go:329 +0xa8 fp=0x40007b3d80 sp=0x40007b3cf0 pc=0x3eac98
gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*DynamicBytesFD).PRead(0x408aece1a0?, {0x12488f8?, 0x4007748230?}, {{0x12418f0, 0x40062f0008}, {0x0, 0x1, 0x0, 0x0}, {0x0, ...}}, ...)
	pkg/sentry/fsimpl/kernfs/dynamic_bytes_file.go:132 +0x74 fp=0x40007b3df0 sp=0x40007b3d80 pc=0x48fce4
gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).PRead(0x4005070220, {0x12488f8, 0x4007748230}, {{0x12418f0, 0x40062f0008}, {0x0, 0x1, 0x0, 0x0}, {0x0, ...}}, ...)
	pkg/sentry/vfs/file_description.go:633 +0x100 fp=0x40007b3ea0 sp=0x40007b3df0 pc=0x3e7820
gvisor.dev/gvisor/pkg/sentry/syscalls/linux.submitCallback.getAIOCallback.func1({0x12488f8, 0x4007748230})
	pkg/sentry/syscalls/linux/sys_aio.go:361 +0x1f0 fp=0x40007b3fa0 sp=0x40007b3ea0 pc=0x816400
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).QueueAIO.func1()
	pkg/sentry/kernel/aio.go:30 +0x40 fp=0x40007b3fd0 sp=0x40007b3fa0 pc=0x63ec20
runtime.goexit({})
	src/runtime/asm_arm64.s:1222 +0x4 fp=0x40007b3fd0 sp=0x40007b3fd0 pc=0x896c4
created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).QueueAIO in goroutine 84244
	pkg/sentry/kernel/aio.go:29 +0x108

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/08/05 02:41 gvisor 429898032595 1786a2a8 .config console log report info ci-gvisor-arm64-ptrace-1-cover panic: running on goroutine NUM (task goroutine for kernel.Task ADDR is NUM)
* Struck through repros no longer work on HEAD.