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

Checkpointz v0.18.0 requires "Eth-Consensus-Version" header #6124

Closed
nflaig opened this issue Nov 23, 2023 · 2 comments · Fixed by #6152
Closed

Checkpointz v0.18.0 requires "Eth-Consensus-Version" header #6124

nflaig opened this issue Nov 23, 2023 · 2 comments · Fixed by #6152
Labels
meta-bug Issues that identify a bug and require a fix.
Milestone

Comments

@nflaig
Copy link
Member

nflaig commented Nov 23, 2023

Describe the bug

Latest version of checkpointz requires Eth-Consensus-Version header to be set in eth/v2/debug/beacon/states/{state_id} response.

Checkpointz errors

time="2023-11-15T14:48:17Z" level=error msg="No longer attempting to download historical block - too many failures" failure_count=5 module=beacon/default slot=346240
time="2023-11-15T14:48:29Z" level=error msg="Failed to check for genesis" error="failed to request signed beacon block: failed to parse consensus version: no consensus version header" module=beacon/default
time="2023-11-15T14:48:32Z" level=error msg="Failed to check for new serving checkpoint" error="failed to request signed beacon block: failed to parse consensus version: no consensus version header" module=beacon/default
time="2023-11-15T14:48:44Z" level=error msg="Failed to check for genesis" error="failed to request signed beacon block: failed to parse consensus version: no consensus version header" module=beacon/default
time="2023-11-15T14:48:59Z" level=error msg="Failed to check for genesis" error="failed to request signed beacon block: failed to parse consensus version: no consensus version header" module=beacon/default
time="2023-11-15T14:49:03Z" level=error msg="Failed to check for new serving checkpoint" error="failed to request signed beacon block: failed to parse consensus version: no consensus version header" module=beacon/default
time="2023-11-15T14:49:14Z" level=error msg="Failed to check for genesis" error="failed to request signed beacon block: failed to parse consensus version: no consensus version header" module=beacon/default
2023/11/15 14:49:19 http: panic serving 51.159.85.94:21844: runtime error: invalid memory address or nil pointer dereference
goroutine 692 [running]:
net/http.(*conn).serve.func1()

Due to this issue we cannot upgrade the checkpoint sync providers to the latest version.

Expected behavior

Eth-Consensus-Version header should be set

Steps to reproduce

No response

Additional context

Related discussion with devops team

Operating system

Linux

Lodestar version or commit hash

v1.12.0

@pk910
Copy link

pk910 commented Dec 1, 2023

Please fix this issue before pushing a new release :)

Lodestar didn't serve SSZ responses earlier, which worked fine with go-eth2-client.
Lodestar now serves SSZ responses, but misses the Eth-Consensus-Version header, which is actually worse than not serving SSZ at all.
Subsequent libraries like go-eth2-client now fail for all endpoints that support SSZ as they do not know how to decode SSZ encoded stuff without the proper version information.

@nflaig
Copy link
Member Author

nflaig commented Dec 2, 2023

Please fix this issue before pushing a new release :)

We have a fix ready for it and might already include that in a hotfix release as this affects quite a lot of users.

@philknows philknows added this to the v1.12.1 milestone Dec 5, 2023
@nflaig nflaig modified the milestones: v1.12.1, v1.13.0 Dec 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta-bug Issues that identify a bug and require a fix.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants