[GODRIVER-901] Race detector flagged race Created: 24/Mar/19  Updated: 28/Oct/23  Resolved: 29/Mar/19

Status: Closed
Project: Go Driver
Component/s: Options & Configuration
Affects Version/s: 1.0.0
Fix Version/s: 1.0.1

Type: Bug Priority: Major - P3
Reporter: Matt Zimmerman Assignee: Kristofer Brandow (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

archlinux 5.0.x kernel, Go 1.12



 Description   

Race condition flagged by race detector.  I believed the mongo connection was safe for concurrent use.

 

WARNING: DATA RACE
Write at 0x00c000021080 by goroutine 537:
vendor/go.mongodb.org/mongo-driver/x/network/command.(*Handshake).Decode()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/network/command/handshake.go:5$
vendor/go.mongodb.org/mongo-driver/x/network/command.(*Handshake).Handshake()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/network/command/handshake.go:9$
vendor/go.mongodb.org/mongo-driver/x/network/connection.New()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/network/connection/connection.$
vendor/go.mongodb.org/mongo-driver/x/network/connection.(*pool).get()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/network/connection/pool.go:180$
vendor/go.mongodb.org/mongo-driver/x/network/connection.(*pool).Get()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/network/connection/pool.go:163$
vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*Server).Connection()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server.g$
vendor/go.mongodb.org/mongo-driver/x/mongo/driver.Find()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/find.go:49 +0x3a0
vendor/go.mongodb.org/mongo-driver/mongo.(*Collection).Find()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/mongo/collection.go:930 +0x56c

 

Previous write at 0x00c000021080 by goroutine 1285:
vendor/go.mongodb.org/mongo-driver/x/network/command.(*Handshake).Decode()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/network/command/handshake.go:5$
vendor/go.mongodb.org/mongo-driver/x/network/command.(*Handshake).Handshake()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/network/command/handshake.go:9$
vendor/go.mongodb.org/mongo-driver/x/network/connection.New()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/network/connection/connection.$
vendor/go.mongodb.org/mongo-driver/x/network/connection.(*pool).get()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/network/connection/pool.go:180$
vendor/go.mongodb.org/mongo-driver/x/network/connection.(*pool).Get()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/network/connection/pool.go:163$
vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*Server).Connection()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/topology/server.g$
vendor/go.mongodb.org/mongo-driver/x/mongo/driver.(*BatchCursor).Close()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/batch_cursor.go:1$
vendor/go.mongodb.org/mongo-driver/mongo.(*Cursor).Close()
/data/datatools/src/vendor/go.mongodb.org/mongo-driver/mongo/cursor.go:130 +0x6d



 Comments   
Comment by Githook User [ 29/Mar/19 ]

Author:

{'email': 'kris@mongodb.com', 'name': 'Kris Brandow', 'username': 'skriptble'}

Message: Fix race condition with handshaker for connections

GODRIVER-901

Change-Id: I4a41bff911bd6115c0de988f91dab3940f99c07c
Branch: master
https://github.com/mongodb/mongo-go-driver/commit/6cbfdefaf1fe77739f9925d9b1221560cc2c8339

Comment by Matt Zimmerman [ 28/Mar/19 ]

@kris brandow – success!  Thanks for the quick turnaround.

Comment by Kristofer Brandow (Inactive) [ 27/Mar/19 ]

Hi mzimmerman,

Can you test with the patch I linked to in the previous comment and see if you are still getting tripping up the race detector?

--Kris

Comment by Kristofer Brandow (Inactive) [ 27/Mar/19 ]

Code Review: https://review.gerrithub.io/c/mongodb/mongo-go-driver/+/449349.

Comment by Matt Zimmerman [ 24/Mar/19 ]

I thought this might be my issue, but I don't see anything in the docs that I'm not following.

Generated at Thu Feb 08 08:35:13 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.