Skip to content
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

Add tombstoning to smoke test #1209

Closed
hdevalence opened this issue Jul 22, 2022 · 5 comments
Closed

Add tombstoning to smoke test #1209

hdevalence opened this issue Jul 22, 2022 · 5 comments
Assignees
Labels
A-staking Area: Design and implementation of staking and delegation C-enhancement Category: an enhancement to the codebase

Comments

@hdevalence
Copy link
Member

Is your feature request related to a problem? Please describe.

We don't currently have an integration test that checks that a validator who double-signs a block actually gets tombstoned, and since this is kind of annoying to manually run, we've never actually executed that code path. Attempting to fix #1207 revealed that the necessary indexes weren't being populated, so tombstoning wouldn't have worked, even if it had happened. This is bad, and exposes a gap in our testing.

Describe the solution you'd like

We should add a tombstoning test to the smoke test. This would involve (1) creating a new validator (2) inducing it to double-sign (3) checking that it is tombstoned. One way to induce double-signing is to run two instances of tendermint+pd that have a common priv_validator_key.json.

@hdevalence hdevalence added A-staking Area: Design and implementation of staking and delegation C-enhancement Category: an enhancement to the codebase labels Jul 22, 2022
@redshiftzero redshiftzero moved this to Todo in Testnets Oct 14, 2022
@zbuc zbuc moved this from Todo to Future in Testnets Oct 21, 2022
@plaidfinch plaidfinch moved this from Future to Todo in Testnets Oct 28, 2022
@erwanor erwanor moved this from Todo to Future in Testnets Nov 11, 2022
@conorsch
Copy link
Contributor

conorsch commented Dec 2, 2022

Given recent progress toward #1664, I assume we'd want to run the tombstoning check in rust code against the state machine, rather than via integration tests. Do you agree, @hdevalence?

@conorsch
Copy link
Contributor

conorsch commented Dec 2, 2022

Scratch that: we discussed at sprint-planning today, and having this as a true integration test is a Good Thing:tm:. Reducing priority for now, though.

@erwanor erwanor moved this from Future to Testnet 44: Ananke in Testnets Feb 3, 2023
@conorsch
Copy link
Contributor

conorsch commented Feb 3, 2023

I'll take a first look at this for 44; might have to reorganize the compose files a bit to make coerce the double-sign action. Not sure it'll ship in 44, but will document progress as I go.

@conorsch conorsch moved this from Testnet 44: Ananke to Testnet 45: Meti in Testnets Feb 10, 2023
@conorsch
Copy link
Contributor

Took a first pass. I'd like to wire up a new CI workflow much like the smoke test, but that uses two validators, one with a duplicated identity. The small changes suggested in #1992 will make this a bit more straightforward, so I'm going to tackle that first.

@redshiftzero redshiftzero moved this from Testnet 45: Meti to Testnet 46: Lysithea in Testnets Feb 17, 2023
@redshiftzero redshiftzero moved this from Testnet 46: Lysithea to Future in Testnets Feb 23, 2023
@aubrika aubrika added this to Penumbra Oct 30, 2023
@github-project-automation github-project-automation bot moved this to 🗄️ Backlog in Penumbra Oct 30, 2023
@hdevalence
Copy link
Member Author

We won't be adding any new checks to the smoke test. This should be done as a staking state machine test.

@hdevalence hdevalence closed this as not planned Won't fix, can't repro, duplicate, stale Feb 9, 2024
@github-project-automation github-project-automation bot moved this from 🗄️ Backlog to Done in Penumbra Feb 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-staking Area: Design and implementation of staking and delegation C-enhancement Category: an enhancement to the codebase
Projects
Archived in project
Status: Future
Development

No branches or pull requests

2 participants