Skip to content

TransactionLookup::prune panics in debug profile #20161

@JayWhite2357

Description

@JayWhite2357

Describe the bug

This line panics with attempt to add with overflow:

.min(input.limiter.deleted_entries_limit_left().map(|left| start + left as u64 - 1))

This is (I assume) because the default value for limit is usize::MAX as seen here:

delete_limit: usize::MAX,

I am using a ExEx and can trigger the panic when calling send_finished_height using debug profile with very aggressive pruning.

Steps to reproduce

I believe this can be reproduced by running the minimal ExEx example in the debug profile.
https://github.com/paradigmxyz/reth-exex-examples/blob/39ce7bf59223413b268f9b7030ff099134ce1ae6/minimal/src/main.rs#L36

Also, I believe that prune.segments.transaction_lookup = "full" is needed to be set.

Node logs


Platform(s)

No response

Container Type

Not running in a container

What version/commit are you on?

Reth Version: 1.9.3-dev
Commit SHA: 27a8c0f
Build Timestamp: 2025-12-06T10:22:18.787169969Z
Build Features: jemalloc,otlp
Build Profile: debug

What database version are you on?

Current database version: 2
Local database version: 2

Which chain / network are you on?

mainnet

What type of node are you running?

Pruned with custom reth.toml config

What prune config do you use, if any?

prune.segments.sender_recovery = "full"
prune.segments.transaction_lookup = "full"
prune.segments.receipts = { distance = 10064 }
prune.segments.account_history = { distance = 10064 }
prune.segments.storage_history = { distance = 10064 }
prune.segments.bodies_history = { distance = 10064 }
prune.segments.merkle_changesets = { distance = 10064 }

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

Assignees

No one assigned

    Labels

    C-bugAn unexpected or incorrect behaviorS-needs-triageThis issue needs to be labelled

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions