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

Exexes crashes due to failing canonical chain check when syncing host node from scratch #13917

Open
1 task done
Evalir opened this issue Jan 22, 2025 · 3 comments · May be fixed by #14001
Open
1 task done

Exexes crashes due to failing canonical chain check when syncing host node from scratch #13917

Evalir opened this issue Jan 22, 2025 · 3 comments · May be fixed by #14001
Labels
A-exex Execution Extensions C-bug An unexpected or incorrect behavior

Comments

@Evalir
Copy link
Collaborator

Evalir commented Jan 22, 2025

Describe the bug

When an exex which has “persistence” (can, on boot, set the exexhead to a particular block) is used on a host node that is syncing from scratch, the exex will fail the canonical chain check due to the provider returning 0 when syncing. This then leads to the exex crashing, as it can't find the committed notification for the block hash requested from the WAL.

Steps to reproduce

This issue is not straightforward to reproduce quickly, but the steps are:

  • Start with a reth node that needs to sync fully from scratch.
  • Make an exex that sets its head to an arbitrary block.
  • Boot up the reth node with the exex enabled, let it sync.
  • After a while, the exex will boot up, set the head, and perform the canonical chain check. It will fail, and crash after.

Node logs


Platform(s)

Linux (x86), Linux (ARM)

Container Type

Kubernetes

What version/commit are you on?

Reth 1.1.1.

What database version are you on?

2

Which chain / network are you on?

Holesky

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

No response

Code of Conduct

  • I agree to follow the Code of Conduct
@Evalir Evalir added C-bug An unexpected or incorrect behavior S-needs-triage This issue needs to be labelled labels Jan 22, 2025
@emhane emhane added A-exex Execution Extensions and removed S-needs-triage This issue needs to be labelled labels Jan 24, 2025
@emhane
Copy link
Member

emhane commented Jan 24, 2025

could this have to do with #13940 @klkvr @shekhirin ?

@mattsse
Copy link
Collaborator

mattsse commented Jan 27, 2025

@Evalir just to clarify, this happens if the exexhead is ahead of the host's head at launch.

e.g. resync host: 0, exex_with_head(10)

@mattsse mattsse linked a pull request Jan 27, 2025 that will close this issue
@Evalir
Copy link
Collaborator Author

Evalir commented Jan 28, 2025

yep @mattsse that is correct!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-exex Execution Extensions C-bug An unexpected or incorrect behavior
Projects
Status: Todo
Development

Successfully merging a pull request may close this issue.

3 participants