An update on the client OpenEthereum, the community successor of the Parity client for Ethereum, essentially rendered the nodes that worked in the new version unusable.
The bug seems to have been introduced in OpenEthereum version 2.7.2on which the subsequent 3.0 update was based.
Although version 2.7 has been marked stable, Since June, the community has occasionally reported customer freezesThis required a manual restart of the node. The problem happens randomly “once or three times a month” and the software does not report its malfunction. Some users have declared the version “useless” and “useless to the node operators”.
The developers seem to have pointed out the problem through a subtle thread concurrency error that allows tasks to be processed in parallel.. In this particular case, the software seems to get stuck in a stalemate where two threads have to wait forever for their turn to access shared data.
OpenEthereum He decided only scrap version 2.7 because of these and other “heisenbugs” that are extremely difficult to reproduce and therefore to fix.
The new iteration 3.0, which is based on the latest stable version 2.5, will be released in mid-September before the Berlin fork.
Until then, however, the operators who downloaded the new version have the extremely disruptive task of downgrading.
Liam Aharon, Developer of the infrastructure company BlockNative, highlighted on Twitter, this release requires a complete re-synchronization of the blockchain platform, “What will take months for some node configurations”said.
According to Ethernodes, the error affects around 50% of the current parity nodes and all nodes marked OpenEthereum, a total of 12% of the entire network.
The OpenEthereum team should work on a process of conversion This would help nodes avoid costly resynchronization.
The team has been criticized for marking a badly damaged version as “stable”, a bug that spread to all subsequent versions. Others questioned the robustness of the multi-tenant approach. citing Satoshi’s view that multiple implementations of the same blockchain platform node would inevitably lead to problems.
Proponents of the multi-tenant approach believe that this prevents mistakes in an implementation from stalling the network with them, and the OpenEthereum bug seems to be exactly that type of scenario.