cmd/utils: report the blocknumber when block import fails (#27213)
When block import fails, the error displays the number of the first block past the import batch, not the number of the failing block. This change fixes this problem by identifying which blocks fails and reporting its number.
This commit is contained in:
parent
c798507642
commit
c62da24dce
@ -211,8 +211,14 @@ func ImportChain(chain *core.BlockChain, fn string) error {
|
|||||||
log.Info("Skipping batch as all blocks present", "batch", batch, "first", blocks[0].Hash(), "last", blocks[i-1].Hash())
|
log.Info("Skipping batch as all blocks present", "batch", batch, "first", blocks[0].Hash(), "last", blocks[i-1].Hash())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if _, err := chain.InsertChain(missing); err != nil {
|
if failindex, err := chain.InsertChain(missing); err != nil {
|
||||||
return fmt.Errorf("invalid block %d: %v", n, err)
|
var failnumber uint64
|
||||||
|
if failindex > 0 && failindex < len(missing) {
|
||||||
|
failnumber = missing[failindex].NumberU64()
|
||||||
|
} else {
|
||||||
|
failnumber = missing[0].NumberU64()
|
||||||
|
}
|
||||||
|
return fmt.Errorf("invalid block %d: %v", failnumber, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
Loading…
Reference in New Issue
Block a user