Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
None
-
1
Description
There is a data race occurring on part of the zombie logger. Data race below. This can be reliably reproduced by setting the bucket operation timeout very low (<5ms) and performing a large number of KV gets.
Having talked to Brett the missing half of this race is going to be in recordZopmbieResponse where the slice if modified.
==================
WARNING: DATA RACE
Read at 0x00c4200d8d98 by goroutine 13:
{{ gopkg.in/couchbase/gocbcore%2ev7.(*Agent).zombieLogger()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocbcore.v7/tracing.go:178 +0x17d}}Previous write at 0x00c4200d8d98 by goroutine 18:
{{ [failed to restore the stack]}}Goroutine 13 (running) created at:
{{ gopkg.in/couchbase/gocbcore%2ev7.createAgent()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocbcore.v7/agent.go:654 +0x1149}}
{{ gopkg.in/couchbase/gocbcore%2ev7.CreateAgent()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocbcore.v7/agent.go:515 +0xb0}}
{{ gopkg.in/couchbase/gocb%2ev1.createBucket()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocb.v1/bucket.go:39 +0x3f}}
{{ gopkg.in/couchbase/gocb%2ev1.(*Cluster).openBucket()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocb.v1/cluster.go:263 +0x295}}
{{ gopkg.in/couchbase/gocb%2ev1.(*Cluster).OpenBucket()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocb.v1/cluster.go:277 +0x72}}
{{ main.main()}}
{{ /Users/charlesdixon/dev/go-workspace/src/sandbox/main.go:87 +0x150}}Goroutine 18 (running) created at:
{{ gopkg.in/couchbase/gocbcore%2ev7.(*memdClient).run()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocbcore.v7/memdclient.go:226 +0x112}}
{{ gopkg.in/couchbase/gocbcore%2ev7.newMemdClient()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocbcore.v7/memdclient.go:48 +0x1ab}}
{{ gopkg.in/couchbase/gocbcore%2ev7.(*Agent).dialMemdClient()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocbcore.v7/agentrouting.go:43 +0x2ab}}
{{ gopkg.in/couchbase/gocbcore%2ev7.(*Agent).slowDialMemdClient()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocbcore.v7/agentrouting.go:166 +0x1c7}}
{{ gopkg.in/couchbase/gocbcore%2ev7.(*Agent).(gopkg.in/couchbase/gocbcore%2ev7.slowDialMemdClient)-fm()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocbcore.v7/agentrouting.go:221 +0x59}}
{{ gopkg.in/couchbase/gocbcore%2ev7.newMemdClientMux.func1()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocbcore.v7/memdclientmux.go:22 +0x52}}
{{ gopkg.in/couchbase/gocbcore%2ev7.(*memdPipelineClient).Run()}}
{{ /Users/charlesdixon/dev/go-workspace/src/gopkg.in/couchbase/gocbcore.v7/memdpipelineclient.go:148 +0x263}}
==================