Test Details Overview

Let a forced block join the election already running for its root (#5251)

active_elections::insert asserted that an election found for the block's root already contains the block. That holds while the only thing replacing a root's ledger successor is an election forcing its own winner, but the process RPC can force any block: the forced block rolls the successor back, the rollback observer keeps that root's election, and the scheduler then activates a block its election has never seen. Debug builds hit the assert, release builds leave the election voting on the rolled back block alone.

The assert goes, and the processed-blocks observer treats a forced block that landed like a fork result, so handle_fork hands it to the running election through the same path and the fork cache covers an election started in between.

__________

Type: commit

Hash: 059ca47cb008cd31e414321d594fc3e254e9ace7

Created: yesterday

__________

gr0v1ty/nano-node:059ca47cb008cd31e414321d594fc3e254e9ace7

Test Results

Test Case Status Duration Median Deviation Log Graph
5n4pr_conf_10k_bintree PASS 114 s 0.0 s GitHub job logs Show
5n4pr_conf_10k_change PASS 181 s 23.0 s GitHub job logs Show
5n4pr_conf_change_dependant PASS 120 s 8.0 s GitHub job logs -
5n4pr_conf_change_independant PASS 120 s 17.0 s GitHub job logs -
5n4pr_conf_send_dependant PASS 108 s -6.0 s GitHub job logs -
5n4pr_conf_send_independant PASS 109 s 0.0 s GitHub job logs -
5n4pr_rocks_10k_bintree PASS 112 s 0.0 s GitHub job logs -
5n4pr_rocks_10k_change PASS 194 s 43.0 s GitHub job logs -