-
Notifications
You must be signed in to change notification settings - Fork 261
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
publishBlockV2 fails gossip validation for valid block #6205
Comments
This issue should be fixed in |
When the fix from EDIT: we tested Nimbus BN with kurtosis for all combinations of VCs (various vendors) and this failed for them all. |
In theory, it's in https://github.com/status-im/nimbus-eth2/releases/tag/v24.5.1 as #6261 Is what you're seeing specifically still this issue or another cause of failure? |
gave this another try using |
The specific errors we saw is similar (if not identical) to the origin description:
We (at Obol) use Nimbus in mainnet with no issues. Therefore we concluded the issue above is related to Kurtosis. We intensively use Kurtosis for testing our product (Charon DV) compatibility against various BN/VC combinations from different vendors. Other vendors (Lighthouse, Teku, Lodestar, Prysm) work just fine, but not Nimbus. Therefore we suspect a bug in Nimbus that only affects Kurtosis environment in some way. I was trying to build the mentioned
And docker says the builder image is running as AMD64 under Rosetta. I quickly checked the build script and did not find any obvious switches to change this behavior. I also tried to build AMD64 target platform but not successful, having the same errors. |
Did some more testing, if I force Lodestar to use JSON body to submit the block to participants:
- el_type: geth
el_image: ethereum/client-go:stable
cl_type: lodestar
cl_image: nflaig/lodestar:ssz-api-json-publish
vc_type: nimbus
vc_image: statusim/nimbus-validator-client:amd64-latest
count: 2
- el_type: geth
el_image: ethereum/client-go:stable
cl_type: nimbus
cl_image: statusim/nimbus-eth2:amd64-latest
vc_type: lodestar
vc_image: nflaig/lodestar:ssz-api-json-publish
count: 2
# ... Running this setup, passed block production assertions, the chain finalized and no missed proposals. |
Great, I just did the same for our Charon DV by setting https://github.com/attestantio/go-eth2-client/blob/e02b07f2405232b26018a50a25d9fcd9ed75c205/http/parameters.go#L100 (because we use |
Lodestar works with all clients now on `unstable` branch(es). There is just one exception which is related to publishing blocks to Nimbus BN but that's an issue with all other VCs as well and seems to be only happening when running via kurtosis as confirmed here status-im/nimbus-eth2#6205 (comment). This issue can be solved though by forcing Lodestar to publish blocks as JSON, see #664 (comment). The kurtosis config I was using ```yaml participants: # Lighthouse - el_type: geth el_image: ethereum/client-go:stable cl_type: lodestar cl_image: chainsafe/lodestar:next vc_type: lighthouse vc_image: sigp/lighthouse:latest count: 1 - el_type: geth el_image: ethereum/client-go:stable cl_type: lighthouse cl_image: sigp/lighthouse:latest vc_type: lodestar vc_image: chainsafe/lodestar:next count: 1 # Teku - el_type: geth el_image: ethereum/client-go:stable cl_type: lodestar cl_image: chainsafe/lodestar:next vc_type: teku vc_image: consensys/teku:latest count: 1 - el_type: geth el_image: ethereum/client-go:stable cl_type: teku cl_image: consensys/teku:latest vc_type: lodestar vc_image: chainsafe/lodestar:next count: 1 # Nimbus - el_type: geth el_image: ethereum/client-go:stable cl_type: lodestar cl_image: chainsafe/lodestar:next vc_type: nimbus vc_image: statusim/nimbus-validator-client:amd64-latest vc_extra_params: - --doppelganger-detection=off count: 1 - el_type: geth el_image: ethereum/client-go:stable cl_type: nimbus cl_image: statusim/nimbus-eth2:amd64-latest vc_type: lodestar vc_image: chainsafe/lodestar:next vc_extra_params: - --http.requestWireFormat=json count: 1 # Grandine - el_type: geth el_image: ethereum/client-go:stable cl_type: grandine cl_image: sifrai/grandine:stable vc_type: lodestar vc_image: chainsafe/lodestar:next # Prysm - el_type: geth el_image: ethereum/client-go:stable cl_type: lodestar cl_image: nflaig/lodestar:ignore-empty-statuses vc_type: prysm # vc_image: gcr.io/prysmaticlabs/prysm/validator:latest vc_image: ethpandaops/prysm-validator:develop-dfe31c9 count: 1 - el_type: geth el_image: ethereum/client-go:stable cl_type: prysm # cl_image: gcr.io/prysmaticlabs/prysm/beacon-chain:latest cl_image: ethpandaops/prysm-beacon-chain:develop-dfe31c9 vc_type: lodestar vc_image: chainsafe/lodestar:next count: 1 # Lodestar stable - el_type: geth el_image: ethereum/client-go:stable cl_type: lodestar cl_image: chainsafe/lodestar:next vc_type: lodestar vc_image: chainsafe/lodestar:latest count: 1 - el_type: geth el_image: ethereum/client-go:stable cl_type: lodestar cl_image: chainsafe/lodestar:latest vc_type: lodestar vc_image: chainsafe/lodestar:next count: 1 # Lodestar ssz - el_type: geth el_image: ethereum/client-go:stable cl_type: lodestar cl_image: chainsafe/lodestar:next vc_type: lodestar vc_image: chainsafe/lodestar:next vc_extra_params: - --http.requestWireFormat=ssz count: 1 - el_type: geth el_image: ethereum/client-go:stable cl_type: lodestar cl_image: chainsafe/lodestar:next vc_type: lodestar vc_image: chainsafe/lodestar:next count: 1 network_params: genesis_delay: 120 num_validator_keys_per_node: 64 launch_additional_services: true additional_services: - assertoor - dora snooper_enabled: false disable_peer_scoring: true assertoor_params: image: "ethpandaops/assertoor:master" run_stability_check: false run_block_proposal_check: false tests: - https://raw.githubusercontent.com/ethpandaops/assertoor-test/2a45f2f78dd2c336ac99bf15e61edc076f15ce67/assertoor-tests/block-proposal-check.yaml ``` --------- Co-authored-by: pk910 <github@pk910.de>
Describe the bug
I am testing Nimbus BN with Lodestar VC on Kurtosis. The previous issue (#6176) is now fixed on unstable branch (c5f04dd) but there is another issue during block publishing which only happens with Nimbus from
unstable
branch, but works onstable
branch.This is the error logged on the Nimbus BN
From the looks of it, it seems like the block is failing gossip validation, the publish request done by Lodestar looks like this
And the response from Nimbus BN
To Reproduce
Steps to reproduce the behavior:
Kurtosis config file
Additional context
The issue seems to be related to
publishBlockV2
only, forcing Lodestar VC to usepublishBlock
(v1) resolves the issue.The text was updated successfully, but these errors were encountered: