bug: Zebra panics with "Sprout note commitment tree must exist if there is a finalized tip" shortly after launch #7581
Labels
A-concurrency
Area: Async code, needs extra work to make it work properly.
A-state
Area: State / database changes
C-bug
Category: This is a bug
C-security
Category: Security issues
I-panic
Zebra panics with an internal error message
I-remote-trigger
Remote nodes can make Zebra do something bad
What happened?
I expected to see this happen:
Zebra always launches successfully.
Instead, this happened:
Zebra panics with "Sprout note commitment tree must exist if there is a finalized tip" shortly after launch.
What were you doing when the issue happened?
Testing the subtree code in PR #7566 on my local machine
Testing unrelated code on my local machine
Running unrelated PRs in CI
Zebra logs
Exit Status:
command terminated unsuccessfully by signal 6
Stdout:
Stderr:
The application panicked (crashed).
Message: Sprout note commitment tree must exist if there is a finalized tip
Location: zebra-state/src/service/finalized_state/zebra_db/shielded.rs:97
Metadata:
failures:
config_tests
Zebra Version
zebrad 1.2.0, multiple commits on different PRs
Which operating systems does the issue happen on?
OS details
various machines: CI, local machine
Additional information
The panic is from the
expect()
in:zebra/zebra-state/src/service/finalized_state/zebra_db/shielded.rs
Lines 84 to 98 in 4f6d28f
This issue should be fixed by PR #7392.
It might be possible for remote nodes to trigger this bug, or make it more likely, because it happens when a block is downloaded during launch. (Or maybe while writing another block.)
The text was updated successfully, but these errors were encountered: