-
Notifications
You must be signed in to change notification settings - Fork 15
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
feature_fork_choice_forked_finalize_epoch is floating #978
Comments
Reproduced locally. Finalizer2 has crashed on assertion. There's a stacktrace:
|
The finalizer crashed right after entering in voting epoch after block 25 being connected (that means finalizer doesn't finish full sync yet which must be block 45 but I'm not it's an issue). Last records:
|
Yet another issue I've found by running this test in a loop:
It happened when self.nodes[0] tried to stop after successfully finishing first test suite. log.txt Staketrace is not useful at a glance.
|
It's not "my" issue but I was interesting what is going on, and I think I finished investigation. The issue happens because test creates two finalizers which act like being one. Once finalizer2 processes block which includes vote from finalizer1 and at the same moment tries to vote itself, it cannot find corresponding prev transaction in its wallet. This started to happen once #937 is merged, that PR makes validator, when voting, using global validator state instead of local one, and because of two finalizer are actually the same, it made a glitch between two finalizers which started sharing the same validator state. I think it's not an issue for production code, we can simply rewrite test to use one validator, but make votes on different branches via rpc, like we double vote in #906. |
Travis log
feature_fork_choice_forked_finalize_epoch.txt
The text was updated successfully, but these errors were encountered: