exchain
exchain copied to clipboard
CONSENSUS FAILURE!!! When the distr‘s communitytax propose change take effect
Summary of Bug
Steps to Reproduce
command input:
1、okchaincli tx gov submit-proposal param-change /root/data/distrcommunitytax.json --from val0 --fees 0.00200000okt -y -b block -o json"
distrcommunitytax.json content:
{
"title": "Staking Param Change",
"description": "Update max validators",
"changes": [
{
"subspace": "distribution",
"key": "communitytax",
"value": "1.1"
}
],
"deposit": [
{
"denom": "okt",
"amount": "100"
}
],
"height": "1410"
}
result :
CONSENSUS FAILURE!!! module=consensus err="negative coin amount" stack="goroutine 265 [running]:\nruntime/debug.Stack(0xc000e30818, 0x12ae180, 0x18d58c0)\n\t/usr/local/go/src/runtime/debug/stack.go:24 +0x9d\ngithub.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine.func2(0xc000606000, 0x16c0ee0)\n\t/go/pkg/mod/github.com/okex/[email protected]/consensus/state.go:612 +0x57\npanic(0x12ae180, 0x18d58c0)\n\t/usr/local/go/src/runtime/panic.go:969 +0x166\ngithub.com/cosmos/cosmos-sdk/types.DecCoins.Sub(...)\n\t/go/pkg/mod/github.com/okex/[email protected]/types/dec_coin.go:278\ngithub.com/okex/okchain/x/distribution/keeper.Keeper.allocateByEqual(0x190db40, 0xc000119ad0, 0xc001018000, 0xc001018000, 0x190db40, 0xc000119b00, 0x190db80, 0xc000f16020, 0xc000387d00, 0xc, ...)\n\t/go/src/github.com/okex/okchain/x/distribution/keeper/allocation.go:103 +0x8f0\ngithub.com/okex/okchain/x/distribution/keeper.Keeper.AllocateTokens(0x190db40, 0xc000119ad0, 0xc001018000, 0xc001018000, 0x190db40, 0xc000119b00, 0x190db80, 0xc000f16020, 0xc000387d00, 0xc, ...)\n\t/go/src/github.com/okex/okchain/x/distribution/keeper/allocation.go:66 +0xa53\ngithub.com/okex/okchain/x/distribution.BeginBlocker(0x191f040, 0xc000132040, 0x19324e0, 0xc0042a1f80, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, ...)\n\t/go/src/github.com/okex/okchain/x/distribution/abci.go:26 +0x2b1\ngithub.com/okex/okchain/x/distribution.AppModule.BeginBlock(...)\n\t/go/src/github.com/okex/okchain/x/distribution/module.go:131\ngithub.com/cosmos/cosmos-sdk/types/module.(*Manager).BeginBlock(0xc001018f50, 0x191f040, 0xc000132040, 0x19324e0, 0xc0042a1f80, 0xa, 0x0, 0x0, 0x0, 0x0, ...)\n\t/go/pkg/mod/github.com/okex/[email protected]/types/module/module.go:290 +0x1ca\ngithub.com/okex/okchain/app/protocol.(*ProtocolV0).BeginBlocker(...)\n\t/go/src/github.com/okex/okchain/app/protocol/protocol_v0.go:463\ngithub.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).BeginBlock(0xc000e9c000, 0xc00462cbc0, 0x20, 0x20, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, ...)\n\t/go/pkg/mod/github.com/okex/[email protected]/baseapp/baseapp.go:680 +0x469\ngithub.com/okex/okchain/app.(*OKChainApp).BeginBlock(0xc0001340f8, 0xc00462cbc0, 0x20, 0x20, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, ...)\n\t/go/src/github.com/okex/okchain/app/abci.go:46 +0x325\ngithub.com/tendermint/tendermint/abci/client.(*localClient).BeginBlockSync(0xc00110b140, 0xc00462cbc0, 0x20, 0x20, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, ...)\n\t/go/pkg/mod/github.com/okex/[email protected]/abci/client/local_client.go:231 +0xf8\ngithub.com/tendermint/tendermint/proxy.(*appConnConsensus).BeginBlockSync(0xc0002ad150, 0xc00462cbc0, 0x20, 0x20, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, ...)\n\t/go/pkg/mod/github.com/okex/[email protected]/proxy/app_conn.go:69 +0x6b\ngithub.com/tendermint/tendermint/state.execBlockOnProxyApp(0x191fac0, 0xc0002eb120, 0x192afc0, 0xc0002ad150, 0xc0013492c0, 0x19355e0, 0xc000134948, 0xf0bf, 0x3c, 0xc00521cc80)\n\t/go/pkg/mod/github.com/okex/[email protected]/state/execution.go:288 +0x3dd\ngithub.com/tendermint/tendermint/state.(*BlockExecutor).ApplyBlock(0xc0000bbab0, 0xa, 0x0, 0xc000ee3750, 0x7, 0xc000ee3760, 0x7, 0xf0bf, 0x3c, 0xc00521cc80, ...)\n\t/go/pkg/mod/github.com/okex/[email protected]/state/execution.go:139 +0x139\ngithub.com/tendermint/tendermint/consensus.(*ConsensusState).finalizeCommit(0xc000606000, 0xf0c0)\n\t/go/pkg/mod/github.com/okex/[email protected]/consensus/state.go:1453 +0x96e\ngithub.com/tendermint/tendermint/consensus.(*ConsensusState).tryFinalizeCommit(0xc000606000, 0xf0c0)\n\t/go/pkg/mod/github.com/okex/[email protected]/consensus/state.go:1370 +0x383\ngithub.com/tendermint/tendermint/consensus.(*ConsensusState).enterCommit.func1(0xc000606000, 0x0, 0xf0c0)\n\t/go/pkg/mod/github.com/okex/[email protected]/consensus/state.go:1305 +0x90\ngithub.com/tendermint/tendermint/consensus.(*ConsensusState).enterCommit(0xc000606000, 0xf0c0, 0x0)\n\t/go/pkg/mod/github.com/okex/[email protected]/consensus/state.go:1342 +0x689\ngithub.com/tendermint/tendermint/consensus.(*ConsensusState).addVote(0xc000606000, 0xc001a11360, 0xc001066150, 0x28, 0x12ae3c0, 0xc0001fb1a8, 0x16c21d8)\n\t/go/pkg/mod/github.com/okex/[email protected]/consensus/state.go:1822 +0xb34\ngithub.com/tendermint/tendermint/consensus.(*ConsensusState).tryAddVote(0xc000606000, 0xc001a11360, 0xc001066150, 0x28, 0xc001a0c240, 0xc001a0c360, 0x30)\n\t/go/pkg/mod/github.com/okex/[email protected]/consensus/state.go:1651 +0x59\ngithub.com/tendermint/tendermint/consensus.(*ConsensusState).handleMsg(0xc000606000, 0x18fa2c0, 0xc0052bf9f0, 0xc001066150, 0x28)\n\t/go/pkg/mod/github.com/okex/[email protected]/consensus/state.go:708 +0x525\ngithub.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine(0xc000606000, 0x0)\n\t/go/pkg/mod/github.com/okex/[email protected]/consensus/state.go:643 +0x709\ncreated by github.com/tendermint/tendermint/consensus.(*ConsensusState).OnStart\n\t/go/pkg/mod/github.com/okex/[email protected]/consensus/state.go:335 +0x13a\n"
Version
v0.10.3
For Admin Use
- [ ] Not duplicate issue
- [ ] Appropriate labels applied
- [ ] Appropriate contributors tagged
- [ ] Contributor assigned/self-assigned
Validators will filter that with the same situation in cosmos-sdk. @tianxiataiping