syzbot


DATA RACE in waiter.(*Entry).SetPrev

Status: fixed on 2018/08/19 04:48
Fix commit: d4939f6dc22e TTY: Fix data race where calls into tty.queue's waiter were not synchronized.
First crash: 2348d, last: 2295d

Sample crash report:
WARNING: DATA RACE
Write at 0x00c4204ece98 by goroutine 15:
  gvisor.googlesource.com/gvisor/pkg/waiter.(*Entry).SetPrev()
      bazel-out/k8-fastbuild/bin/pkg/ilist/interface_list.go:169 +0x50
  gvisor.googlesource.com/gvisor/pkg/ilist.(*List).Remove()
      bazel-out/k8-fastbuild/bin/pkg/ilist/interface_list.go:136 +0xc8
  gvisor.googlesource.com/gvisor/pkg/waiter.(*Queue).EventUnregister()
      pkg/waiter/waiter.go:179 +0x67
  gvisor.googlesource.com/gvisor/pkg/sentry/fs/tty.(*masterFileOperations).EventUnregister()
      pkg/sentry/fs/tty/master.go:134 +0xcd
  gvisor.googlesource.com/gvisor/pkg/sentry/fs.(*File).EventUnregister()
      pkg/sentry/fs/file.go:182 +0x60
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.readv()
      pkg/sentry/syscalls/linux/sys_read.go:223 +0x5e1
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.Read()
      pkg/sentry/syscalls/linux/sys_read.go:67 +0x295
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:162 +0x14e
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke()
      pkg/sentry/kernel/task_syscall.go:280 +0x7d
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter()
      pkg/sentry/kernel/task_syscall.go:241 +0xc3
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscall()
      pkg/sentry/kernel/task_syscall.go:216 +0x19e
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:219 +0x1501
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:95 +0x264

Previous read at 0x00c4204ece98 by goroutine 461:
  gvisor.googlesource.com/gvisor/pkg/waiter.(*Entry).Prev()
      bazel-out/k8-fastbuild/bin/pkg/ilist/interface_list.go:159 +0x4c
  gvisor.googlesource.com/gvisor/pkg/ilist.(*List).Remove()
      bazel-out/k8-fastbuild/bin/pkg/ilist/interface_list.go:126 +0x42
  gvisor.googlesource.com/gvisor/pkg/waiter.(*Queue).EventUnregister()
      pkg/waiter/waiter.go:179 +0x67
  gvisor.googlesource.com/gvisor/pkg/sentry/fs/tty.(*masterFileOperations).EventUnregister()
      pkg/sentry/fs/tty/master.go:133 +0x81
  gvisor.googlesource.com/gvisor/pkg/sentry/fs.(*File).EventUnregister()
      pkg/sentry/fs/file.go:182 +0x60
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.readv()
      pkg/sentry/syscalls/linux/sys_read.go:223 +0x5e1
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.Readv()
      pkg/sentry/syscalls/linux/sys_read.go:144 +0x28c
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:162 +0x14e
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke()
      pkg/sentry/kernel/task_syscall.go:280 +0x7d
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter()
      pkg/sentry/kernel/task_syscall.go:241 +0xc3
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscall()
      pkg/sentry/kernel/task_syscall.go:216 +0x19e
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:219 +0x1501
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:95 +0x264

Crashes (70):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/08/14 21:14 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 5084a625 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 23:59 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 13:16 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/06 23:20 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/06 22:05 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/06 14:46 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/06 05:17 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/05 14:54 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/05 08:04 https://github.com/dvyukov/gvisor.git race 72627b310e89 3476a2df .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/05 00:37 https://github.com/dvyukov/gvisor.git race 72627b310e89 3476a2df .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/04 21:33 https://github.com/dvyukov/gvisor.git race 72627b310e89 3476a2df .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/02 07:07 https://github.com/dvyukov/gvisor.git race 72627b310e89 0a7cf4ec .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/01 21:14 https://github.com/dvyukov/gvisor.git race 72627b310e89 0a7cf4ec .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/01 04:06 https://github.com/dvyukov/gvisor.git race 72627b310e89 8ef497b6 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/01 00:07 https://github.com/dvyukov/gvisor.git race 72627b310e89 8ef497b6 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/31 09:43 https://github.com/dvyukov/gvisor.git race 72627b310e89 1a381291 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/31 08:11 https://github.com/dvyukov/gvisor.git race 72627b310e89 1a381291 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/31 01:58 https://github.com/dvyukov/gvisor.git race 72627b310e89 1a381291 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/30 23:27 https://github.com/dvyukov/gvisor.git race 72627b310e89 1a381291 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/29 09:35 https://github.com/dvyukov/gvisor.git race 72627b310e89 0824d7a1 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/25 00:46 https://github.com/dvyukov/gvisor.git race 72627b310e89 375a3e31 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/24 22:29 https://github.com/dvyukov/gvisor.git race 72627b310e89 4969639c .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/24 09:18 https://github.com/dvyukov/gvisor.git race 72627b310e89 912c93d7 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/24 05:30 https://github.com/dvyukov/gvisor.git race 72627b310e89 912c93d7 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/23 10:29 https://github.com/dvyukov/gvisor.git race 72627b310e89 f69c5fcd .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/23 06:05 https://github.com/dvyukov/gvisor.git race 72627b310e89 8cc079c3 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/21 00:55 https://github.com/dvyukov/gvisor.git race 72627b310e89 af255b09 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/20 23:26 https://github.com/dvyukov/gvisor.git race 72627b310e89 af255b09 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/20 01:51 https://github.com/dvyukov/gvisor.git race 72627b310e89 49f35839 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/16 21:03 https://github.com/dvyukov/gvisor.git race 54dabe736f40 40cb0c9a .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/16 11:17 https://github.com/dvyukov/gvisor.git race 54dabe736f40 92a49505 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/16 03:01 https://github.com/dvyukov/gvisor.git race 54dabe736f40 92a49505 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/15 18:16 https://github.com/dvyukov/gvisor.git race 54dabe736f40 92a49505 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/13 22:23 https://github.com/dvyukov/gvisor.git race 54dabe736f40 92a49505 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/12 19:45 https://github.com/dvyukov/gvisor.git race 54dabe736f40 06c33b3a .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/12 13:43 https://github.com/dvyukov/gvisor.git race 54dabe736f40 06c33b3a .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/12 12:46 https://github.com/dvyukov/gvisor.git race 54dabe736f40 06c33b3a .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/12 09:49 https://github.com/dvyukov/gvisor.git race 54dabe736f40 2e0e3130 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/12 08:39 https://github.com/dvyukov/gvisor.git race 54dabe736f40 2e0e3130 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/11 10:26 https://github.com/dvyukov/gvisor.git race 54dabe736f40 2e0e3130 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/10 17:58 https://github.com/dvyukov/gvisor.git race 54dabe736f40 9fa03fa5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/09 17:30 https://github.com/dvyukov/gvisor.git race 54dabe736f40 f25e5770 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/08 07:24 https://github.com/dvyukov/gvisor.git race 54dabe736f40 6c0c0099 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/08 05:55 https://github.com/dvyukov/gvisor.git race 54dabe736f40 6c0c0099 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/07 09:40 https://github.com/dvyukov/gvisor.git race 54dabe736f40 6c0c0099 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/06 23:24 https://github.com/dvyukov/gvisor.git race 54dabe736f40 6c0c0099 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/04 18:19 https://github.com/dvyukov/gvisor.git race 54dabe736f40 b9f93868 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/04 11:22 https://github.com/dvyukov/gvisor.git race 54dabe736f40 b9f93868 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/29 10:52 https://github.com/dvyukov/gvisor.git race 35a840ad3ceb 5c7ca877 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/23 08:00 https://github.com/dvyukov/gvisor.git race 60dbbdc2d54b 665947c7 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
* Struck through repros no longer work on HEAD.