syzbot


DATA RACE in refs.(*WeakRef).init (2)

Status: fixed on 2020/02/07 00:17
Reported-by: syzbot+3de7a88e232756b97f83@syzkaller.appspotmail.com
Fix commit: 3db317390b5c Remove epoll entry from map when dropping it.
First crash: 1639d, last: 1639d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
gvisor DATA RACE in refs.(*WeakRef).init 1 2100d 2100d 0/26 auto-closed as invalid on 2019/02/22 14:34

Sample crash report:
WARNING: DATA RACE
Write at 0x00c00085c490 by goroutine 358:
  gvisor.dev/gvisor/pkg/refs.(*WeakRef).init()
      pkg/refs/refcounter.go:160 +0x47
  gvisor.dev/gvisor/pkg/refs.NewWeakRef()
      pkg/refs/refcounter.go:93 +0x8a
  gvisor.dev/gvisor/pkg/sentry/fs.(*Dirent).hashChildParentSet()
      pkg/sentry/fs/dirent.go:303 +0x126
  gvisor.dev/gvisor/pkg/sentry/fs.(*Dirent).hashChild()
      pkg/sentry/fs/dirent.go:288 +0xf0
DIAGNOSIS:
I1126 05:48:41.486993   45672 x:0] ***************************
I1126 05:48:41.487052   45672 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 -alsologtostderr -platform=ptrace -file-access=shared -network=sandbox -TESTONLY-unsafe-nonroot debug -stacks ci-gvisor-ptrace-proxy-sandbox-race-3]
I1126 05:48:41.487124   45672 x:0] Version release-20191114.0-27-g2b1b51f1d7dd
I1126 05:48:41.487150   45672 x:0] PID: 45672
I1126 05:48:41.487183   45672 x:0] UID: 0, GID: 0
I1126 05:48:41.487225   45672 x:0] Configuration:
I1126 05:48:41.487244   45672 x:0] 		RootDir: /syzkaller/managers/ptrace-proxy-sandbox-race/workdir/gvisor_root
I1126 05:48:41.487266   45672 x:0] 		Platform: ptrace
I1126 05:48:41.487287   45672 x:0] 		FileAccess: shared, overlay: false
I1126 05:48:41.487332   45672 x:0] 		Network: sandbox, logging: false
I1126 05:48:41.487369   45672 x:0] 		Strace: false, max size: 1024, syscalls: []
I1126 05:48:41.487418   45672 x:0] ***************************
W1126 05:48:41.487453   45672 x:0] Block the TERM signal. This is only safe in tests!
D1126 05:48:41.487551   45672 x:0] Load container "/syzkaller/managers/ptrace-proxy-sandbox-race/workdir/gvisor_root" "ci-gvisor-ptrace-proxy-sandbox-race-3"
D1126 05:48:41.492828   45672 x:0] Signal container "ci-gvisor-ptrace-proxy-sandbox-race-3": signal 0
D1126 05:48:41.492923   45672 x:0] Signal sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
D1126 05:48:41.492964   45672 x:0] Connecting to sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
D1126 05:48:41.493298   45672 x:0] urpc: successfully marshalled 117 bytes.
I1126 05:48:41.619087   45672 x:0] Found sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3", PID: 38678
I1126 05:48:41.619169   45672 x:0] Retrieving sandbox stacks
D1126 05:48:41.619235   45672 x:0] Stacks sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
D1126 05:48:41.619286   45672 x:0] Connecting to sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
W1126 05:48:41.619379   45672 x:0] FATAL ERROR: retrieving stacks: connecting to control server at PID 38678: connection refused
retrieving stacks: connecting to control server at PID 38678: connection refused
W1126 05:48:41.619588   45672 x:0] Failure to execute command, err: 1


Error collecting stacks: failed to run ["/syzkaller/managers/ptrace-proxy-sandbox-race/current/image" "-root" "/syzkaller/managers/ptrace-proxy-sandbox-race/workdir/gvisor_root" "-watchdog-action=panic" "-network=none" "-debug" "-alsologtostderr" "-platform=ptrace" "-file-access=shared" "-network=sandbox" "-TESTONLY-unsafe-nonroot" "debug" "-stacks" "ci-gvisor-ptrace-proxy-sandbox-race-3"]: exit status 128
I1126 05:48:41.486993   45672 x:0] ***************************
I1126 05:48:41.487052   45672 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 -alsologtostderr -platform=ptrace -file-access=shared -network=sandbox -TESTONLY-unsafe-nonroot debug -stacks ci-gvisor-ptrace-proxy-sandbox-race-3]
I1126 05:48:41.487124   45672 x:0] Version release-20191114.0-27-g2b1b51f1d7dd
I1126 05:48:41.487150   45672 x:0] PID: 45672
I1126 05:48:41.487183   45672 x:0] UID: 0, GID: 0
I1126 05:48:41.487225   45672 x:0] Configuration:
I1126 05:48:41.487244   45672 x:0] 		RootDir: /syzkaller/managers/ptrace-proxy-sandbox-race/workdir/gvisor_root
I1126 05:48:41.487266   45672 x:0] 		Platform: ptrace
I1126 05:48:41.487287   45672 x:0] 		FileAccess: shared, overlay: false
I1126 05:48:41.487332   45672 x:0] 		Network: sandbox, logging: false
I1126 05:48:41.487369   45672 x:0] 		Strace: false, max size: 1024, syscalls: []
I1126 05:48:41.487418   45672 x:0] ***************************
W1126 05:48:41.487453   45672 x:0] Block the TERM signal. This is only safe in tests!
D1126 05:48:41.487551   45672 x:0] Load container "/syzkaller/managers/ptrace-proxy-sandbox-race/workdir/gvisor_root" "ci-gvisor-ptrace-proxy-sandbox-race-3"
D1126 05:48:41.492828   45672 x:0] Signal container "ci-gvisor-ptrace-proxy-sandbox-race-3": signal 0
D1126 05:48:41.492923   45672 x:0] Signal sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
D1126 05:48:41.492964   45672 x:0] Connecting to sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
D1126 05:48:41.493298   45672 x:0] urpc: successfully marshalled 117 bytes.
I1126 05:48:41.619087   45672 x:0] Found sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3", PID: 38678
I1126 05:48:41.619169   45672 x:0] Retrieving sandbox stacks
D1126 05:48:41.619235   45672 x:0] Stacks sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
D1126 05:48:41.619286   45672 x:0] Connecting to sandbox "ci-gvisor-ptrace-proxy-sandbox-race-3"
W1126 05:48:41.619379   45672 x:0] FATAL ERROR: retrieving stacks: connecting to control server at PID 38678: connection refused
retrieving stacks: connecting to control server at PID 38678: connection refused
W1126 05:48:41.619588   45672 x:0] Failure to execute command, err: 1
  gvisor.dev/gvisor/pkg/sentry/fs.(*Dirent).walk()
      pkg/sentry/fs/dirent.go:584 +0x67f
  gvisor.dev/gvisor/pkg/sentry/fs.(*Dirent).Walk()
      pkg/sentry/fs/dirent.go:613 +0xe5
  gvisor.dev/gvisor/pkg/sentry/fs.(*MountNamespace).FindLink()
      pkg/sentry/fs/mounts.go:522 +0x1fe
  gvisor.dev/gvisor/pkg/sentry/fs.(*MountNamespace).FindInode()
      pkg/sentry/fs/mounts.go:560 +0x93
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux.fileOpOn()
      pkg/sentry/syscalls/linux/sys_file.go:96 +0x17c
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux.openAt()
      pkg/sentry/syscalls/linux/sys_file.go:140 +0x141
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Open()
      pkg/sentry/syscalls/linux/sys_file.go:465 +0xfa
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:165 +0x402
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke()
      pkg/sentry/kernel/task_syscall.go:283 +0xb4
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter()
      pkg/sentry/kernel/task_syscall.go:244 +0x109
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall()
      pkg/sentry/kernel/task_syscall.go:219 +0x1b3
  gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:219 +0x1539
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:91 +0x308

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/11/26 05:48 https://gvisor.googlesource.com/gvisor master 2b1b51f1d7dd f746151a .config console log report ci-gvisor-ptrace-proxy-sandbox-race
* Struck through repros no longer work on HEAD.