-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
panic: precommit length (3) doesn't match valset length (4) at height 2 #3263
Comments
What are you using |
@melekes I am using it for making the validator changes(add/remove/update) while live net is up. |
hey @melekes , any updates on this? |
Are you sure all nodes are being started properly with the persistent kv store? If the node being restarted uses the non persistent kv store, that would cause this issue (due to #3067) |
Hey yes @ebuchman . I am sure of it that I started it with persistent_kvstore. |
In your opening comment, you have this in the logs:
Note this says the
So it seems like something must be wrong in the way you're running the persistent_kvstore - it seems like, at least from that log, that it's just running the kvstore, not the persistent version |
Hey @ebuchman , there is no logic in persistent_kvstore to persist the latest state. For persisting the latest state, it is calling the kvstore app internally(app.app.state.Height). So if kvstore has the logic for persisting state, it will happen automatically for persistent_kvstore(if you see the latest code in the master) and persistent_kvstore mainly has validator update logic. Please let me know if my understanding is wrong. So this error should not come if our kvstore is correct. |
So if you're using |
Closing this. Please open a new one if you're still having issues. |
Description:
I had a live net with three nodes having voting power 1 for each. I added a validator node to this node with voting power 1 using validator transaction of persistent_kvstore. So now i have four nodes each with voting power 1. The setup worked fine and transactions were adding until i killed the tendermint process and tried to restart the nodes again.
Tendermint version- 0.26.0-c086d0a3
ABCI app- persistent_kvstore
I got the following error:
panic: precommit length (3) doesn't match valset length (4) at height 2
I expected it to start normally without any errors but the nodes failed to start with the above panic
I have not tried the latest version.
To reproduce it, you can perform the above steps mentioned in description.
Logs:
I am not sure if this error happened because the new validator should have voting power strictly less than 1/3rd of total/max(unclear) voting power as mentioned here: (https://tendermint.com/docs/app-dev/app-development.html#endblock)
or is it because of some bug.
This is my thought:
i think adding validators as transaction is creating this problem. What I mean is, maybe in state.db it updated the validator state from 3 to 4 but the transactions that got executed before the validator change transaction does not know of these changes. So when i tried to restart the nodes, it got stuck at height 2 while replaying the blocks.
Any suggestion/work-around will be of great help in troubleshooting this.
The text was updated successfully, but these errors were encountered: