Skip to content

runtime/race: false positives on image/png #7224

Description

@dvyukov
First happened on revision:
Tue 28 Jan 05:47 cmd/go: When linking with gccgo pass .a files in the order they are
discovered
http://build.golang.org/log/75fba5c70ac0a60131d5327018acb152a0897b92

I can reproduce it locally in ~1/50000 runs, here are full reports:

WARNING: DATA RACE
Write by goroutine 6:
  runtime.copy()
      src/pkg/runtime/slice.c:148 +0x0
  fmt.(*fmt).pad()
      src/pkg/fmt/format.go:120 +0x30f
  fmt.(*fmt).integer()
      src/pkg/fmt/format.go:263 +0xa51
  fmt.(*pp).fmtUint64()
      src/pkg/fmt/print.go:432 +0x2df
  fmt.(*pp).printArg()
      src/pkg/fmt/print.go:761 +0x722
  fmt.(*pp).doPrintf()
      src/pkg/fmt/print.go:1150 +0x30af
  fmt.Fprintf()
      src/pkg/fmt/print.go:188 +0x8c
  image/png.sng()
      src/pkg/image/png/reader_test.go:151 +0x1056

Previous read by goroutine 8:
  runtime.growslice()
      src/pkg/runtime/slice.c:63 +0x0
  fmt.(*pp).doPrintf()
      src/pkg/fmt/print.go:1048 +0x2a6
  fmt.Fprintf()
      src/pkg/fmt/print.go:188 +0x8c
  image/png.sng()
      src/pkg/image/png/reader_test.go:176 +0x1fd7

Goroutine 6 (running) created at:
  image/png.TestReader()
      src/pkg/image/png/reader_test.go:220 +0x889
  testing.tRunner()
      src/pkg/testing/testing.go:398 +0x10f

Goroutine 8 (running) created at:
  image/png.TestReader()
      src/pkg/image/png/reader_test.go:220 +0x889
  testing.tRunner()
      src/pkg/testing/testing.go:398 +0x10f



WARNING: DATA RACE
Write by goroutine 7:
  runtime.copy()
      src/pkg/runtime/slice.c:148 +0x0
  fmt.(*fmt).pad()
      src/pkg/fmt/format.go:120 +0x30f
  fmt.(*fmt).integer()
      src/pkg/fmt/format.go:263 +0xa51
  fmt.(*pp).fmtUint64()
      src/pkg/fmt/print.go:432 +0x2df
  fmt.(*pp).printArg()
      src/pkg/fmt/print.go:761 +0x722
  fmt.(*pp).doPrintf()
      src/pkg/fmt/print.go:1150 +0x30af
  fmt.Fprintf()
      src/pkg/fmt/print.go:188 +0x8c
  image/png.sng()
      src/pkg/image/png/reader_test.go:151 +0x1056

Previous write by goroutine 8:
  runtime.copy()
      src/pkg/runtime/slice.c:148 +0x0
  fmt.(*fmt).pad()
      src/pkg/fmt/format.go:120 +0x30f
  fmt.(*fmt).integer()
      src/pkg/fmt/format.go:263 +0xa51
  fmt.(*pp).fmtUint64()
      src/pkg/fmt/print.go:432 +0x2df
  fmt.(*pp).printArg()
      src/pkg/fmt/print.go:763 +0xd2b
  fmt.(*pp).doPrintf()
      src/pkg/fmt/print.go:1150 +0x30af
  fmt.Fprintf()
      src/pkg/fmt/print.go:188 +0x8c
  image/png.sng()
      src/pkg/image/png/reader_test.go:176 +0x1fd7

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions