syzbot


DATA RACE in fsutil.(*InodeSimpleAttributes).UnstableAttr

Status: fixed on 2019/01/29 16:13
Fix commit: 09cf3b40a899 Fix data race in InodeSimpleAttributes.Unstable.
First crash: 2134d, last: 2131d

Sample crash report:
WARNING: DATA RACE
Read at 0x00c000453d28 by goroutine 319:
  gvisor.googlesource.com/gvisor/pkg/sentry/fs/fsutil.(*InodeSimpleAttributes).UnstableAttr()
      pkg/sentry/fs/fsutil/inode.go:114 +0x91
  gvisor.googlesource.com/gvisor/pkg/sentry/fs/tmpfs.(*Dir).UnstableAttr()
      pkg/sentry/fs/tmpfs/tmpfs.go:189 +0xc1
  gvisor.googlesource.com/gvisor/pkg/sentry/fs.(*Inode).UnstableAttr()
      pkg/sentry/fs/inode.go:247 +0x25f
  gvisor.googlesource.com/gvisor/pkg/sentry/fs.ContextCanAccessFile()
      pkg/sentry/fs/context.go:36 +0x98
  gvisor.googlesource.com/gvisor/pkg/sentry/fs/fsutil.InodeGenericChecker.Check()
      pkg/sentry/fs/fsutil/inode.go:446 +0x67
DIAGNOSIS:
I0126 04:57:22.491402   15328 x:0] ***************************
I0126 04:57:22.491547   15328 x:0] Args: [/syzkaller/managers/ptrace-proxy-sandbox-race/current/image -root /syzkaller/managers/ptrace-proxy-sandbox-race/workdir/gvisor_root -watchdog-action=panic -network=none -debug -platform=ptrace -file-access=shared -network=sandbox debug -stacks ci-gvisor-ptrace-proxy-sandbox-race-3]
I0126 04:57:22.491642   15328 x:0] Git Revision: cc995207531965b70bc1b812a70b91f242a92086
I0126 04:57:22.491677   15328 x:0] PID: 15328
I0126 04:57:22.491724   15328 x:0] UID: 0, GID: 0
I0126 04:57:22.491752   15328 x:0] Configuration:
I0126 04:57:22.491767   15328 x:0] 		RootDir: /syzkaller/managers/ptrace-proxy-sandbox-race/workdir/gvisor_root
I0126 04:57:22.491799   15328 x:0] 		Platform: ptrace
I0126 04:57:22.491829   15328 x:0] 		FileAccess: shared, overlay: false
I0126 04:57:22.491880   15328 x:0] 		Network: sandbox, logging: false
I0126 04:57:22.491903   15328 x:0] 		Strace: false, max size: 1024, syscalls: []
I0126 04:57:22.491932   15328 x:0] ***************************
D0126 04:57:22.491990   15328 x:0] Load container "/syzkaller/managers/ptrace-proxy-sandbox-race/workdir/gvisor_root" "ci-gvisor-ptrace-proxy-sandbox-race-3"
D0126 04:57:22.494884   15328 x:0] Signal container "ci-gvisor-ptrace-proxy-sandbox-race-3": signal 0
D0126 04:57:22.494962   15328 x:0] Signal sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
D0126 04:57:22.495023   15328 x:0] Connecting to sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
D0126 04:57:22.495453   15328 x:0] urpc: successfully marshalled 117 bytes.
D0126 04:57:22.496727   15328 x:0] urpc: unmarshal success.
I0126 04:57:22.496921   15328 x:0] Found sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3", PID: 14770
I0126 04:57:22.497026   15328 x:0] Retrieving sandbox stacks
D0126 04:57:22.497065   15328 x:0] Stacks sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
D0126 04:57:22.497108   15328 x:0] Connecting to sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
D0126 04:57:22.497235   15328 x:0] urpc: successfully marshalled 36 bytes.
D0126 04:57:22.675093   15328 x:0] urpc: unmarshal success.
I0126 04:57:22.675214   15328 x:0]      *** Stack dump ***
goroutine 927 [running]:
gvisor.googlesource.com/gvisor/pkg/log.Stacks(0x459e01, 0x28, 0x45d3f2, 0x4e466d)
	pkg/log/log.go:259 +0xd1
gvisor.googlesource.com/gvisor/runsc/boot.(*debug).Stacks(0x22e11f8, 0x22e11f8, 0xc00033a000, 0x0, 0x0)
	runsc/boot/debug.go:26 +0x38
reflect.Value.call(0xc0002f81e0, 0xc00000e2d0, 0x13, 0x10d4223, 0x4, 0xc000941e68, 0x3, 0x3, 0x4f058e, 0xf8ffe0, ...)
	GOROOT/src/reflect/value.go:447 +0x635
reflect.Value.Call(0xc0002f81e0, 0xc00000e2d0, 0x13, 0xc000941e68, 0x3, 0x3, 0x0, 0x22e11f8, 0x16)
	GOROOT/src/reflect/value.go:308 +0xc1
gvisor.googlesource.com/gvisor/pkg/urpc.(*Server).handleOne(0xc000258e40, 0xc0003ccb70, 0x0, 0x0)
	pkg/urpc/urpc.go:298 +0x613
gvisor.googlesource.com/gvisor/pkg/urpc.(*Server).handleRegistered(0xc000258e40, 0xc0003ccb70, 0xc000258e40, 0xc0003ccb70)
	pkg/urpc/urpc.go:393 +0x43
gvisor.googlesource.com/gvisor/pkg/urpc.(*Server).StartHandling.func1(0xc000258e40, 0xc0003ccb70)
	pkg/urpc/urpc.go:413 +0x77
created by gvisor.googlesource.com/gvisor/pkg/urpc.(*Server).StartHandling
	pkg/urpc/urpc.go:411 +0x6f

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xc000138bc4)
	GOROOT/src/runtime/sema.go:56 +0x39
sync.(*WaitGroup).Wait(0xc000138bc4)
	GOROOT/src/sync/waitgroup.go:130 +0xb5
gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Kernel).WaitExited(0xc000238780)
	pkg/sentry/kernel/kernel.go:801 +0x57
gvisor.googlesource.com/gvisor/runsc/boot.(*Loader).WaitExit(0xc000238a00, 0x0, 0x0)
	runsc/boot/loader.go:747 +0x50
gvisor.googlesource.com/gvisor/runsc/cmd.(*Boot).Execute(0xc000236120, 0x12192e0, 0xc0000ce008, 0xc00012cc00, 0xc0001c50a0, 0x2, 0x2, 0x0)
	runsc/cmd/boot.go:236 +0x121d
github.com/google/subcommands.(*Commander).Execute(0xc000134000, 0x12192e0, 0xc0000ce008, 0xc0001c50a0, 0x2, 0x2, 0x1)
	external/com_github_google_subcommands/subcommands.go:141 +0x525
github.com/google/subcommands.Execute(0x12192e0, 0xc0000ce008, 0xc0001c50a0, 0x2, 0x2, 0xc0000f0d40)
	external/com_github_google_subcommands/subcommands.go:371 +0x81
main.main()
	runsc/main.go:221 +0x1ef8

Crashes (8):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/01/26 04:59 https://gvisor.googlesource.com/gvisor master c28f886c0bb0 ebf7a37c .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2019/01/26 03:18 https://gvisor.googlesource.com/gvisor master c28f886c0bb0 ebf7a37c .config console log report syz ci-gvisor-kvm-direct-overlay-host-race
2019/01/25 17:08 https://gvisor.googlesource.com/gvisor master cc9952075319 b5d78bce .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2019/01/23 07:02 https://gvisor.googlesource.com/gvisor master ceb3dcfb72fe b1ff06b2 .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2019/01/25 23:42 https://gvisor.googlesource.com/gvisor master c28f886c0bb0 ebf7a37c .config console log report ci-gvisor-kvm-direct-overlay-host-race
2019/01/25 11:54 https://gvisor.googlesource.com/gvisor master cc9952075319 b5d78bce .config console log report ci-gvisor-kvm-direct-overlay-host-race
2019/01/23 20:10 https://gvisor.googlesource.com/gvisor master 5f08f8fd8162 7cf3249c .config console log report ci-gvisor-kvm-direct-overlay-host-race
2019/01/23 06:14 https://gvisor.googlesource.com/gvisor master ceb3dcfb72fe b1ff06b2 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
* Struck through repros no longer work on HEAD.