goquarkchain
goquarkchain copied to clipboard
WARNING: DATA RACE about trie operation
================== WARNING: DATA RACE Write at 0x00c00d842288 by goroutine 49: github.com/ethereum/go-ethereum/trie.(*Trie).Hash() /home/host/projects/go/src/github.com/ethereum/go-ethereum/trie/trie.go:448 +0xaa github.com/QuarkChain/goquarkchain/core/state.(*cachingDB).OpenTrie() /home/host/projects/go/src/github.com/ethereum/go-ethereum/trie/secure_trie.go:161 +0x159 github.com/QuarkChain/goquarkchain/core.(*MinorBlockChain).HasBlockAndState() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/core/minorblockchain.go:594 +0x16c github.com/QuarkChain/goquarkchain/core.(*MinorBlockValidator).ValidateBlock() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/core/minorblock_validator.go:87 +0x542 github.com/QuarkChain/goquarkchain/cluster/shard.(*ShardBackend).NewMinorBlock() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/cluster/shard/api_backend.go:208 +0xd49 github.com/QuarkChain/goquarkchain/cluster/shard.(*ShardBackend).InsertMinedBlock() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/cluster/shard/api_backend.go:351 +0x57 github.com/QuarkChain/goquarkchain/cluster/miner.(*Miner).mainLoop() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/cluster/miner/miner.go:121 +0x4a2
Previous read at 0x00c00d842288 by goroutine 105: github.com/QuarkChain/goquarkchain/core/state.(*cachingDB).CopyTrie() /home/host/projects/go/src/github.com/ethereum/go-ethereum/trie/secure_trie.go:172 +0x149 github.com/QuarkChain/goquarkchain/core/state.(*StateDB).Copy() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/core/state/statedb.go:558 +0xaf github.com/QuarkChain/goquarkchain/core.(*MinorBlockChain).GetRootChainStakes() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/core/minorblockchain.go:1844 +0x1d5 github.com/QuarkChain/goquarkchain/cluster/shard.(*ShardBackend).GetRootChainStakes() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/cluster/shard/api_backend.go:473 +0x1e7 github.com/QuarkChain/goquarkchain/cluster/slave.(*SlaveBackend).GetRootChainStakes() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/cluster/slave/api_backend.go:537 +0x1f4 github.com/QuarkChain/goquarkchain/cluster/slave.(*SlaveServerSideOp).GetRootChainStakes() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/cluster/slave/slave_grpc.go:512 +0x33b github.com/QuarkChain/goquarkchain/cluster/rpc._SlaveServerSideOp_GetRootChainStakes_Handler() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/cluster/rpc/rpc.pb.go:1341 +0x2ff google.golang.org/grpc.(*Server).processUnaryRPC() /home/host/projects/go/src/google.golang.org/grpc/server.go:998 +0x936 google.golang.org/grpc.(*Server).handleStream() /home/host/projects/go/src/google.golang.org/grpc/server.go:1278 +0x1351 google.golang.org/grpc.(*Server).serveStreams.func1.1() /home/host/projects/go/src/google.golang.org/grpc/server.go:717 +0xac
Goroutine 49 (running) created at: github.com/QuarkChain/goquarkchain/cluster/miner.New() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/cluster/miner/miner.go:58 +0x35d github.com/QuarkChain/goquarkchain/cluster/shard.New() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/cluster/shard/shard.go:117 +0x1088 github.com/QuarkChain/goquarkchain/cluster/slave.(*SlaveBackend).CreateShards.func1() /home/host/projects/go/src/github.com/QuarkChain/goquarkchain/cluster/slave/api_backend.go:73 +0x271 golang.org/x/sync/errgroup.(*Group).Go.func1() /home/host/projects/go/src/golang.org/x/sync/errgroup/errgroup.go:57 +0x64