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

Blockchain test fails with seed 1622256150. #315

Open
kayabaNerve opened this issue May 29, 2021 · 6 comments
Open

Blockchain test fails with seed 1622256150. #315

kayabaNerve opened this issue May 29, 2021 · 6 comments
Labels
bug Something isn't working critical This needs to be fixed ASAP

Comments

@kayabaNerve
Copy link
Member

Found thanks to the GitHub CI failing. Given I've never seen this before, I can only assume this is an incredibly rare case. None the less, one which must be handled.

Potentially critical.

@kayabaNerve kayabaNerve added bug Something isn't working critical This needs to be fixed ASAP labels May 29, 2021
@kayabaNerve
Copy link
Member Author

A Merit Holder who's expected to have 0 Merit actually has 1 Merit. Forged Merit Holder balances are critical.

@kayabaNerve
Copy link
Member Author

kayabaNerve commented May 29, 2021

This test apparently had its packet generation commented out at some point and it was left commented, which is somewhat horrific.

Reproducible with just 11 rounds instead of 20, roughly halving the time it takes to execute. I also disabled RandomX mining while working on this.

Changing Element generation does cause this to not trigger, which makes me wonder if it's related to Dead Merit.

@kayabaNerve
Copy link
Member Author

Off by one error when a Merit Holder was malicious AND had a Merit Removal in a Block their Merit died in. It added back the dead Merit which should've been noted as removed by that same Block.

@kayabaNerve
Copy link
Member Author

Fix causes failures more often; 1622346620 1622346401 have now appeared. The State Revert test also failed with seed 1622347011.

@kayabaNerve
Copy link
Member Author

I'm running the Blockchain test overnight to look for a failure seed with the new fuzzing code. Nothing should've changed so drastically it's infeasible/impossible, yet this test having a failure seed was unknown for months across likely hundreds of runs. So we'll see. I did comment out the mining code once again to go from an ~8 minute execution time to 1 minute.

@kayabaNerve
Copy link
Member Author

kayabaNerve commented May 30, 2021

Found 1622359295 with the new fuzzing code. It took 75 runs, highlighting its infrequency,

As a side note, we should look into not RandomX mining in this test when being run on the CI. It's decently inconsiderate to GitHub and increases our chances of getting removed from their CI for RandomX mining.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working critical This needs to be fixed ASAP
Development

No branches or pull requests

1 participant