cosmos / iavl

Merkleized IAVL+ Tree implementation in Go
Apache License 2.0
413 stars 256 forks source link

fix(nodedb): prevent deadlock by releasing DeleteVersionsFrom mutex on error #843

Closed odeke-em closed 9 months ago

odeke-em commented 9 months ago

Noticed during an audit that there can be a deadlock resulting from an unreleased mutex if there happens to be a newer version with one or more concurrent readers.

Fixes #842

tac0turtle commented 9 months ago

@mergifyio backport release/v1.x.x

mergify[bot] commented 9 months ago

backport release/v1.x.x

✅ Backports have been created

* [#844 fix(nodedb): prevent deadlock by releasing DeleteVersionsFrom mutex on error (backport #843)](https://github.com/cosmos/iavl/pull/844) has been created for branch `release/v1.x.x`