From dd911a7ac6b5dc3e9ad79a7bf79610beddfb3b02 Mon Sep 17 00:00:00 2001 From: Eugene Kabanov Date: Thu, 23 Feb 2023 18:02:17 +0200 Subject: [PATCH] Fix IndexError for reasons. (#4656) * Fix IndexError for reasons. * Deprecate specific Timeout reason. Log exception message instead of single Timeout error. --- beacon_chain/validator_client/common.nim | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/beacon_chain/validator_client/common.nim b/beacon_chain/validator_client/common.nim index 38f0acdad..088957d62 100644 --- a/beacon_chain/validator_client/common.nim +++ b/beacon_chain/validator_client/common.nim @@ -268,9 +268,11 @@ proc getNodeCounts*(vc: ValidatorClientRef): BeaconNodesCounters = proc getFailureReason*(exc: ref ValidatorApiError): string = var counts: array[int(high(ApiFailure)) + 1, int] - let errors = exc[].data + let + errors = exc[].data + errorsCount = len(errors) - if len(errors) > 1: + if errorsCount > 1: var maxFailure = block: var maxCount = -1 @@ -282,8 +284,10 @@ proc getFailureReason*(exc: ref ValidatorApiError): string = res = item.failure res $maxFailure - else: + elif errorsCount == 1: $errors[0].failure + else: + exc.msg proc shortLog*(roles: set[BeaconNodeRole]): string = var r = "AGBSD"