Details
-
Bug
-
Resolution: Done
-
Major - P3
-
None
-
1.0.3
-
None
-
go version go1.12.6 darwin/amd64
Description
Hi. I'm not sure, maybe I have some problems with my code. But it seems something wrong in bson encoder/decoder.
At least for this moment, I couldn't represent this race with a simple test.
But I'll try to do it. Here is race detector log.
==================
|
WARNING: DATA RACE
|
Write at 0x00c000534080 by goroutine 86: |
reflect.typedmemmove()
|
/usr/local/Cellar/go/1.12.6/libexec/src/runtime/mbarrier.go:177 +0x0 |
reflect.Value.Set()
|
/usr/local/Cellar/go/1.12.6/libexec/src/reflect/value.go:1475 +0xe5 |
reflect.Append()
|
/usr/local/Cellar/go/1.12.6/libexec/src/reflect/value.go:1964 +0x153 |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec.DefaultValueDecoders.SliceDecodeValue()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go:782 +0x629 |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec.DefaultValueDecoders.SliceDecodeValue-fm()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_decoders.go:745 +0xa3 |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec.ValueDecoderFunc.DecodeValue()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go:156 +0xab |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec.(*StructCodec).DecodeValue()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go:204 +0x6e6 |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson.(*Decoder).Decode()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/decoder.go:92 +0x2e3 |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson.unmarshalFromReader()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/unmarshal.go:100 +0x137 |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson.UnmarshalWithRegistry()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/unmarshal.go:45 +0x1b5 |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler/collector.connectAndCollect()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/mongo/cursor.go:123 +0x76f |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler/collector.start()
|
pmm-agent/agents/mongodb/internal/profiler/collector/collector.go:186 +0x10ePrevious read at 0x00c000534080 by goroutine 88: |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec.DefaultValueEncoders.SliceEncodeValue()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go:390 +0x3ba |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec.DefaultValueEncoders.SliceEncodeValue-fm()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go:372 +0x83 |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec.ValueEncoderFunc.EncodeValue()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/bsoncodec.go:142 +0x8b |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec.(*StructCodec).EncodeValue()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go:97 +0x6ff |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson.(*Encoder).Encode()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/encoder.go:79 +0x210 |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson.MarshalExtJSONAppendWithContext()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/marshal.go:150 +0x247 |
github.com/percona/pmm-agent/vendor/go.mongodb.org/mongo-driver/bson.MarshalExtJSON()
|
pmm-agent/vendor/go.mongodb.org/mongo-driver/bson/marshal.go:113 +0xe5 |
github.com/percona/pmm-agent/vendor/github.com/percona/percona-toolkit/src/go/mongolib/stats.(*Stats).Add()
|
pmm-agent/vendor/github.com/percona/percona-toolkit/src/go/mongolib/stats/stats.go:78 +0xf4f |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler/aggregator.(*Aggregator).Add()
|
pmm-agent/agents/mongodb/internal/profiler/aggregator/aggregator.go:111 +0x374 |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler/parser.start()
|
pmm-agent/agents/mongodb/internal/profiler/parser/parser.go:141 +0x245Goroutine 86 (running) created at: |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler/collector.(*Collector).Start()
|
pmm-agent/agents/mongodb/internal/profiler/collector/collector.go:94 +0x593 |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler.(*monitor).Start()
|
pmm-agent/agents/mongodb/internal/profiler/monitor.go:77 +0x25b |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler.(*monitors).MonitorAll()
|
pmm-agent/agents/mongodb/internal/profiler/monitors.go:89 +0x4d8 |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler.start()
|
pmm-agent/agents/mongodb/internal/profiler/profiler.go:207 +0xaaGoroutine 88 (running) created at: |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler/parser.(*Parser).Start()
|
pmm-agent/agents/mongodb/internal/profiler/parser/parser.go:71 +0x352 |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler.(*monitor).Start()
|
pmm-agent/agents/mongodb/internal/profiler/monitor.go:85 +0x43b |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler.(*monitors).MonitorAll()
|
pmm-agent/agents/mongodb/internal/profiler/monitors.go:89 +0x4d8 |
github.com/percona/pmm-agent/agents/mongodb/internal/profiler.start()
|
pmm-agent/agents/mongodb/internal/profiler/profiler.go:207 +0xaa |
==================
|
|