Synopsis: Bug in the go client implementation might result in invalid state
Impacted client versions: Latest (unresolved) versions of Go client; v1.1.2, v1.0.4 tags and develop, master branches prior to September 9.
Probability: Low
Seriousness: High
Consequence: High
Information: The Go Ethereum client fails to accurately restore the state of the execution environment when a transaction runs out of gas if – during the same block – a contract has been suicided. This leads to an erroneous copy operation of the state object; marking the contract as not removed. Such an operation could lead to a consensus discrepancy among other implementations.
Impact on anticipated chain reorganization depth: none
Corrective measures taken by Ethereum: Release of hotfixes as outlined below.
Suggested interim solution: Utilize Python or C++ client
If employing the PPA: sudo apt-get update then sudo apt-get upgrade
If utilizing brew: brew update then brew reinstall ethereum
If using a Windows binary: obtain the latest binary from https://github.com/ethereum/go-ethereum/releases/tag/v1.1.3
Master branch commit: https://github.com/ethereum/go-ethereum/commit/9ebe787d3afe35902a639bf7c1fd68d1e591622a
If compiling from source: git fetch origin && git checkout origin/master followed by a make geth
