We get failures of this sort, very occasionally:
Locally it has gotten very bad now that I'm making diffs
with sigops counting disabled, because that speeds up block
validation massively (these tests make billions of
OP_NOPs which get iterated one by one during sigop counting).
The failure is because when reorg_back starts, node 0 may still
be sending blocks to node 2 as a consequence of the previous test.
When node 2 calls invalidateblock during the reorg_back
function and then node 0 sends a block building off that invalid
chain, this earns a ban for node 0, and the test ends up timing
out later on when node 2 was supposed to have gotten a reorg chain
from node 0.