Release v1.4.15.0 is out 🚀
There are no flags for this version. However, the new binary referenced here fixes an edge-case situation that ended up making the node lose some trie nodes when they were stored in the DB. The bug happened only on a small batch of nodes (~10 units approximatively) and those nodes stopped syncing the chain. The nodes recovered after they did a proper sync from the network.
It is very important to state that this bug did not affect the processing of the transaction or the outcome of that processing as it only affected the trie node storage after the consensus was reached on the outcome.
A detailed description of the bug:
- due to our last refactoring work in the Patricia-Merkle Trie implementation, we've wrongly removed mutex protection for a critical area;
- that area was used in the normal block processing and in the interceptors implementations (the components responsible for the pre-validation of the incoming data);
- since there was more than 1 thread acting on the same area, due to some WAW hazards, the affected nodes ended up journalizing the wrong data to be written on disk after the block was processed;
- affected nodes stopped syncing the chain as they were missing some trie data nodes.
The full binary release notes are published here: https://github.com/multiversx/mx-chain-go/releases/tag/v1.4.15