From b6cdfb89c60943ad0861ca7b595bb9c03293edb8 Mon Sep 17 00:00:00 2001 From: Maxksim Fomenkov Date: Mon, 5 Sep 2022 16:56:53 +0300 Subject: [PATCH] log failed validation --- .../kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt index 22964d0c..11e07ec1 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/AbstractHead.kt @@ -57,7 +57,12 @@ abstract class AbstractHead( } .subscribeOn(Schedulers.boundedElastic()) .subscribe { block -> - if (blockValidator.isValid(forkChoice.getHead(), block)) { + val valid = runCatching { + blockValidator.isValid(forkChoice.getHead(), block) + }.onFailure { + log.error("Block ${block.hash} validation failed with '${it.message}'", it) + }.getOrElse { false } + if (valid) { notifyBeforeBlock() when (val choiceResult = forkChoice.choose(block)) { is ForkChoice.ChoiceResult.Updated -> {