syzbot


DATA RACE in tty.(*lineDiscipline).masterReadiness

Status: fixed on 2019/04/04 10:15
Fix commit: c79e81bd27cd Addresses data race in tty implementation.
First crash: 1872d, last: 1872d

Sample crash report:
WARNING: DATA RACE
Read at 0x00c000e0a1a8 by goroutine 394:
  gvisor.googlesource.com/gvisor/pkg/sentry/fs/tty.(*lineDiscipline).masterReadiness()
      pkg/sentry/fs/tty/queue.go:121 +0x43
  gvisor.googlesource.com/gvisor/pkg/sentry/fs/tty.(*masterFileOperations).Readiness()
      pkg/sentry/fs/tty/master.go:131 +0x71
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls.Poll()
      pkg/sentry/fs/file.go:199 +0x2e3
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.doSelect()
      pkg/sentry/syscalls/linux/sys_poll.go:182 +0x84d
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.Pselect()
      pkg/sentry/syscalls/linux/sys_poll.go:425 +0x143
DIAGNOSIS:
I0403 07:54:38.379641   12604 x:0] ***************************
I0403 07:54:38.381256   12604 x:0] Args: [/syzkaller/managers/kvm-direct-overlay-host-race/current/image -root /syzkaller/managers/kvm-direct-overlay-host-race/workdir/gvisor_root -watchdog-action=panic -network=none -debug -platform=ptrace -file-access=exclusive -overlay -network=host debug -stacks ci-gvisor-kvm-direct-overlay-host-race-0]
I0403 07:54:38.381440   12604 x:0] Version release-20190304.1-71-g52a51a8e20b3
I0403 07:54:38.381532   12604 x:0] PID: 12604
I0403 07:54:38.381603   12604 x:0] UID: 0, GID: 0
I0403 07:54:38.381654   12604 x:0] Configuration:
I0403 07:54:38.381735   12604 x:0] 		RootDir: /syzkaller/managers/kvm-direct-overlay-host-race/workdir/gvisor_root
I0403 07:54:38.381796   12604 x:0] 		Platform: ptrace
I0403 07:54:38.381877   12604 x:0] 		FileAccess: exclusive, overlay: true
I0403 07:54:38.381930   12604 x:0] 		Network: host, logging: false
I0403 07:54:38.382043   12604 x:0] 		Strace: false, max size: 1024, syscalls: []
I0403 07:54:38.382141   12604 x:0] ***************************
D0403 07:54:38.385541   12604 x:0] Load container "/syzkaller/managers/kvm-direct-overlay-host-race/workdir/gvisor_root" "ci-gvisor-kvm-direct-overlay-host-race-0"
D0403 07:54:38.419143   12604 x:0] Signal container "ci-gvisor-kvm-direct-overlay-host-race-0": signal 0
D0403 07:54:38.419398   12604 x:0] Signal sandbox "ci-gvisor-kvm-direct-overlay-host-race-0"
D0403 07:54:38.420218   12604 x:0] Connecting to sandbox "ci-gvisor-kvm-direct-overlay-host-race-0"
D0403 07:54:38.423649   12604 x:0] urpc: successfully marshalled 120 bytes.
D0403 07:54:38.506237   12604 x:0] urpc: unmarshal success.
I0403 07:54:38.507233   12604 x:0] Found sandbox "ci-gvisor-kvm-direct-overlay-host-race-0", PID: 3926
I0403 07:54:38.507298   12604 x:0] Retrieving sandbox stacks
D0403 07:54:38.507755   12604 x:0] Stacks sandbox "ci-gvisor-kvm-direct-overlay-host-race-0"
D0403 07:54:38.507815   12604 x:0] Connecting to sandbox "ci-gvisor-kvm-direct-overlay-host-race-0"
D0403 07:54:38.507964   12604 x:0] urpc: successfully marshalled 36 bytes.
D0403 07:54:38.725546   12604 x:0] urpc: unmarshal success.
I0403 07:54:38.725794   12604 x:0]      *** Stack dump ***
goroutine 276634 [running]:
gvisor.googlesource.com/gvisor/pkg/log.Stacks(0x45c801, 0xc000318780, 0xc0006aede0, 0xc0007c5880)
	pkg/log/log.go:259 +0xb6
gvisor.googlesource.com/gvisor/runsc/boot.(*debug).Stacks(0x23e8c70, 0x23e8c70, 0xc0013e4030, 0x0, 0x0)
	runsc/boot/debug.go:26 +0x38
reflect.Value.call(0xc000318780, 0xc000010aa8, 0x13, 0x11357a8, 0x4, 0xc000855eb8, 0x3, 0x3, 0x4a864e, 0xfe5cc0, ...)
	GOROOT/src/reflect/value.go:447 +0x649
reflect.Value.Call(0xc000318780, 0xc000010aa8, 0x13, 0xc000855eb8, 0x3, 0x3, 0x0, 0x23e8c70, 0x16)
	GOROOT/src/reflect/value.go:308 +0xc1
gvisor.googlesource.com/gvisor/pkg/urpc.(*Server).handleOne(0xc0002513e0, 0xc0006681e0, 0x0, 0x0)
	pkg/urpc/urpc.go:325 +0x63f
gvisor.googlesource.com/gvisor/pkg/urpc.(*Server).handleRegistered(0xc0002513e0, 0xc0006681e0, 0xc0002513e0, 0xc0006681e0)
	pkg/urpc/urpc.go:420 +0x43
gvisor.googlesource.com/gvisor/pkg/urpc.(*Server).StartHandling.func1(0xc0002513e0, 0xc0006681e0)
	pkg/urpc/urpc.go:440 +0x77
created by gvisor.googlesource.com/gvisor/pkg/urpc.(*Server).StartHandling
	pkg/urpc/urpc.go:438 +0x6f

goroutine 1 [semacquire, 3 minutes]:
sync.runtime_Semacquire(0xc0002a8264)
	GOROOT/src/runtime/sema.go:56 +0x39
sync.(*WaitGroup).Wait(0xc0002a8264)
	GOROOT/src/sync/waitgroup.go:130 +0xb2
gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Kernel).WaitExited(...)
	pkg/sentry/kernel/kernel.go:820
gvisor.googlesource.com/gvisor/runsc/boot.(*Loader).WaitExit(0xc0002a2140, 0x0, 0x0)
	runsc/boot/loader.go:781 +0x74
gvisor.googlesource.com/gvisor/runsc/cmd.(*Boot).Execute(0xc000232120, 0x12c7e00, 0xc0000ce008, 0xc000106b40, 0xc00019f0e0, 0x2, 0x2, 0x0)
	runsc/cmd/boot.go:252 +0x12e4
github.com/google/subcommands.(*Commander).Execute(0xc000124000, 0x12c7e00, 0xc0000ce008, 0xc00019f0e0, 0x2, 0x2, 0x203000)
	external/com_github_google_subcommands/subcommands.go:141 +0x522
github.com/google/subcommands.Execute(...)
	external/com_github_google_subcommands/subcommands.go:371
main.main()
	runsc/main.go:238 +0x2473

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/04/03 07:54 https://gvisor.googlesource.com/gvisor master 52a51a8e20b3 dfd3394d .config console log report ci-gvisor-kvm-direct-overlay-host-race
* Struck through repros no longer work on HEAD.