dusk-blockchain icon indicating copy to clipboard operation
dusk-blockchain copied to clipboard

Reduce occurrences of firststep_verifyCandidateBlock warnings

Open goshawk-3 opened this issue 2 years ago • 0 comments

Describe the bug Too many firststep_verifyCandidateBlock failed errors/warnings are being reported in a live network. This is most probably due to a race between Chain component accepting next valid block and Consensus loop goroutine still running next iteration 1st Reduction of the same round.

Collected from testnet-daybreak node-0. Similar errors counts are found on all nodes.

node-0:~# zgrep -c "firststep_verifyCandidateBlock failed"  /var/log/dusk.log-*.gz 
/var/log/dusk.log-20220412.gz:963
/var/log/dusk.log-20220417.gz:311
/var/log/dusk.log-20220424.gz:342
/var/log/dusk.log-20220501.gz:138
/var/log/dusk.log-20220508.gz:135
/var/log/dusk.log-20220515.gz:138
/var/log/dusk.log-20220522.gz:129
/var/log/dusk.log-20220529.gz:165


{"error":"block already exists","level":"error","msg":"firststep_verifyCandidateBlock failed","round":636087,"step":2,"time":"2022-05-20T09:24:04Z"}
{"error":"previous block hash does not equal the previous hash in the current block","level":"error","msg":"firststep_verifyCandidateBlock failed","round":636190,"step":5,"time":"2022-05-20T09:37:16Z"}

To Reproduce The race is mostly reproducible on testnet.

Expected behaviour

These warnings pollute log files. We should expect to see firststep_verifyCandidateBlock failed on any misuse or edge case occurrences, alarming for something that needs to be investigated.

Platform Testnet-daybreak

Additional context NB that firststep_verifyCandidateBlock failed has been renamed to verifyfn failed. Once dusk service is updated on testnet, we should re-grep for verifyfn failed and if it's still reported too often, we should investigate/address it further.

goshawk-3 avatar Jun 01 '22 11:06 goshawk-3