syzbot


DATA RACE in waiter.(*Entry).Prev

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
Read at 0x00c420555e38 by goroutine 166:
  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

Previous write at 0x00c420555e38 by goroutine 174:
  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

Crashes (3992):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/08/14 21:27 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 5084a625 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/08/04 21:39 https://github.com/dvyukov/gvisor.git race 72627b310e89 3476a2df .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/31 08:27 https://github.com/dvyukov/gvisor.git race 72627b310e89 1a381291 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/30 23:33 https://github.com/dvyukov/gvisor.git race 72627b310e89 1a381291 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/29 09:45 https://github.com/dvyukov/gvisor.git race 72627b310e89 0824d7a1 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/24 22:45 https://github.com/dvyukov/gvisor.git race 72627b310e89 4969639c .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/24 05:39 https://github.com/dvyukov/gvisor.git race 72627b310e89 912c93d7 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/20 23:31 https://github.com/dvyukov/gvisor.git race 72627b310e89 af255b09 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/20 02:08 https://github.com/dvyukov/gvisor.git race 72627b310e89 49f35839 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/16 03:17 https://github.com/dvyukov/gvisor.git race 54dabe736f40 92a49505 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/13 22:33 https://github.com/dvyukov/gvisor.git race 54dabe736f40 92a49505 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/12 14:57 https://github.com/dvyukov/gvisor.git race 54dabe736f40 06c33b3a .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/12 13:35 https://github.com/dvyukov/gvisor.git race 54dabe736f40 06c33b3a .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/12 10:29 https://github.com/dvyukov/gvisor.git race 54dabe736f40 2e0e3130 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/11 11:28 https://github.com/dvyukov/gvisor.git race 54dabe736f40 2e0e3130 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/10 18:25 https://github.com/dvyukov/gvisor.git race 54dabe736f40 9fa03fa5 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/04 20:35 https://github.com/dvyukov/gvisor.git race 54dabe736f40 b9f93868 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/06/29 03:46 https://github.com/dvyukov/gvisor.git race 35a840ad3ceb dba0b50e .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/06/27 00:45 https://github.com/dvyukov/gvisor.git race fb36f579ec12 b0294c53 .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/06/25 10:42 https://github.com/dvyukov/gvisor.git race 60dbbdc2d54b 2064fc5c .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/06/24 11:14 https://github.com/dvyukov/gvisor.git race 60dbbdc2d54b 2064fc5c .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/06/23 22:15 https://github.com/dvyukov/gvisor.git race 60dbbdc2d54b 2064fc5c .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 13:33 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2018/08/06 23:28 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2018/08/06 22:20 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2018/08/06 14:57 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2018/08/05 15:10 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2018/08/05 00:44 https://github.com/dvyukov/gvisor.git race 72627b310e89 3476a2df .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2018/08/02 07:22 https://github.com/dvyukov/gvisor.git race 72627b310e89 0a7cf4ec .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2018/07/31 02:13 https://github.com/dvyukov/gvisor.git race 72627b310e89 1a381291 .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2018/07/25 00:54 https://github.com/dvyukov/gvisor.git race 72627b310e89 375a3e31 .config console log report syz ci-gvisor-ptrace-proxy-sandbox-race
2018/08/15 00:17 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 5084a625 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/14 21:09 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 5084a625 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/14 15:47 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 7a88b141 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/14 09:19 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 7a88b141 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/13 23:19 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 7a88b141 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/13 16:40 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 7a88b141 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/13 15:40 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 7a88b141 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/09 05:03 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 19:55 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 18:41 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 17:31 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 15:54 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 15:25 https://github.com/dvyukov/gvisor.git race e4ce26c8b9b1 d46deef5 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 12:57 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:25 https://github.com/dvyukov/gvisor.git race 72627b310e89 14f8a76f .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 08:01 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 06:35 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 06:27 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 05:27 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 04:02 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 02:56 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 01:56 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/08 00:53 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 22:26 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 21:08 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 20:55 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 19:15 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 17:51 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 16:50 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 15:49 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 14:43 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 12:34 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 11:25 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 10:11 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 09:05 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 07:59 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 06:55 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 06:14 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 05:13 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/08/07 04:03 https://github.com/dvyukov/gvisor.git race 72627b310e89 1beb8136 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/23 07:54 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.