Skip to content

Revalidating blocks that fail due to mainchain staleness appears to be broken #891

Closed
@allenpiscitello

Description

@allenpiscitello

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:

bool MainchainRPCCheck(const bool init)

This can be worked around by manually calling reconsiderblock on the invalid block (observed twice to succeed, although this should be automatically done).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions