From 06a3e22ca3f60e40ad18fd6b55152eef99918a76 Mon Sep 17 00:00:00 2001 From: clemahieu <clemahieu@gmail.com> Date: Thu, 24 Sep 2020 11:23:44 +0200 Subject: [PATCH] This fixes a race condition in node.node_receive_quorum. Election creation is done after transaction commit so there isn't a guarantee the election will be created as the block is observable in the ledger. --- nano/core_test/node.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/nano/core_test/node.cpp b/nano/core_test/node.cpp index 2ef6b31fe7..61fb29b887 100644 --- a/nano/core_test/node.cpp +++ b/nano/core_test/node.cpp @@ -256,6 +256,7 @@ TEST (node, node_receive_quorum) .build_shared (); node1.process_active (send); ASSERT_TIMELY (10s, node1.ledger.block_exists (send->hash ())); + ASSERT_TIMELY (10s, node1.active.election (nano::qualified_root (previous, previous)) != nullptr); auto election (node1.active.election (nano::qualified_root (previous, previous))); ASSERT_NE (nullptr, election); ASSERT_FALSE (election->confirmed ());