neo-go/pkg/consensus
Roman Khimov 15b621f0f3 consensus: wait goroutine to finish on Shutdown
Fixes:
panic: assignment to entry in nil map

goroutine 227 [running]:
github.com/nspcc-dev/neo-go/pkg/core/storage.(*MemoryStore).put(...)
        /home/rik/dev/neo-go/pkg/core/storage/memory_store.go:53
github.com/nspcc-dev/neo-go/pkg/core/storage.(*MemoryStore).PutBatch(0xc00035f580, 0x110a680, 0xc000336750, 0x0, 0x0)
        /home/rik/dev/neo-go/pkg/core/storage/memory_store.go:93 +0x286
github.com/nspcc-dev/neo-go/pkg/core.(*Blockchain).addHeaders(0xc0000a2340, 0xc0001be301, 0xc00036d428, 0x1, 0x1, 0x0, 0x0)
        /home/rik/dev/neo-go/pkg/core/blockchain.go:516 +0xd5a
github.com/nspcc-dev/neo-go/pkg/core.(*Blockchain).AddBlock(0xc0000a2340, 0xc0000bc2c0, 0x0, 0x0)
        /home/rik/dev/neo-go/pkg/core/blockchain.go:407 +0x9ca
github.com/nspcc-dev/neo-go/pkg/consensus.(*service).processBlock(0xc000152160, 0x1122320, 0xc0000bc2c0)
        /home/rik/dev/neo-go/pkg/consensus/consensus.go:440 +0xbf
github.com/nspcc-dev/dbft.(*DBFT).checkCommit(0xc0000d3400)
        /home/rik/go/pkg/mod/github.com/nspcc-dev/dbft@v0.0.0-20200911152629-be965ee4d449/check.go:71 +0x918
github.com/nspcc-dev/dbft.(*DBFT).checkPrepare(0xc0000d3400)
        /home/rik/go/pkg/mod/github.com/nspcc-dev/dbft@v0.0.0-20200911152629-be965ee4d449/check.go:36 +0x465
github.com/nspcc-dev/dbft.(*DBFT).sendPrepareRequest(0xc0000d3400)
        /home/rik/go/pkg/mod/github.com/nspcc-dev/dbft@v0.0.0-20200911152629-be965ee4d449/send.go:42 +0x2f8
github.com/nspcc-dev/dbft.(*DBFT).start(0xc0000d3400)
        /home/rik/go/pkg/mod/github.com/nspcc-dev/dbft@v0.0.0-20200911152629-be965ee4d449/dbft.go:269 +0x26f
github.com/nspcc-dev/dbft.(*DBFT).Start(0xc0000d3400)
        /home/rik/go/pkg/mod/github.com/nspcc-dev/dbft@v0.0.0-20200911152629-be965ee4d449/dbft.go:82 +0x59
github.com/nspcc-dev/neo-go/pkg/consensus.(*service).Start(0xc000152160)
        /home/rik/dev/neo-go/pkg/consensus/consensus.go:191 +0x56
github.com/nspcc-dev/neo-go/pkg/network.(*Server).tryStartConsensus(0xc000235040)
        /home/rik/dev/neo-go/pkg/network/server.go:311 +0xda
github.com/nspcc-dev/neo-go/pkg/network.(*Server).Start(0xc000235040, 0xc0000faba0)
        /home/rik/dev/neo-go/pkg/network/server.go:173 +0x202
created by github.com/nspcc-dev/neo-go/cli.newTestChain
        /home/rik/dev/neo-go/cli/executor_test.go:77 +0x47d
FAIL    github.com/nspcc-dev/neo-go/cli 14.479s
2020-09-19 21:49:05 +03:00
..
testdata Merge pull request #1169 from nspcc-dev/neo3/rpc/fields_names_adjustment 2020-07-15 18:24:54 +03:00
block.go consensus: replace magic 1000000 with something more meaningful 2020-07-11 19:54:50 +03:00
block_test.go block/transaction: add network magic into the hash 2020-06-18 12:39:50 +03:00
cache.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
cache_test.go consensus: added partial message decoding 2020-04-16 14:35:58 +03:00
change_view.go consensus: replace magic 1000000 with something more meaningful 2020-07-11 19:54:50 +03:00
change_view_test.go consensus: replace magic 1000000 with something more meaningful 2020-07-11 19:54:50 +03:00
commit.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
commit_test.go random: make use or random package in tests 2020-03-27 10:27:46 +03:00
consensus.go consensus: wait goroutine to finish on Shutdown 2020-09-19 21:49:05 +03:00
consensus_test.go consensus: add verifyBlock tests 2020-08-20 18:50:36 +03:00
crypto.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
crypto_test.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
payload.go crypto/consensus: sign hashes and cache them for consensus payloads 2020-09-09 20:46:31 +03:00
payload_test.go crypto/consensus: sign hashes and cache them for consensus payloads 2020-09-09 20:46:31 +03:00
prepare_request.go consensus: replace magic 1000000 with something more meaningful 2020-07-11 19:54:50 +03:00
prepare_request_test.go consensus: drop NextConsensus from the prepareRequest 2020-07-11 19:54:50 +03:00
prepare_response.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
prepare_response_test.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
recovery_message.go consensus: switch to uint8 for validator index 2020-08-23 16:44:56 +03:00
recovery_message_test.go crypto/consensus: sign hashes and cache them for consensus payloads 2020-09-09 20:46:31 +03:00
recovery_request.go consensus: replace magic 1000000 with something more meaningful 2020-07-11 19:54:50 +03:00
recovery_request_test.go consensus: replace magic 1000000 with something more meaningful 2020-07-11 19:54:50 +03:00