|
15 | 15 | - [My beacon node logs `WARN Error signalling fork choice waiter`, what should I do?](#bn-fork-choice)
|
16 | 16 | - [My beacon node logs `ERRO Aggregate attestation queue full`, what should I do?](#bn-queue-full)
|
17 | 17 | - [My beacon node logs `WARN Failed to finalize deposit cache`, what should I do?](#bn-deposit-cache)
|
| 18 | +- [My beacon node logs `WARN Could not verify blob sidecar for gossip`, what does it mean?](#bn-blob) |
18 | 19 |
|
19 | 20 | ## [Validator](#validator-1)
|
20 | 21 |
|
@@ -214,6 +215,16 @@ This suggests that the computer resources are being overwhelmed. It could be due
|
214 | 215 |
|
215 | 216 | This is a known [bug](https://github.com/sigp/lighthouse/issues/3707) that will fix by itself.
|
216 | 217 |
|
| 218 | +### <a name="bn-blob"></a> My beacon node logs `WARN Could not verify blob sidecar for gossip`, what does it mean? |
| 219 | + |
| 220 | +An example of the full log is shown below: |
| 221 | + |
| 222 | +```text |
| 223 | +Jun 07 23:05:12.170 WARN Could not verify blob sidecar for gossip. Ignoring the blob sidecar, commitment: 0xaa97…6f54, index: 1, root: 0x93b8…c47c, slot: 9248017, error: PastFinalizedSlot { blob_slot: Slot(9248017), finalized_slot: Slot(9248032) }, module: network::network_beacon_processor::gossip_methods:720 |
| 224 | +``` |
| 225 | + |
| 226 | +The `PastFinalizedSlot` indicates that the time at which the node received the blob has past the finalization period. This could be due to a peer sending an earlier blob. The log will be gone when Lighthouse eventually drops the peer. |
| 227 | + |
217 | 228 | ## Validator
|
218 | 229 |
|
219 | 230 | ### <a name="vc-activation"></a> Why does it take so long for a validator to be activated?
|
@@ -327,13 +338,24 @@ The first thing is to ensure both consensus and execution clients are synced wit
|
327 | 338 |
|
328 | 339 | You can see more information on the [Ethstaker KB](https://ethstaker.gitbook.io/ethstaker-knowledge-base/help/missed-attestations).
|
329 | 340 |
|
330 |
| -Another cause for missing attestations is delays during block processing. When this happens, the debug logs will show (debug logs can be found under `$datadir/beacon/logs`): |
| 341 | +Another cause for missing attestations is the block arriving late, or there are delays during block processing. |
| 342 | + |
| 343 | +An example of the log: (debug logs can be found under `$datadir/beacon/logs`): |
331 | 344 |
|
332 | 345 | ```text
|
333 |
| -DEBG Delayed head block set_as_head_delay: Some(93.579425ms), imported_delay: Some(1.460405278s), observed_delay: Some(2.540811921s), block_delay: 4.094796624s, slot: 6837344, proposer_index: 211108, block_root: 0x2c52231c0a5a117401f5231585de8aa5dd963bc7cbc00c544e681342eedd1700, service: beacon |
| 346 | +Delayed head block, set_as_head_time_ms: 27, imported_time_ms: 168, attestable_delay_ms: 4209, available_delay_ms: 4186, execution_time_ms: 201, blob_delay_ms: 3815, observed_delay_ms: 3984, total_delay_ms: 4381, slot: 1886014, proposer_index: 733, block_root: 0xa7390baac88d50f1cbb5ad81691915f6402385a12521a670bbbd4cd5f8bf3934, service: beacon, module: beacon_chain::canonical_head:1441 |
334 | 347 | ```
|
335 | 348 |
|
336 |
| -The fields to look for are `imported_delay > 1s` and `observed_delay < 3s`. The `imported_delay` is how long the node took to process the block. The `imported_delay` of larger than 1 second suggests that there is slowness in processing the block. It could be due to high CPU usage, high I/O disk usage or the clients are doing some background maintenance processes. The `observed_delay` is determined mostly by the proposer and partly by your networking setup (e.g., how long it took for the node to receive the block). The `observed_delay` of less than 3 seconds means that the block is not arriving late from the block proposer. Combining the above, this implies that the validator should have been able to attest to the block, but failed due to slowness in the node processing the block. |
| 349 | +The field to look for is `attestable_delay`, which defines the time when a block is ready for the validator to attest. If the `attestable_delay` is greater than 4s which has past the window of attestation, the attestation wil fail. In the above example, the delay is mostly caused by late block observed by the node, as shown in `observed_delay`. The `observed_delay` is determined mostly by the proposer and partly by your networking setup (e.g., how long it took for the node to receive the block). Ideally, `observed_delay` should be less than 3 seconds. In this example, the validator failed to attest the block due to the block arriving late. |
| 350 | + |
| 351 | +Another example of log: |
| 352 | + |
| 353 | +``` |
| 354 | +DEBG Delayed head block, set_as_head_time_ms: 22, imported_time_ms: 312, attestable_delay_ms: 7052, available_delay_ms: 6874, execution_time_ms: 4694, blob_delay_ms: 2159, observed_delay_ms: 2179, total_delay_ms: 7209, slot: 1885922, proposer_index: 606896, block_root: 0x9966df24d24e722d7133068186f0caa098428696e9f441ac416d0aca70cc0a23, service: beacon, module: beacon_chain::canonical_head:1441 |
| 355 | +/159.69.68.247/tcp/9000, service: libp2p, module: lighthouse_network::service:1811 |
| 356 | +``` |
| 357 | + |
| 358 | +In this example, we see that the `execution_time_ms` is 4694ms. The `execution_time_ms` is how long the node took to process the block. The `execution_time_ms` of larger than 1 second suggests that there is slowness in processing the block. If the `execution_time_ms` is high, it could be due to high CPU usage, high I/O disk usage or the clients are doing some background maintenance processes. |
337 | 359 |
|
338 | 360 | ### <a name="vc-head-vote"></a> Sometimes I miss the attestation head vote, resulting in penalty. Is this normal?
|
339 | 361 |
|
@@ -514,21 +536,23 @@ If you would still like to subscribe to all subnets, you can use the flag `subsc
|
514 | 536 |
|
515 | 537 | ### <a name="net-quic"></a> How to know how many of my peers are connected via QUIC?
|
516 | 538 |
|
517 |
| -With `--metrics` enabled in the beacon node, you can find the number of peers connected via QUIC using: |
| 539 | +With `--metrics` enabled in the beacon node, the [Grafana Network dashboard](https://github.com/sigp/lighthouse-metrics/blob/master/dashboards/Network.json) displays the connected by transport, which will show the number of peers connected via QUIC. |
| 540 | + |
| 541 | +Alternatively, you can find the number of peers connected via QUIC manually using: |
518 | 542 |
|
519 | 543 | ```bash
|
520 |
| - curl -s "http://localhost:5054/metrics" | grep libp2p_quic_peers |
| 544 | + curl -s "http://localhost:5054/metrics" | grep 'transport="quic"' |
521 | 545 | ```
|
522 | 546 |
|
523 | 547 | A response example is:
|
524 | 548 |
|
525 | 549 | ```text
|
526 |
| -# HELP libp2p_quic_peers Count of libp2p peers currently connected via QUIC |
527 |
| -# TYPE libp2p_quic_peers gauge |
528 |
| -libp2p_quic_peers 4 |
| 550 | +libp2p_peers_multi{direction="inbound",transport="quic"} 27 |
| 551 | +libp2p_peers_multi{direction="none",transport="quic"} 0 |
| 552 | +libp2p_peers_multi{direction="outbound",transport="quic"} 9 |
529 | 553 | ```
|
530 | 554 |
|
531 |
| -which shows that there are 4 peers connected via QUIC. |
| 555 | +which shows that there are a total of 36 peers connected via QUIC. |
532 | 556 |
|
533 | 557 | ## Miscellaneous
|
534 | 558 |
|
|
0 commit comments