hyperledger / besu

An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
https://www.hyperledger.org/projects/besu
Apache License 2.0
1.52k stars 846 forks source link

Latest Prepared Metadata blockhash does not align with proposed block #3785

Closed panicstyle closed 2 years ago

panicstyle commented 2 years ago

Description

"Latest Prepared Metadata blockhash does not align with proposed block" INFO log called A appears, no more blocks are created. {"timestamp":"2022-04-20T10:12:58,656","container":"fc53910ea2c3","level":"INFO","thread":"BftProcessorExecutor-QBFT-0","class":"QbftBesuControllerBuilder","message":"Imported #787,685 / 0 tx / 0 pending / 0 (0.0%) gas / (0xccee92b099f27035aae9e9b66c1fd5b5b7de8608065911fac40c225c16dbee57)","throwable":""} {"timestamp":"2022-04-20T10:13:06,284","container":"fc53910ea2c3","level":"INFO","thread":"BftProcessorExecutor-QBFT-0","class":"ProposalValidator","message":"Invalid Proposal Payload: Latest Prepared Metadata blockhash does not align with proposed block","throwable":""}

Besu Version : 22.1.3 with docker in AWS Consensus Algorithm : QBFT Validator Node : 8 RPC Node : 2

jframe commented 2 years ago

If there are no new blocks being created then QBFT is likely waiting on a round change to produce a valid block. This time exponentially increases until a valid block is proposed. You might need to consider restarting all your validators to get the network up and running again in a reasonable time frame.

Can you share more of the logs from before and after you saw this log message? Ideally at debug level if you have it. Are you running just Besu with QBFT or do you also have GoQuorum as well? Can you also share your genesis file?

panicstyle commented 2 years ago

Why are there no new blocks being created.

I have no Debug Log because the Log level is set to INFO. I am not using GoQuorum, I am using Besu with QBFT. I share my genesis file. (Some data are marked with .... .) { "config" : { "chainId" : 20000, "londonBlock" : 0, "contractSizeLimit": 2147483647, "qbft" : { "blockperiodseconds" : 1, "epochlength" : 30000, "requesttimeoutseconds" : 2, "blockreward" : "5000000000000000" } }, "nonce" : "0x0", "timestamp" : "0x0", "gasLimit" : "0xf7b760", "difficulty" : "0x1", "mixHash" : "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365", "coinbase" : "0x0000000000000000000000000000000000000000", "alloc" : { "...." : { "balance" : "...." } }, "extraData" : "0xf8....80c0" }

jframe commented 2 years ago

Can you please share your log files? It's not possible for us to tell what's going without that.

Don't see anything obvious in the genesis to explain what's gone wrong.