-
Notifications
You must be signed in to change notification settings - Fork 804
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
[Merged by Bors] - deneb related logging improvements #4859
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Will be super useful to debug slashable blobs on devnet.
bors r+ |
1. Add commitments to logs and update the `Display` implementation of `KzgCommitment` to become truncated similarly to block root. I've been finding it difficult to debug scenarios involving multiple blobs for the same `(index, block_root)`. Logging the commitment will help with this, we can match it to what exists in the block. Example output: ``` Oct 20 21:13:36.700 DEBG Successfully verified gossip blob commitment: 0xa3c1…1cd8, index: 0, root: 0xf31e…f9de, slot: 154568 Oct 20 21:13:36.785 DEBG Successfully verified gossip block commitments: [0xa3c1…1cd8, 0x8655…02ff, 0x8d6a…955a, 0x84ac…3a1b, 0x9752…629b, 0xb9fc…20fb], root: 0xf31eeb732702e429e89057b15e1c0c631e8452e09e03cb1924353f536ef4f9de, slot: 154568, graffiti: teku/besu, service: beacon ``` Example output in a block with no blobs (this will show up pre-deneb): ``` 426734:Oct 20 21:15:24.113 DEBG Successfully verified gossip block, commitments: [], root: 0x619db1360ba0e8d44ae2a0f2450ebca47e167191feecffcfac0e8d7b6c39623c, slot: 154577, graffiti: teku/nethermind, service: beacon, module: beacon_chain::beacon_chain:2765 ``` 2. Remove `strum::IntoStaticStr` from `AvailabilityCheckError`. This is because `IntoStaticStr` end up dropping information inside the enum. So kzg commitments in this error are dropped, making it more difficult to debug ``` AvailabilityCheckError::KzgCommitmentMismatch { blob_commitment: KzgCommitment, block_commitment: KzgCommitment, }, ``` which is output as just `AvailabilityCheckError` 3. Some additional misc sync logs I found useful in debugging #4869 4. This downgrades ”Block returned for single block lookup not present” to debug because I don’t think we can fix the scenario that causes this unless we can cancel inflight rpc requests Co-authored-by: realbigsean <[email protected]>
Build failed: |
bors retry |
1. Add commitments to logs and update the `Display` implementation of `KzgCommitment` to become truncated similarly to block root. I've been finding it difficult to debug scenarios involving multiple blobs for the same `(index, block_root)`. Logging the commitment will help with this, we can match it to what exists in the block. Example output: ``` Oct 20 21:13:36.700 DEBG Successfully verified gossip blob commitment: 0xa3c1…1cd8, index: 0, root: 0xf31e…f9de, slot: 154568 Oct 20 21:13:36.785 DEBG Successfully verified gossip block commitments: [0xa3c1…1cd8, 0x8655…02ff, 0x8d6a…955a, 0x84ac…3a1b, 0x9752…629b, 0xb9fc…20fb], root: 0xf31eeb732702e429e89057b15e1c0c631e8452e09e03cb1924353f536ef4f9de, slot: 154568, graffiti: teku/besu, service: beacon ``` Example output in a block with no blobs (this will show up pre-deneb): ``` 426734:Oct 20 21:15:24.113 DEBG Successfully verified gossip block, commitments: [], root: 0x619db1360ba0e8d44ae2a0f2450ebca47e167191feecffcfac0e8d7b6c39623c, slot: 154577, graffiti: teku/nethermind, service: beacon, module: beacon_chain::beacon_chain:2765 ``` 2. Remove `strum::IntoStaticStr` from `AvailabilityCheckError`. This is because `IntoStaticStr` end up dropping information inside the enum. So kzg commitments in this error are dropped, making it more difficult to debug ``` AvailabilityCheckError::KzgCommitmentMismatch { blob_commitment: KzgCommitment, block_commitment: KzgCommitment, }, ``` which is output as just `AvailabilityCheckError` 3. Some additional misc sync logs I found useful in debugging #4869 4. This downgrades ”Block returned for single block lookup not present” to debug because I don’t think we can fix the scenario that causes this unless we can cancel inflight rpc requests Co-authored-by: realbigsean <[email protected]>
Pull request successfully merged into unstable. Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page.
|
Display
implementation ofKzgCommitment
to become truncated similarly to block root.I've been finding it difficult to debug scenarios involving multiple blobs for the same
(index, block_root)
. Logging the commitment will help with this, we can match it to what exists in the block.Example output:
Example output in a block with no blobs (this will show up pre-deneb):
strum::IntoStaticStr
fromAvailabilityCheckError
. This is becauseIntoStaticStr
end up dropping information inside the enum. So kzg commitments in this error are dropped, making it more difficult to debugwhich is output as just
AvailabilityCheckError
Some additional misc sync logs I found useful in debugging [Merged by Bors] - fix deneb sync bug #4869
This downgrades ”Block returned for single block lookup not present” to debug because I don’t think we can fix the scenario that causes this unless we can cancel inflight rpc requests