Skip to content

chore(deps): [v1.9] integrate greth v2.3.0 (pin bc817c64) - #804

Merged
nekomoto911 merged 3 commits into
Galxe:branch-v1.9from
nekomoto911:chore/integrate-greth-v2.3.0-v1.9
Aug 3, 2026
Merged

chore(deps): [v1.9] integrate greth v2.3.0 (pin bc817c64)#804
nekomoto911 merged 3 commits into
Galxe:branch-v1.9from
nekomoto911:chore/integrate-greth-v2.3.0-v1.9

Conversation

@nekomoto911

Copy link
Copy Markdown
Contributor

Summary

Port of #802 onto branch-v1.9.

Greth pin

Key changes (same as #802)

  1. Deps: greth v2.3.0 pin + lockfile; alloy pins aligned (alloy-primitives 1.6.0, alloy-* 2.0.5); tokio taskdump enabled for gravity_node
  2. CLI: cli.rs / reth_cli.rs adapted to reth v2.3.0 command signatures (Runtime / CliContext) and greth node log defaults / TracingGuards
  3. Prague e2e: set betaTime with pragueTime so greth feat: Implenment core trait #412 EIP-7702 lockdown is released for SetCode txs
  4. Stop LOCK race: wait for real process exit in cluster/stop.sh, cluster/deploy.sh stop templates, and node.py so greth v2.3+ RocksDB LOCK flush after SIGTERM does not race e2e restart

Out of scope (same as #802)

Test plan

- pin greth + reth-primitives-traits patch to Galxe/gravity-reth@bc817c64
  (PR Galxe#414 block-gas last gate at Beta; includes Galxe#413/Galxe#412/Galxe#410)
- align gravity_node alloy to greth v2.3.0 (alloy-primitives 1.6.0, alloy-* 2.0.5)
- enable tokio taskdump (SDK builds with --cfg tokio_unstable)
- adapt cli/reth_cli to reth v2.3.0 command signatures and TracingGuards
- apply greth node log defaults so file logging stays on
greth Galxe#412 fail-closes type-4 packing until Gravity Beta. Without
betaTime the prague suite's SetCode txs never mine (receipt timeout).
Align betaTime with pragueTime so protocol enable and lockdown release
happen on the same wall-clock for this suite.
greth v2.3+ can keep RocksDB LOCK held for several seconds after SIGTERM
while flushing. Generated per-node stop.sh and cluster/stop.sh used to
delete the pid file and return immediately (or after a short wait that
still did not cover kill -9 reaping), so e2e restart raced the lock and
died with "Resource temporarily unavailable" (single_node BATCH_COMMIT
and pfn_chain blackhole phase).

- stop.sh: wait until kill -0 fails after SIGTERM (~30s) and after SIGKILL
- deploy.sh: same wait loop in all three per-node stop templates
- node.stop: capture PID before stop.sh, wait for real process exit

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4837ecf03c

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

deadline = time.monotonic() + timeout
while time.monotonic() < deadline:
try:
os.kill(pid, 0)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Treat zombie node PIDs as stopped

In the e2e restart path (run_docker.shrunner.py/cluster tests → Node.stop()), this wait treats every PID that answers signal 0 as still holding the database lock. On Linux, zombie processes still make os.kill(pid, 0) succeed (validated with a forked child in /proc/.../stat state Z), and the Docker runner starts the suite under bash -c while per-node start.sh backgrounds gravity_node and exits, so a stopped node can be reparented to PID 1 and remain as a zombie even after RocksDB has been released. In that context the new stop path waits out the timeout and returns false, breaking restart/rollback-style tests; consider treating /proc/$pid state Z as gone (and applying the same predicate to the generated stop scripts).

AGENTS.md reference: AGENTS.md:L5-L8

Useful? React with 👍 / 👎.

@nekomoto911
nekomoto911 merged commit c94bdc9 into Galxe:branch-v1.9 Aug 3, 2026
6 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