syzbot


DATA RACE in waiter.(*Entry).SetNext

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 0x00c42042a2a8 by goroutine 165:
  gvisor.googlesource.com/gvisor/pkg/waiter.(*Entry).SetNext()
      bazel-out/k8-fastbuild/bin/pkg/ilist/interface_list.go:160 +0x50
  gvisor.googlesource.com/gvisor/pkg/ilist.(*List).PushBack()
      bazel-out/k8-fastbuild/bin/pkg/ilist/interface_list.go:70 +0xee
  gvisor.googlesource.com/gvisor/pkg/waiter.(*Queue).EventRegister()
      pkg/waiter/waiter.go:160 +0x86
  gvisor.googlesource.com/gvisor/pkg/sentry/fs/tty.(*masterFileOperations).EventRegister()
      pkg/sentry/fs/tty/master.go:123 +0x8b
  gvisor.googlesource.com/gvisor/pkg/sentry/fs.(*File).EventRegister()
      pkg/sentry/fs/file.go:175 +0x6a
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.readv()
      pkg/sentry/syscalls/linux/sys_read.go:202 +0x3cb
  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:278 +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 +0x19c
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:217 +0x157c
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:95 +0x264

Previous write at 0x00c42042a2a8 by goroutine 167:
  gvisor.googlesource.com/gvisor/pkg/waiter.(*Entry).SetNext()
      bazel-out/k8-fastbuild/bin/pkg/ilist/interface_list.go:160 +0x50
  gvisor.googlesource.com/gvisor/pkg/ilist.(*List).PushBack()
      bazel-out/k8-fastbuild/bin/pkg/ilist/interface_list.go:66 +0x4a
  gvisor.googlesource.com/gvisor/pkg/waiter.(*Queue).EventRegister()
      pkg/waiter/waiter.go:160 +0x86
  gvisor.googlesource.com/gvisor/pkg/sentry/fs/tty.(*masterFileOperations).EventRegister()
      pkg/sentry/fs/tty/master.go:124 +0xe1
  gvisor.googlesource.com/gvisor/pkg/sentry/fs.(*File).EventRegister()
      pkg/sentry/fs/file.go:175 +0x6a
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.readv()
      pkg/sentry/syscalls/linux/sys_read.go:202 +0x3cb
  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:278 +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 +0x19c
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:217 +0x157c
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:95 +0x264

Crashes (739):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/07/04 12:12 https://github.com/dvyukov/gvisor.git race 54dabe736f40 b9f93868 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/06/27 09:53 https://github.com/dvyukov/gvisor.git race 53efb512bdf7 b0294c53 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/06/24 03:51 https://github.com/dvyukov/gvisor.git race 60dbbdc2d54b 2064fc5c .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/08/15 02:45 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 5084a625 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/15 00:18 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 5084a625 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/14 23:10 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 5084a625 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/14 22:07 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 5084a625 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/14 20:47 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 5084a625 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/14 12:50 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 7a88b141 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/14 01:56 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 7a88b141 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/13 16:52 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 7a88b141 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/13 15:37 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 7a88b141 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/09 14:06 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/09 11:52 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/09 10:03 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/09 08:29 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 23:59 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 22:54 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 21:51 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 19:46 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 18:35 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 17:25 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 15:36 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 12:54 https://github.com/dvyukov/gvisor.git race 72627b310e89 14f8a76f .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 11:36 https://github.com/dvyukov/gvisor.git race 72627b310e89 14f8a76f .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 10:14 https://github.com/dvyukov/gvisor.git race 72627b310e89 14f8a76f .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 10:08 https://github.com/dvyukov/gvisor.git race 72627b310e89 14f8a76f .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 08:15 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 06:45 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 05:02 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 02:44 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 01:01 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 23:48 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 22:14 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 20:12 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 19:32 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 17:29 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 16:04 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 14:55 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 11:32 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 05:48 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 04:19 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 03:06 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 00:19 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/06 23:04 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/23 07:58 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.