Skip to content

repair-trie sub-command "fixes" the same node twice #18768

@mediocregopher

Description

@mediocregopher

Describe the bug

Running on base on a node with some kind of trie corruption, we first saw:

1758964916302	2025-09-27T09:21:56.302584Z  WARN Inconsistency found, will repair: StorageWrong {
    account: 0xbe67e4c7cd9e0722c7a175135f72c02b5ec1ddba0f73dacde8e007defbe9fca9,
    path: Nibbles(0x8e7494),
    expected: BranchNodeCompact {
        state_mask: TrieMask(1111111111111111),
        tree_mask: TrieMask(1011011000110100),
        hash_mask: TrieMask(1111111010111011),
        hashes: [
            0x70758f2db4f85583a1976a0861795d1ce71f474c8ddd04cc35ce5fab15597db2,
            0xb1814839bcc25ac72a79569a517534fe63dff669063c12e77da843e0e1ef54ba,
            0x76e55d99df73688c2c8086519bdc7ad9aef8b78f697e231ac65c4d4378cbf238,
            0x3bef8c91543d8f9fa24dc3d12a83b60a39da051f90a2b2c092f454762ff48d4a,
            0x0adec08682f18cd6e617c5d75abb783f157c29a418964445fe8e5d6d2c1c567a,
            0x7a21b1780b01e6ae5d914a1d26ac58a2395fed334ae5c5cdc188d9eb51b06432,
            0xe6128f6dec76d16afee8d72023dd01ace06532c7f412d9478c9ba9f128b3e887,
            0x59dc485dcba00e9e04b9b1b46724887d51937d435bcd06bee31772e39718710b,
            0x0a8d0d4e3154770ab30ecb14b46e1b0bafd29663763d693c0a4c438bf2830275,
            0x852b71cca1e4a18a94c374bf6fa18f6a34465ab7a5e9c02b6fec312d81dbc083,
            0x61e51fb5053210f6036e77e75eb6ac401b24a1ddaa5988fb0f508afc0706bf57,
            0x9bfd0e4ba402925653e41d3be32963afc44e5187afcc52b73170a79692594531,
            0x876f67b80b78796ab8a9aad6308526ba722feaef3bad1ea4a12b9cb0caf0ed2a
        ],
        root_hash: None
    },
    found: BranchNodeCompact {
        state_mask: TrieMask(1111111111111111),
        tree_mask: TrieMask(1011011000110100),
        hash_mask: TrieMask(1111111010111011),
        hashes: [
            0x70758f2db4f85583a1976a0861795d1ce71f474c8ddd04cc35ce5fab15597db2,
            0xb1814839bcc25ac72a79569a517534fe63dff669063c12e77da843e0e1ef54ba,
            0x76e55d99df73688c2c8086519bdc7ad9aef8b78f697e231ac65c4d4378cbf238,
            0x3bef8c91543d8f9fa24dc3d12a83b60a39da051f90a2b2c092f454762ff48d4a,
            0x80a78e7d8468a03331cee176b4d47d9fbcb74e7123034f88dbc597e2a3e7e926,
            0x3e449272023a0dca816f31611648c987e02b8cef89679fb4f86c4810ee233ed1,
            0xe6128f6dec76d16afee8d72023dd01ace06532c7f412d9478c9ba9f128b3e887,
            0x59dc485dcba00e9e04b9b1b46724887d51937d435bcd06bee31772e39718710b,
            0x0a8d0d4e3154770ab30ecb14b46e1b0bafd29663763d693c0a4c438bf2830275,
            0x852b71cca1e4a18a94c374bf6fa18f6a34465ab7a5e9c02b6fec312d81dbc083,
            0x61e51fb5053210f6036e77e75eb6ac401b24a1ddaa5988fb0f508afc0706bf57,
            0x9bfd0e4ba402925653e41d3be32963afc44e5187afcc52b73170a79692594531,
            0x876f67b80b78796ab8a9aad6308526ba722feaef3bad1ea4a12b9cb0caf0ed2a
        ],
        root_hash: None
    }
}

and then afterwards:

1758964916302	2025-09-27T09:21:56.302741Z  WARN Inconsistency found, will repair: StorageExtra(
    0xbe67e4c7cd9e0722c7a175135f72c02b5ec1ddba0f73dacde8e007defbe9fca9,
    Nibbles(0x8e7494),
    BranchNodeCompact {
        state_mask: TrieMask(1111111111111111),
        tree_mask: TrieMask(1011011000110100),
        hash_mask: TrieMask(1111111010111011),
        hashes: [
            0x70758f2db4f85583a1976a0861795d1ce71f474c8ddd04cc35ce5fab15597db2,
            0xb1814839bcc25ac72a79569a517534fe63dff669063c12e77da843e0e1ef54ba,
            0x76e55d99df73688c2c8086519bdc7ad9aef8b78f697e231ac65c4d4378cbf238,
            0x3bef8c91543d8f9fa24dc3d12a83b60a39da051f90a2b2c092f454762ff48d4a,
            0x0adec08682f18cd6e617c5d75abb783f157c29a418964445fe8e5d6d2c1c567a,
            0x7a21b1780b01e6ae5d914a1d26ac58a2395fed334ae5c5cdc188d9eb51b06432,
            0xe6128f6dec76d16afee8d72023dd01ace06532c7f412d9478c9ba9f128b3e887,
            0x59dc485dcba00e9e04b9b1b46724887d51937d435bcd06bee31772e39718710b,
            0x0a8d0d4e3154770ab30ecb14b46e1b0bafd29663763d693c0a4c438bf2830275,
            0x852b71cca1e4a18a94c374bf6fa18f6a34465ab7a5e9c02b6fec312d81dbc083,
            0x61e51fb5053210f6036e77e75eb6ac401b24a1ddaa5988fb0f508afc0706bf57,
            0x9bfd0e4ba402925653e41d3be32963afc44e5187afcc52b73170a79692594531,
            0x876f67b80b78796ab8a9aad6308526ba722feaef3bad1ea4a12b9cb0caf0ed2a
        ],
        root_hash: None
    }
)

The original expected value is the correct value. The original found value remained once repairing was completed.

Steps to reproduce

Unclear

Node logs


Platform(s)

Linux (x86)

Container Type

Not running in a container, Docker, Kubernetes

What version/commit are you on?

48b725a

What database version are you on?

2

Which chain / network are you on?

base

What type of node are you running?

Archive (default)

What prune config do you use, if any?

No response

If you've built Reth from source, provide the full command you used

No response

Code of Conduct

  • I agree to follow the Code of Conduct

Metadata

Metadata

Labels

A-cliRelated to the reth CLIA-trieRelated to Merkle Patricia Trie implementationC-bugAn unexpected or incorrect behaviorS-needs-triageThis issue needs to be labelled

Type

No type

Projects

Status

Completed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions