can't create valid case 2b3 consens weight calculation
Even if #20284 (moved) is fixed, I still can come up with values that produce a Wed
that is too large. Maybe I'm not trying hard enough, but I can't get case 2b3 to execute successfully.
For example, let
M=80
E=20
G=30
D=10
T=M+E+G+D
In case 2b2, Wed = (weight_scale*(D - 2*E + G + M))/(3*D) = 26667
. That's bigger than weight_scale
. It (and Wmd
) trigger case 2b3, which doesn't do anything about a too large Wed
and thus networkstatus_check_weights()
fails.
I admit I don't know how reasonable the values are that I came up with above. I am writing test cases so #14881 (moved) can be closed though, and just about any weird combination should be handled without failing. Right?
I don't know what the correct resolution is, so not patch/branch incoming at this time.