Skip to content

chore(deps): pin ethermint-cronos with serialized state-diff reads - #10

Merged
littlehand26 merged 2 commits into
mainfrom
fix/statediff-abci-serialize
Aug 7, 2026
Merged

littlehand26 merged 2 commits into
mainfrom
fix/statediff-abci-serialize

Conversation

@littlehand26

@littlehand26 littlehand26 commented Aug 6, 2026 •

Copy link
Copy Markdown
Contributor

Picks up Chaintable/ethermint-cronos#15, merged as 9e21f2ac042e482bf784df7bdbe79a8643eb1d71.

The DeBank state-diff emitter reads the writer's live *iavl.Store from a JSON-RPC goroutine. Without serialization, those reads race block execution on iavl.MutableTree, and block execution can observe stale cached values.

Reproduced end to end

On lihe-dev, production image cronos-writer:v1.7.8-ct.3-rocksdb restored from production seed snapshot snap-0b68938e9a8f624b6, driven by production background-tracer:amd64-v0.1.43 with --process-tip-lag=1:

  • Old image: first wrong Block.Header.AppHash after 3 minutes and the node stopped at H86175310.
  • Fixed image: ran for about 9 hours / 226k blocks with zero AppHash mismatches.

What changes

  • Pins github.com/Chaintable/ethermint-cronos to v0.22.1-0.20260807063213-9e21f2ac042e.
  • Regenerates go.sum and gomod2nix.toml; this also brings the stale CometBFT Nix pin in line with the existing go.mod replacement.

Verification

  • GOWORK=off go mod verify
  • GOWORK=off go build ./...
  • GOWORK=off go test -count=1 ./app ./cmd/cronosd
  • gomod2nix regeneration is stable.

Picks up Chaintable/ethermint-cronos#15, which takes the consensus ABCI
mutex around every state-diff read of the live IAVL store. Without it the
emitter races block execution and the writer forks: reproduced on lihe-dev
with the production v1.7.8-ct.3-rocksdb image, where H86175310 re-credited
a stale fee collector balance left by H86175308.
Signed-off-by: lihe <he.li@debank.com>
@littlehand26
littlehand26 merged commit 63c506f into main Aug 7, 2026
24 of 39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant