Description
This has come up a few times and is worth investigating to ensure this behavior is working.
Observed behavior:
There's a pegin in the mainchain. The mainchain is not synchronized on a machine that is running Elements, such that the pegin is not mature enough. When the sidechain is validated with a claimpegin, the block is marked invalid. The mainchain catches up but the block is never re-validated and the sidechain is stuck on the block prior to the pegin.
Expected behavior:
As long as Elements is not set with -recheckpeginblockinterval=0, invalid blocks should be reprocessed every n seconds (120 by default, based on this setting). Once the mainchain is synched sufficiently, the block will be reevaluated.
See:
Line 5275 in c0e0e0a
This can be worked around by manually calling reconsiderblock on the invalid block (observed twice to succeed, although this should be automatically done).