Skip to content

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

@dvyukov

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions