[Bug Bash] env main doesn't work with Substrate main

Đang mở
#113 2 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@rakyll đang làm issue này rồi.

Từ ngày 27/10/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

Summary

ate-env at main can't create environments on a cluster running current Substrate main.
Every CreateEnvironment fails, so the ate-env bug bash flow stops at step 1. No env branch
currently supports a Substrate newer than ddb46651.

Versions

Component Version
env main @ de462e9 (Go module pinned to Substrate 3a2ca623, 2026-10-16)
Substrate on cluster 834df30e (2026-10-20) — also reproduces with anything at or after a9958d16
Cluster GKE 1.35, gVisor node pool

Steps to reproduce

  1. Install Substrate from main (bug bash Quickstart: Setup + S1).
  2. Build ate-env from main (make images, make build-cli) and deploy:
    ate-env manifest --worker-image <ateworker-gvisor@digest> | kubectl apply -f -
  3. Register the template:
    ate-env manifest template --snapshots-bucket gs://<bucket>/ate-env/ | kubectl ate create actor-template -f -
  4. kubectl port-forward -n ate-env svc/ate-env-api 7777:7777 &
  5. ate-env create alice

Expected

The environment is created.

Actual

Step 3 fails first:

Error: failed to parse actor template manifest "-": proto: (line 1:445): unknown field "sandboxConfig"

With sandboxConfig stripped from the template by hand, step 5 then fails:

ate-env: env: rpc error: code = InvalidArgument desc = ate: creating "alice": rpc error: code = InvalidArgument desc = [actor.actor_template.atespace: Required value, actor.actor_template.name: Required value]

ate-env-api does send the template name and atespace; they arrive empty because the field
numbers no longer match.

Root cause

Two breaking Substrate API changes landed after env's pin (3a2ca623):

  1. substrate#2780 (0443aec3, 2026-10-17): removed ActorTemplate.sandbox_config. ate-api-server
    rejects unknown fields, so env's manifest template output is refused.
  2. substrate#2888 (a9958d16, 2026-10-19): renumbered proto fields consecutively
    ("The binary wire format changes for some messages"). Any client built against an older
    Substrate sends requests whose fields land in the wrong place. Hence the misleading
    Required value errors. That PR also says existing installs need a fresh database.

Current state of the fix

  • Branch bump-substrate-latest (40a6c63) bumps env to Substrate ddb46651 and handles #2780
    (no sandboxConfig). It also adds the ate-env manifest access-policy step that authz now requires.
    It is unmerged, and ddb46651 is before #2888, so it still fails against current Substrate.
  • Verified 10/26: env 40a6c63 + Substrate ddb46651 (fresh install) passes create, write/read,
    shell, MCP, suspend/resume, and --rootfs-image.

Workaround

Pin both sides: install Substrate at ddb46651 (fresh database) and build env from 40a6c63.
The bug bash ate-env tab now documents this pin.

Suggested fix

  1. Bump env's Substrate dependency past a9958d16 (to current main), regenerate, and merge
    (supersedes or extends bump-substrate-latest).
  2. Cut a release. The latest release (v0.0.10, 2026-08-25) predates manifest template, so the README's
    "download the latest release" path doesn't work either.
  3. In the README, state a supported Substrate range (upper bound too), not just "at or after X".
  4. Consider a version handshake or startup check in ate-env-api, so skew fails with
    "Substrate version mismatch" instead of Required value / invalid wire-format data.

Related

  • Delete fails with a GCS 403 on the pinned pair (filing separately).
  • Severity: P0 for the ate-env bug bash (core path broken; only workaround is pinning an older Substrate).
Ngôn ngữ chính
Go
Star
71
Fork
17
Merge trung bình
21 giờ 36 phút
Pull request đã merge (30 ngày)
19

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của agent-substrate/env

Tất cả issue của agent-substrate/env

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.