| Case | Fail Description | Can be found in tests (Non-exhaustive) | Comment | | ---- |:--------------------------------------------------------------------------------------------------------- |:------------------------------------------------------------------------------- |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 1 | can't get genesis: Post "http://172.17.0.10:8545": dial tcp 172.17.0.10:8545: connect: connection refused | envInfo,invalidDiffPlaces, opcDDDiffPlaces, idPrecomps and more | Seems to happen pretty randomly. When it happens, Hive attempts to call Besu before Besu finish initializing. | | 2 | last block hash mismatch | create2collisionStorage, dynamicAccountOverwriteEmpty, initCollision | This is due to world state mismatch in `BonsaiWorldState.persist()` while processing the blocks to be imported | | 3 | genesis hash mismatch | accountInteractions, amountIs0, incorrectWithdrawalsRoot_Shanghai, wrongGasUsed | This is due to fork determination eg. `isShanghaiAtGenesis()` in `GenesisState` uses equal instead of greater than or equal than the fork timestamp. However after fixing `GenesisState` this case will behave the same as case 4 | | 4 | can't launch node (type besu): client did not start: terminated unexpectedly | wrongTransactionsTrie, wrongUncleHash | These tests are about importing bad blocks. The bad blocks did not get imported into Besu. However Besu throws World state root mismatch from `BonsaiWorldState` during `BesuController.build()` which caused the entire Besu to exit |