==================
WARNING: DATA RACE
Read at 0x00c422a46d05 by goroutine 66:
github.com/docker/swarmkit/vendor/github.com/docker/docker/pkg/tlsconfig.Clone()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/vendor/github.com/docker/docker/pkg/tlsconfig/tlsconfig_clone_go17.go:25 +0x51e
github.com/docker/swarmkit/ca.(*MutableTLSCreds).UpdateCAs()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/ca/transport.go:143 +0x94
github.com/docker/swarmkit/ca.(*SecurityConfig).UpdateRootCA()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/ca/config.go:146 +0x57c
github.com/docker/swarmkit/ca.(*Server).UpdateRootCA()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/ca/server.go:551 +0x516
github.com/docker/swarmkit/ca.(*Server).Run.func1()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/ca/server.go:395 +0x1d6
github.com/docker/swarmkit/manager/state/store.ViewAndWatch.func1()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/manager/state/store/memory.go:717 +0xc0
github.com/docker/swarmkit/manager/state/store.(*MemoryStore).update()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/manager/state/store/memory.go:235 +0x1c6
github.com/docker/swarmkit/manager/state/store.(*MemoryStore).Update()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/manager/state/store/memory.go:277 +0x6a
github.com/docker/swarmkit/manager/state/store.ViewAndWatch()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/manager/state/store/memory.go:722 +0x137
github.com/docker/swarmkit/ca.(*Server).Run()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/ca/server.go:401 +0x40d
github.com/docker/swarmkit/manager.(*Manager).becomeLeader.func5()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/manager/manager.go:945 +0x61
Previous write at 0x00c422a46d05 by goroutine 42:
runtime.slicecopy()
/usr/local/go/src/runtime/slice.go:144 +0x0
bufio.(*Reader).Read()
/usr/local/go/src/bufio/bufio.go:216 +0x21a
crypto/rand.(*devReader).Read()
/usr/local/go/src/crypto/rand/rand_unix.go:64 +0x159
io.ReadAtLeast()
/usr/local/go/src/io/io.go:307 +0xb1
io.ReadFull()
/usr/local/go/src/io/io.go:325 +0x72
crypto/tls.(*Config).serverInit()
/usr/local/go/src/crypto/tls/common.go:466 +0x2c6
crypto/tls.(*Config).(crypto/tls.serverInit)-fm()
/usr/local/go/src/crypto/tls/handshake_server.go:44 +0x41
sync.(*Once).Do()
/usr/local/go/src/sync/once.go:44 +0xf2
crypto/tls.(*Conn).serverHandshake()
/usr/local/go/src/crypto/tls/handshake_server.go:44 +0xca
crypto/tls.(*Conn).Handshake()
/usr/local/go/src/crypto/tls/conn.go:1234 +0x238
github.com/docker/swarmkit/ca.(*MutableTLSCreds).ServerHandshake()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/ca/transport.go:116 +0x172
github.com/docker/swarmkit/vendor/google.golang.org/grpc.(*Server).useTransportAuthenticator()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/vendor/google.golang.org/grpc/server.go:324 +0x9b
github.com/docker/swarmkit/vendor/google.golang.org/grpc.(*Server).handleRawConn()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/vendor/google.golang.org/grpc/server.go:391 +0x6a
Goroutine 66 (running) created at:
github.com/docker/swarmkit/manager.(*Manager).becomeLeader()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/manager/manager.go:948 +0x1b72
github.com/docker/swarmkit/manager.(*Manager).handleLeadershipEvents()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/manager/manager.go:821 +0x1db
Goroutine 42 (running) created at:
github.com/docker/swarmkit/vendor/google.golang.org/grpc.(*Server).Serve()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/vendor/google.golang.org/grpc/server.go:384 +0x6b3
github.com/docker/swarmkit/manager.(*Manager).serveListener()
/home/ubuntu/.go_workspace/src/github.com/docker/swarmkit/manager/manager.go:850 +0x740
==================
Seen here: https://circleci.com/gh/docker/swarmkit/6414
cc @cyli