Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

op-reth: import receipts issue #9627

Closed
argakiig opened this issue Jul 18, 2024 · 3 comments · Fixed by #9769
Closed

op-reth: import receipts issue #9627

argakiig opened this issue Jul 18, 2024 · 3 comments · Fixed by #9769
Assignees
Labels
A-op-reth Related to Optimism and op-reth C-bug An unexpected or incorrect behavior

Comments

@argakiig
Copy link
Contributor

Describe the bug

v1.0.0 is able to import blocks but fails on importing receipts

op-reth import-receipts-op --datadir=/data /data/artifacts/receipts.rlp --chain=optimism
2024-07-18T18:13:40.384976Z  INFO Initialized tracing, debug log directory: /root/.cache/reth/logs/optimism
2024-07-18T18:13:40.390848Z  INFO reth 1.0.0-dev (83d412da7) starting
2024-07-18T18:13:40.400622Z  INFO Opening storage db_path="/data/db" sf_path="/data/static_files"
2024-07-18T18:13:40.650732Z  INFO Verifying storage consistency.
2024-07-18T18:13:46.415034Z  INFO Importing receipt file chunk first_receipts_block=0 total_receipts_chunk=1124594
Error: trying to append data to Receipts as block #0 but expected block #1

Location:
    /app/bin/reth/src/commands/import_receipts_op.rs:151:9

Steps to reproduce

Following the Guide from https://reth.rs/run/sync-op-mainnet.html
I first downloaded the bedrock data using the link in the docs
I downloaded and ran https://github.com/testinprod-io/op-geth/blob/pcw109550/bedrock-db-migration/migrate.sh with the following arguments 105235063 /data /data/artifacts to export the bedrock data
Initially I tried to import blocks using v1.0.2 but that failed, I am openning another ticket for that
I reverted back to v1.0.0 and was able to import blocks
upon attempting to import receipts

Node logs

2024-07-18T18:32:11.757749Z  INFO Initialized tracing, debug log directory: /data/log/optimism
2024-07-18T18:32:11.760620Z  INFO reth 1.0.0-dev (83d412da7) starting
2024-07-18T18:32:11.761542Z  INFO Opening storage db_path="/data/db" sf_path="/data/static_files"
2024-07-18T18:32:11.949484Z  INFO Verifying storage consistency.
2024-07-18T18:32:15.402124Z  INFO Importing receipt file chunk first_receipts_block=0 total_receipts_chunk=1124594
Error: trying to append data to Receipts as block #0 but expected block #1

Location:
    /app/bin/reth/src/commands/import_receipts_op.rs:151:9
root@0146c804e2f8:/app# cat /data/log/optimism/reth.log
2024-07-18T18:32:11.757806Z  INFO reth::cli: Initialized tracing, debug log directory: /data/log/optimism
2024-07-18T18:32:11.760671Z  INFO reth::cli: reth 1.0.0-dev (83d412da7) starting
2024-07-18T18:32:11.760692Z DEBUG reth::cli: Chunking receipts import chunk_byte_len=1000000000
2024-07-18T18:32:11.761564Z  INFO reth::cli: Opening storage db_path="/data/db" sf_path="/data/static_files"
2024-07-18T18:32:11.949508Z  INFO reth::cli: Verifying storage consistency.
2024-07-18T18:32:11.992187Z DEBUG reth::cli: Initializing genesis chain=optimism genesis=0x7ca38a1916c42007829c55e69d3e9a73265554b586a499015373241b8a3fa48b
2024-07-18T18:32:11.992285Z DEBUG reth_db_common::init: Genesis already written, skipping.
2024-07-18T18:32:13.143251Z DEBUG downloaders::file: new bytes were read from file max_chunk_byte_len=1000000000 prev_read_bytes_len=0 new_read_bytes_target_len=1000000000 new_read_bytes_len=1000000000 next_chunk_byte_len=1000000000 remaining_file_byte_len=184491441548
2024-07-18T18:32:15.403275Z  INFO reth::cli: Importing receipt file chunk first_receipts_block=0 total_receipts_chunk=11245


### Platform(s)

Linux (x86)

### What version/commit are you on?

v1.0.0-v1.0.2 83d412da7 d5993937 ffb44e62

### What database version are you on?

2

### Which chain / network are you on?

optimism

### What type of node are you running?

Archive (default)

### What prune config do you use, if any?

n/a

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

cargo build --profile max-perf --features jemalloc,asm-keccak,optimism --locked --bin op-reth

### Code of Conduct

- [X] I agree to follow the Code of Conduct
@argakiig argakiig added C-bug An unexpected or incorrect behavior S-needs-triage This issue needs to be labelled labels Jul 18, 2024
@emhane
Copy link
Member

emhane commented Jul 23, 2024

are you importing receipts on top of blocks? did you run any commands in-between the block and receipt import?

@argakiig
Copy link
Contributor Author

no commands run in between,
import blocks using op-reth versions between beta8 and 1.0.0-> success
import receipts fails using any version up to 1.0.3 supporting the import-receipts-op command with the above error

@emhane
Copy link
Member

emhane commented Jul 24, 2024

alright, @Rjected do you have the fix you made for this easily accessible? the one where you check if first block number is 1 and if so insert and empty vec of receipts at start of chunk - otherwise I will try and recycle the commit from past prs.

@emhane emhane added A-op-reth Related to Optimism and op-reth and removed S-needs-triage This issue needs to be labelled labels Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-op-reth Related to Optimism and op-reth C-bug An unexpected or incorrect behavior
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants