|
With
client, _ := mongo.NewClient(options.Client().ApplyURI("mongodb://localhost:27017"))
|
|
// Oops, forgot to call client.Connect!
|
|
_, _ = client.Watch(context.Background(), []bson.D{})
|
the driver panics with
panic: runtime error: invalid memory address or nil pointer dereference
|
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x11ee797]
|
|
goroutine 1 [running]:
|
test/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session.(*Pool).GetSession(0x0, 0x0, 0x0, 0x0)
|
/Users/jeff/gopath/src/test/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/session_pool.go:65 +0x37
|
test/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session.NewClientSession(0x0, 0x4e488c3dec7e45be, 0xa1fec4774c4f35b9, 0x1, 0x0, 0x0, 0x0, 0x185c3d0, 0x0, 0x0)
|
/Users/jeff/gopath/src/test/vendor/go.mongodb.org/mongo-driver/x/mongo/driver/session/client_session.go:150 +0x100
|
test/vendor/go.mongodb.org/mongo-driver/mongo.getSession(0x159b380, 0xc00001e090, 0xc000012580, 0xc0000805a0, 0x2, 0x2, 0x185c3d0)
|
/Users/jeff/gopath/src/test/vendor/go.mongodb.org/mongo-driver/mongo/change_stream.go:149 +0x10b
|
test/vendor/go.mongodb.org/mongo-driver/mongo.newClientChangeStream(0x159b380, 0xc00001e090, 0xc000012580, 0x13de920, 0xc00000c820, 0x0, 0x0, 0x0, 0x13de920, 0x1, ...)
|
/Users/jeff/gopath/src/test/vendor/go.mongodb.org/mongo-driver/mongo/change_stream.go:361 +0x1d5
|
test/vendor/go.mongodb.org/mongo-driver/mongo.(*Client).Watch(0xc000012580, 0x159b380, 0xc00001e090, 0x13de920, 0xc00000c820, 0x0, 0x0, 0x0, 0x10071d0, 0xc000082058, ...)
|
/Users/jeff/gopath/src/test/vendor/go.mongodb.org/mongo-driver/mongo/client.go:533 +0x84
|
I'd expected a disconnected client to error, not panic.
|