featurebase
featurebase copied to clipboard
race in memberlist
This doesn't seem to reproduce every time, but this data race seems to be entirely in memberlist code during TestClusteringNodesReplica2.
WARNING: DATA RACE
Write at 0x00c4208feec9 by goroutine 475:
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).aliveNode()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:962 +0xe9e
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).mergeState()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:1150 +0x390
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).mergeRemoteState()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/net.go:985 +0x661
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).handleConn()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/net.go:233 +0xaf8
Previous read at 0x00c4208feec9 by goroutine 467:
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).rawSendMsgPacket()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/net.go:615 +0x636
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).gossip()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:512 +0x417
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).(github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.gossip)-fm()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:106 +0x41
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).triggerFunc()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:130 +0x11b
Goroutine 475 (running) created at:
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).streamListen()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/net.go:192 +0x7a
Goroutine 467 (running) created at:
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).schedule()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:106 +0x3fb
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.Create()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/memberlist.go:165 +0xc3
github.com/pilosa/pilosa/gossip.(*memberSet).Open()
/Users/jaffee/go/src/github.com/pilosa/pilosa/gossip/gossip.go:59 +0xa4
github.com/pilosa/pilosa/server.(*Command).setupNetworking()
/Users/jaffee/go/src/github.com/pilosa/pilosa/server/server.go:339 +0x573
github.com/pilosa/pilosa/server.(*Command).Start()
/Users/jaffee/go/src/github.com/pilosa/pilosa/server/server.go:135 +0x20e
github.com/pilosa/pilosa/test.Cluster.Start()
/Users/jaffee/go/src/github.com/pilosa/pilosa/test/pilosa.go:201 +0x20f
github.com/pilosa/pilosa/server_test.TestClusteringNodesReplica2()
/Users/jaffee/go/src/github.com/pilosa/pilosa/server/server_test.go:435 +0x160
testing.tRunner()
/usr/local/Cellar/go/1.10.1/libexec/src/testing/testing.go:777 +0x16d
I ran make test TESTFLAGS="-count=1 -race -timeout=0"
d3ae1cdf5e2dbaf37aaf8c8f6054b3b12f7f472c which is jaffee/1609-log-race.
just saw this again running go test -race in pilosa/server - just merged master in the roaring-import branch 495af54c10c85facf96aacfe5fdb32d47ecdf033
WARNING: DATA RACE
Write at 0x00c000b54fc9 by goroutine 363:
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).aliveNode()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:961 +0xf16
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).mergeState()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:1149 +0x3b2
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).mergeRemoteState()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/net.go:985 +0x6ab
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).handleConn()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/net.go:233 +0x994
Previous read at 0x00c000b54fc9 by goroutine 435:
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).rawSendMsgPacket()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/net.go:615 +0x62c
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).gossip()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:518 +0x635
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).gossip-fm()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:106 +0x41
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).triggerFunc()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:130 +0x10d
Goroutine 363 (running) created at:
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).streamListen()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/net.go:192 +0x7a
Goroutine 435 (running) created at:
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.(*Memberlist).schedule()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/state.go:106 +0x425
github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist.Create()
/Users/jaffee/go/src/github.com/pilosa/pilosa/vendor/github.com/hashicorp/memberlist/memberlist.go:165 +0xc3
github.com/pilosa/pilosa/gossip.(*memberSet).Open()
/Users/jaffee/go/src/github.com/pilosa/pilosa/gossip/gossip.go:60 +0xaa
github.com/pilosa/pilosa/server.(*Command).setupNetworking()
/Users/jaffee/go/src/github.com/pilosa/pilosa/server/server.go:339 +0x58c
github.com/pilosa/pilosa/server.(*Command).Start()
/Users/jaffee/go/src/github.com/pilosa/pilosa/server/server.go:135 +0x1d0
github.com/pilosa/pilosa/test.Cluster.Start()
/Users/jaffee/go/src/github.com/pilosa/pilosa/test/pilosa.go:201 +0x23e
github.com/pilosa/pilosa/test.runCluster()
/Users/jaffee/go/src/github.com/pilosa/pilosa/test/pilosa.go:260 +0xaa
github.com/pilosa/pilosa/test.MustRunCluster()
/Users/jaffee/go/src/github.com/pilosa/pilosa/test/pilosa.go:268 +0x77
github.com/pilosa/pilosa/server_test.TestClusteringNodesReplica1()
/Users/jaffee/go/src/github.com/pilosa/pilosa/server/server_test.go:381 +0x79
testing.tRunner()
/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:827 +0x162
...
--- FAIL: TestClusteringNodesReplica1 (1.02s)
testing.go:771: race detected during execution of test
I got the same error on TestClusteringNodesReplica1 today, so it's not just Replica2.