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

Finalized state from debug/state API is incorrect on epochs with empty slots in the end #7955

Open
zilm13 opened this issue Feb 6, 2024 · 1 comment · May be fixed by #8782
Open

Finalized state from debug/state API is incorrect on epochs with empty slots in the end #7955

zilm13 opened this issue Feb 6, 2024 · 1 comment · May be fixed by #8782
Labels
bug 🐞 Something isn't working

Comments

@zilm13
Copy link
Contributor

zilm13 commented Feb 6, 2024

Description

We return finalizedAnchor in debug/state API, though if this state is associated with block which is not the last in finalized epoch, finalized state should be transitioned through empty slots to the end of the epoch. It sounds logical for this kind of id and state API endpoint and is default behavior of the other clients.

@rolfyone rolfyone added the bug 🐞 Something isn't working label Feb 6, 2024
@zilm13 zilm13 self-assigned this Feb 9, 2024
@gfukushima gfukushima assigned gfukushima and unassigned zilm13 Oct 20, 2024
@gfukushima
Copy link
Contributor

gfukushima commented Oct 21, 2024

I have tried to replicate this with Kurtosis and we're reporting the same the same state as lighthouse.

Managed to get an empty slot on the last slot of the epoch.

Logs from Lighthouse:

2024-10-21 14:41:14 Oct 21 04:41:14.000 INFO Synced                                  slot: 351, block:    …  empty, epoch: 10, finalized_epoch: 8, finalized_root: 0xdcca…9ac0, exec_hash: 0xa4dd…3578 (verified), peers: 1, service: slot_notifier
2024-10-21 14:41:14 Oct 21 04:41:14.000 INFO Ready for Electra                       info: ensure the execution endpoint is updated to the latest Electra/Prague release, service: slot_notifier
2024-10-21 14:41:20 Oct 21 04:41:20.001 INFO Prepared beacon proposer                parent_root: 0x511ff680ea5cf3d0fd292adc146c7b834cd231d0858f1c0adc3713b0b946f489, validator: 42, prepare_slot: 353, service: beacon
2024-10-21 14:41:20 Oct 21 04:41:20.003 ERRO No valid eth1_data votes, `votes_to_consider` empty, outcome: casting `state.eth1_data` as eth1 vote, genesis_time: 1729481456, earliest_block_timestamp: 1729481436, lowest_block_number: 0, service: deposit_contract_rpc
2024-10-21 14:41:20 Oct 21 04:41:20.016 INFO Signed block published to network via HTTP API, publish_delay_ms: 0, slot: 352
2024-10-21 14:41:20 Oct 21 04:41:20.025 INFO Valid block from HTTP API               slot: 352, proposer_index: 43, root: 0x8d9b…bacf, block_delay: 15.60722ms
2024-10-21 14:41:20 Oct 21 04:41:20.030 INFO Prepared beacon proposer                parent_root: 0x8d9bddf9f5cb3104f2e6004b809b416827b281be3814d7814bc5d5a76cfdbacf, validator: 42, prepare_slot: 353, service: beacon
2024-10-21 14:41:26 Oct 21 04:41:26.000 WARN Low peer count                          peer_count: 1, service: slot_notifier
2024-10-21 14:41:26 Oct 21 04:41:26.000 INFO Synced                                  slot: 352, block: 0x8d9b…bacf, epoch: 11, finalized_epoch: 9, finalized_root: 0x6a16…a0e9, exec_hash: 0xa379…3993 (verified), peers: 1, service: slot_notifier

Logs from Teku:

2024-10-21 14:41:12 2024-10-21 04:41:12.001 INFO  - Slot Event  *** Slot: 351, Block:                                                        ... empty, Justified: 9, Finalized: 8, Peers: 1
2024-10-21 14:41:12 2024-10-21 04:41:12.014 INFO  - Validator   *** Published sync_signature     Count: 32, Slot: 351, Root: 60a0ab7bade704755f58c5f9c79c9a6649fb70cab168bd9a50c8d15db05cf5f0
2024-10-21 14:41:12 2024-10-21 04:41:12.018 INFO  - Validator   *** Published attestation        Count: 1, Slot: 351, Root: 60a0ab7bade704755f58c5f9c79c9a6649fb70cab168bd9a50c8d15db05cf5f0
2024-10-21 14:41:15 2024-10-21 04:41:15.153 INFO  - Retrying execution of block 511ff680ea5cf3d0fd292adc146c7b834cd231d0858f1c0adc3713b0b946f489 (350)
2024-10-21 14:41:15 2024-10-21 04:41:15.192 INFO  - Execution Client is responding to requests again after a previous failure
2024-10-21 14:41:16 2024-10-21 04:41:16.035 INFO  - Validator   *** Published aggregate          Count: 1, Slot: 351, Root: 60a0ab7bade704755f58c5f9c79c9a6649fb70cab168bd9a50c8d15db05cf5f0
2024-10-21 14:41:16 2024-10-21 04:41:16.059 INFO  - Validator   *** Published sync_contribution  Count: 18, Slot: 351, Root: 60a0ab7bade704755f58c5f9c79c9a6649fb70cab168bd9a50c8d15db05cf5f0
2024-10-21 14:41:20 2024-10-21 04:41:20.005 INFO  - Epoch Event *** Epoch: 11, Justified checkpoint: 10, Finalized checkpoint: 9, Finalized root: 6a166860d99cf7a8b623e713bf1f06848011e41adace5cdf05cb296334bda0e9
2024-10-21 14:41:20 2024-10-21 04:41:20.006 INFO  - Block performance: epoch 10, expected 16, produced 15, included 15 (100%)
2024-10-21 14:41:20 2024-10-21 04:41:20.006 INFO  - Sync committee performance: epoch 10, expected 8192, produced 8192, correct 7936, included 7936 (97%)
2024-10-21 14:41:20 2024-10-21 04:41:20.039 INFO  - Attestation performance: epoch 9, expected 32, produced 32, included 32 (100%), distance 1 / 1.00 / 1, correct target 32 (100%), correct head 32 (100%)
2024-10-21 14:41:20 2024-10-21 04:41:20.042 WARN  - Failed to publish attestation(s) for slot 352 because no peers were available on the required gossip topic
2024-10-21 14:41:20 2024-10-21 04:41:20.042 INFO  - Validator   *** Published attestation        Count: 2, Slot: 352, Root: 8d9bddf9f5cb3104f2e6004b809b416827b281be3814d7814bc5d5a76cfdbacf
2024-10-21 14:41:20 2024-10-21 04:41:20.043 INFO  - Validator   *** Published sync_signature     Count: 32, Slot: 352, Root: 8d9bddf9f5cb3104f2e6004b809b416827b281be3814d7814bc5d5a76cfdbacf
2024-10-21 14:41:24 2024-10-21 04:41:24.001 INFO  - Slot Event  *** Slot: 352, Block: 8d9bddf9f5cb3104f2e6004b809b416827b281be3814d7814bc5d5a76cfdbacf, Justified: 10, Finalized: 9, Peers: 1

When calling the endpoint /eth/v2/debug/beacon/states/finalized I get this from Lighthouse and this from Teku, which present no difference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐞 Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants