ChainSafe / ChainSafe/gossamer

CRITICAL runtime error at block production: `Timestamp must be updated once in the block`

Open
#2,995 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
454
Forks
144
PR merge metrics
No merged PRs in 30d

Description

## Issue summary

- While running 3 gossamer nodes all of them connected to each other after 11 blocks produced I saw the following CRITICAL error:

```
CRITICAL target=runtime message=panicked at 'Timestamp must be updated once in the block', /usr/local/cargo/git/checkouts/substrate-7e08433d4c370a21/b0e994c/frame/timestamp/src/lib.rs:179:13 imports.go:L140:ext_logging_log_version_1 pkg=runtime module=go-wasmer

WARN failed to handle slot 278392650: cannot finalise block: running runtime function: Failed to call the `BlockBuilder_finalize_block` exported function. epoch_handler.go:L140 pkg=babe
```

## Other information and links

- I've followed this instructions to ran the 3 gossamer nodes and used the `westend-local` spec
https://github.com/ChainSafe/gossamer#multi-node-development-network

- Related issue already closed: https://github.com/ChainSafe/gossamer/issues/1702

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure using the linked three-node development setup with the westend-local spec. Start with the timestamp panic in substrate's timestamp/src/lib.rs and the Go call sites imports.go:L140 and epoch_handler.go:L140, then verify that block finalization completes without the panic during block production.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, wasm
Domain
blockchain, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.