There shouldn't be any difference in terms of signal handling.
I've now seen a couple of failures in mongodb/TLS networking code:
panic: runtime error: invalid memory address or nil pointer dereference [signal 0xb code=0x1 addr=0x38]
goroutine 16 [running]: crypto_tls.SetWriteDeadline.pN15_crypto_tls.Conn ../../../gcc/libgo/go/crypto/tls/conn.go:111 labix.org_v2_mgo.updateDeadline.pN28_labix.org_v2_mgo.mongoSocket /home/anton/juju-core-1.18.1/src/labix.org/v2/mgo/socket.go:273 labix.org_v2_mgo.Query.pN28_labix.org_v2_mgo.mongoSocket /home/anton/juju-core-1.18.1/src/labix.org/v2/mgo/socket.go:474 labix.org_v2_mgo.SimpleQuery.pN28_labix.org_v2_mgo.mongoSocket /home/anton/juju-core-1.18.1/src/labix.org/v2/mgo/socket.go:320 labix.org_v2_mgo.pinger.pN28_labix.org_v2_mgo.mongoServer /home/anton/juju-core-1.18.1/src/labix.org/v2/mgo/server.go:278 created by mgo.newServer /home/anton/juju-core-1.18.1/src/labix.org/v2/mgo/server.go:80
which is:
func (c *Conn) SetWriteDeadline(t time.Time) error { return c.conn.SetWriteDeadline(t) }
SetWriteDeadline will end up in timer code, and I've previously seen failures in the timer code.
There shouldn't be any difference in terms of signal handling.
I've now seen a couple of failures in mongodb/TLS networking code:
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x38]
goroutine 16 [running]: tls.SetWriteDea dline.pN15_ crypto_ tls.Conn
../../ ../gcc/ libgo/go/ crypto/ tls/conn. go:111 v2_mgo. updateDeadline. pN28_labix. org_v2_ mgo.mongoSocket
/home/ anton/juju- core-1. 18.1/src/ labix.org/ v2/mgo/ socket. go:273 v2_mgo. Query.pN28_ labix.org_ v2_mgo. mongoSocket
/home/ anton/juju- core-1. 18.1/src/ labix.org/ v2/mgo/ socket. go:474 v2_mgo. SimpleQuery. pN28_labix. org_v2_ mgo.mongoSocket
/home/ anton/juju- core-1. 18.1/src/ labix.org/ v2/mgo/ socket. go:320 v2_mgo. pinger. pN28_labix. org_v2_ mgo.mongoServer
/home/ anton/juju- core-1. 18.1/src/ labix.org/ v2/mgo/ server. go:278
/home/ anton/juju- core-1. 18.1/src/ labix.org/ v2/mgo/ server. go:80
crypto_
labix.org_
labix.org_
labix.org_
labix.org_
created by mgo.newServer
which is:
func (c *Conn) SetWriteDeadline(t time.Time) error { SetWriteDeadlin e(t)
return c.conn.
}
SetWriteDeadline will end up in timer code, and I've previously seen failures in the timer code.