Skip to content

cmd/go: data race in TestScript #54423

@prattmic

Description

@prattmic

From a trybot on https://go.dev/cl/423436: https://storage.googleapis.com/go-build-log/64056b67/linux-amd64-race_b880b74d.log

WARNING: DATA RACE
Read at 0x000001406340 by goroutine 275:
  cmd/go/internal/base.AtExit()
      /workdir/go/src/cmd/go/internal/base/base.go:110 +0x5d0
  cmd/go/internal/work.(*Builder).Init()
      /workdir/go/src/cmd/go/internal/work/action.go:273 +0x54c
  cmd/go_test.(*testScript).cmdCc()
      /workdir/go/src/cmd/go/script_test.go:560 +0x12f
  cmd/go_test.(*testScript).run()
      /workdir/go/src/cmd/go/script_test.go:445 +0xa09
  cmd/go_test.TestScript.func1()
      /workdir/go/src/cmd/go/script_test.go:97 +0x3d5
  testing.tRunner()
      /workdir/go/src/testing/testing.go:1446 +0x216
  testing.(*T).Run.func1()
      /workdir/go/src/testing/testing.go:1493 +0x47

Previous write at 0x000001406340 by goroutine 274:
  cmd/go/internal/base.AtExit()
      /workdir/go/src/cmd/go/internal/base/base.go:110 +0x678
  cmd/go/internal/work.(*Builder).Init()
      /workdir/go/src/cmd/go/internal/work/action.go:273 +0x54c
  cmd/go_test.(*testScript).cmdCc()
      /workdir/go/src/cmd/go/script_test.go:560 +0x12f
  cmd/go_test.(*testScript).run()
      /workdir/go/src/cmd/go/script_test.go:445 +0xa09
  cmd/go_test.TestScript.func1()
      /workdir/go/src/cmd/go/script_test.go:97 +0x3d5
  testing.tRunner()
      /workdir/go/src/testing/testing.go:1446 +0x216
  testing.(*T).Run.func1()
      /workdir/go/src/testing/testing.go:1493 +0x47

cmd/go/internal/base.AtExit is clearly not thread safe, but I'm not sure why this race is just surfacing. That code and t.Parallel in TestScript both seem to have been there for quite a while.

cc @bcmills

Metadata

Metadata

Assignees

Labels

FrozenDueToAgeGoCommandcmd/goNeedsFixThe path to resolution is known, but the work has not been done.TestingAn issue that has been verified to require only test changes, not just a test failure.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions