skalenetwork / skale-consensus

Running the very core of SKL network, SKALE BFT consensus is universal, modern, modular, high-performance, asynchronous, provably-secure, agent-based Proof-of-Stake blockchain consensus engine in C++ 17. Includes provably secure embedded Oracle. Used by SKALE elastic blockchains. Easy and flexible enough to implement your own blockchain or smart contract platform. BLS signatures and Binary Asynchronous Consensus are main building blocks.
https://docs.skale.network/technology/consensus-spec
GNU Affero General Public License v3.0
77 stars 31 forks source link

Fix cached level DB in in consensus #845

Open sergiy-skalelabs opened 2 years ago

sergiy-skalelabs commented 2 years ago

The CacheLevelDB class needs review and improvement because of helgrind reports about serious multi-threading problems like unlocked an invalid lock, associated lock is not held by any thread and unlocked a not-locked lock at. This class contains CacheLevelDB::checkForDeadLockRead() which violates lock based data protection strategy:

kladkogex commented 2 years ago

Thank you! Will be fixed soon