neoneo-go/pkg
Roman Khimov 7ee8f9c5d8 network: fix networking stalls caused by stale peers
We can leak sending goroutines and stall broadcasts because of already gone
peers that happened to be cached by some s.Peers() user (more than 800 of
these can be seen in nodoka log along with (*Server).run blocking on
CMDGetAddr send):

Feb 10 16:35:15 nodoka neo-go[1563]: goroutine 41 [chan send, 3320 minutes]:
Feb 10 16:35:15 nodoka neo-go[1563]: github.com/CityOfZion/neo-go/pkg/network.(*TCPPeer).putPacketIntoQueue(...)
Feb 10 16:35:15 nodoka neo-go[1563]:         /go/src/github.com/CityOfZion/neo-go/pkg/network/tcp_peer.go:81
Feb 10 16:35:15 nodoka neo-go[1563]: github.com/CityOfZion/neo-go/pkg/network.(*TCPPeer).EnqueueHPPacket(0xc0083d57a0, 0xc017206100, 0x18, 0x40, 0x136a240, 0xc018ef9720)
Feb 10 16:35:15 nodoka neo-go[1563]:         /go/src/github.com/CityOfZion/neo-go/pkg/network/tcp_peer.go:119 +0x98
Feb 10 16:35:15 nodoka neo-go[1563]: github.com/CityOfZion/neo-go/pkg/network.(*Server).iteratePeersWithSendMsg(0xc0000ca000, 0xc0001848a0, 0xcb4550, 0x0)
Feb 10 16:35:15 nodoka neo-go[1563]:         /go/src/github.com/CityOfZion/neo-go/pkg/network/server.go:720 +0x12a
Feb 10 16:35:15 nodoka neo-go[1563]: github.com/CityOfZion/neo-go/pkg/network.(*Server).broadcastHPMessage(...)
Feb 10 16:35:15 nodoka neo-go[1563]:         /go/src/github.com/CityOfZion/neo-go/pkg/network/server.go:731
Feb 10 16:35:15 nodoka neo-go[1563]: github.com/CityOfZion/neo-go/pkg/network.(*Server).run(0xc0000ca000)
Feb 10 16:35:15 nodoka neo-go[1563]:         /go/src/github.com/CityOfZion/neo-go/pkg/network/server.go:203 +0xee4
Feb 10 16:35:15 nodoka neo-go[1563]: github.com/CityOfZion/neo-go/pkg/network.(*Server).Start(0xc0000ca000, 0xc000072c60)
Feb 10 16:35:15 nodoka neo-go[1563]:         /go/src/github.com/CityOfZion/neo-go/pkg/network/server.go:173 +0x2ec
Feb 10 16:35:15 nodoka neo-go[1563]: created by github.com/CityOfZion/neo-go/cli/server.startServer
Feb 10 16:35:15 nodoka neo-go[1563]:         /go/src/github.com/CityOfZion/neo-go/cli/server/server.go:331 +0x476
2020-02-10 18:47:52 +03:00
..
compiler compiler: reverse args in AppCall 2020-02-10 10:53:58 +03:00
consensus consensus: switch test to using the new PoolTx API 2020-02-06 17:50:11 +03:00
core Merge pull request #642 from nspcc-dev/feature/emit 2020-02-08 15:56:48 +03:00
crypto keys: don't return error from PrivateKey.Sign 2020-01-17 17:00:30 +03:00
encoding address: rename functions as per #579 comments 2019-12-25 17:34:18 +03:00
internal internal: moved testutil method to internal package 2019-12-11 13:14:43 +03:00
interop compiler,interop: make AppCall accept varargs 2020-02-10 10:51:29 +03:00
io io: remove ReadLE/BE and WriteLE/BE 2019-12-13 11:38:28 +03:00
network network: fix networking stalls caused by stale peers 2020-02-10 18:47:52 +03:00
rpc emit: use io.BinWriter instead of bytes.Buffer 2020-02-06 18:45:37 +03:00
smartcontract emit: use io.BinWriter instead of bytes.Buffer 2020-02-06 18:45:37 +03:00
util util: fix a bug with not copying slice of len=1 in ArrayReverse 2020-02-06 12:15:35 +03:00
vm Merge pull request #548 from nspcc-dev/feature/multisig 2020-02-08 16:10:34 +03:00
wallet wallet: add GetAccount() method to Wallet 2020-01-17 17:25:51 +03:00