Skip to content

Parent not found in tree error #851

Closed
@MegaRedHand

Description

@MegaRedHand

After running for some time on Gnosis chain, the node failed to compute the new head with the error:

Task #PID<0.1913.0> started from LambdaEthereumConsensus.ForkChoice terminating
** (RuntimeError) Parent 585E3E2FC11948F70E2EF604BB7948837644E9A8DB4223739DA63B003CF47F23 not found in tree
    (lambda_ethereum_consensus 0.1.0) lib/lambda_ethereum_consensus/fork_choice/simple_tree.ex:84: LambdaEthereumConsensus.ForkChoice.Simple.Tree.get_children   (lambda_ethereum_consensus 0.1.0) lib/types/store.ex:124: Types.Store.get_children/2
    (lambda_ethereum_consensus 0.1.0) lib/lambda_ethereum_consensus/fork_choice/helpers.ex:112: LambdaEthereumConsensus.ForkChoice.Helpers.filter_block_tree/4
    (lambda_ethereum_consensus 0.1.0) lib/lambda_ethereum_consensus/fork_choice/helpers.ex:107: LambdaEthereumConsensus.ForkChoice.Helpers.get_filtered_block_tree/1
    (lambda_ethereum_consensus 0.1.0) lib/lambda_ethereum_consensus/fork_choice/helpers.ex:36: LambdaEthereumConsensus.ForkChoice.Helpers.get_head/1
    (lambda_ethereum_consensus 0.1.0) lib/lambda_ethereum_consensus/fork_choice/fork_choice.ex:164: LambdaEthereumConsensus.ForkChoice.recompute_head/1
    (elixir 1.15.6) lib/task/supervised.ex:101: Task.Supervised.invoke_mfa/2
    (elixir 1.15.6) lib/task/supervised.ex:36: Task.Supervised.reply/4
Function: &LambdaEthereumConsensus.ForkChoice.recompute_head/1
    Args: [%Types.Store{time: 1709815005, genesis_time: 1638993340, justified_checkpoint: %Types.Checkpoint{root: <<88, 94, 62, 47, 193, 25, 72, 247, 14, 46, 246, 4, 187, 121, 72, 131, 118, 68, 233, 168, 219, 66, 35, 115, 157, 166, 59, 0, 60, 244, 127, 35>>, epoch: 885264}, finalized_checkpoint: %Types.Checkpoint{root: <<5, 192, 253, 43, 220, 0, 212, 190, 255, 65, 150, 97, 118, 227, 70, 41, 12, 183, 128, 106, 56, 208, 180, 233, 174, 118, 88, 229, 208, 33, 145, 96>>, epoch: 885263}, unrealized_justified_checkpoint: %Types.Checkpoint{root: <<88, 94, 62, 47, 193, 25, 72, 247, 14, 46, 246, 4, 187, 121, 72, 131, 118, 68, 233, 168, 219, 66, 35, 115, 157, 166, 59, 0, 60, 244, 127, 35>>, epoch: 885264}, unrealized_finalized_checkpoint: %Types.Checkpoint{root: <<5, 192, 253, 43, 220, 0, 212, 190, 255, 65, 150, 97, 118, 227, 70, 41, 12, 183, 128, 106, 56, 208, 180, 233, 174, 118, 88, 229, 208, 33, 145, 96>>, epoch: 885263}, ..., tree_cache: %LambdaEthereumConsensus.ForkChoice.Simple.Tree{root: <<5, 192, 253, 43, 220, 0, 212, 190, 255, 65, 150, 97, 118, 227, 70, 41, 12, 183, 128, 106, 56, 208, 180, 233, 174, 118, 88, 229, 208, 33, 145, 96>>, nodes: %{<<5, 192, 253, 43, 220, 0, 212, 190, 255, 65, 150, 97, 118, 227, 70, 41, 12, 183, 128, 106, 56, 208, 180, 233, 174, 118, 88, 229, 208, 33, 145, 96>> => %LambdaEthereumConsensus.ForkChoice.Simple.Tree.Node{parent_id: :root, children_ids: []}}}}]

Update: I think this happens when reloading ForkChoice after a crash

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1This is a MUST for this milestone. It's a main feature, or blocking other main features.bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions