Skip to content

net, syscall: a race condition caused by syscall.SocketDisableIPv6 #7687

@mikioh

Description

@mikioh
Sigh, at this point using syscall.SocketDisableIPv6 is completely pointless.

==================
WARNING: DATA RACE
Write by goroutine 408:
  net.TestDialGoogleIPv4()
      /home/mikioh/go/src/pkg/net/dialgoogle_test.go:149 +0x8e8
  testing.tRunner()
      /home/mikioh/go/src/pkg/testing/testing.go:422 +0x10f

Previous read by goroutine 400:
  syscall.Socket()
      /home/mikioh/go/src/pkg/syscall/syscall_unix.go:274 +0x67
  net.sysSocket()
      /home/mikioh/go/src/pkg/net/sys_cloexec.go:19 +0x6b
  net.socket()
      /home/mikioh/go/src/pkg/net/sock_posix.go:40 +0x91
  net.internetSocket()
      /home/mikioh/go/src/pkg/net/ipsock_posix.go:137 +0x189
  net.dialTCP()
      /home/mikioh/go/src/pkg/net/tcpsock_posix.go:155 +0x117
  net.dialSingle()
      /home/mikioh/go/src/pkg/net/dial.go:238 +0x42e
  net.func·020()
      /home/mikioh/go/src/pkg/net/dial.go:200 +0x12e

Goroutine 408 (running) created at:
  testing.RunTests()
      /home/mikioh/go/src/pkg/testing/testing.go:503 +0xb32
  testing.Main()
      /home/mikioh/go/src/pkg/testing/testing.go:435 +0xba
  main.main()
      /var/folders/7d/d3y9vsls2yd880k121jmzcyr0000gn/T/go-build643325068/net/_test/_testmain.go:333 +0xdc

Goroutine 400 (finished) created at:
  net.dialMulti()
      /home/mikioh/go/src/pkg/net/dial.go:210 +0x326
  net.func·019()
      /home/mikioh/go/src/pkg/net/dial.go:168 +0x176
  net.dial()
      /home/mikioh/go/src/pkg/net/fd_unix.go:40 +0x82
  net.(*Dialer).Dial()
      /home/mikioh/go/src/pkg/net/dial.go:171 +0x594
  net.TestDialDualStackLocalhost()
      /home/mikioh/go/src/pkg/net/dial_test.go:546 +0x601
  testing.tRunner()
      /home/mikioh/go/src/pkg/testing/testing.go:422 +0x10f
==================

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions