Skip to content

[Bug]: Error Unbound variable when initializing on docker via macos #2930

@warrenronsiek

Description

@warrenronsiek

Summary

./bootstrap.sh --docker fails in a fresh environment

Affected component

runtime/daemon

Severity

S1 - workflow blocked

Current behavior

I clone the repo onto a MacOS system, cd into the repo, and run ./bootstrap.sh --docker.

The command exits with:

/Users/_/Projects/zeroclaw/scripts/bootstrap.sh: line 710: container_run_namespace_args[@]: unbound variable

Possibly related to:
#1990
#1950

Expected behavior

The onboarding should not exit.

Steps to reproduce

1. git clone https://github.com/zeroclaw-labs/zeroclaw.git
2. cd zeroclaw
3. ./bootstrap.sh --docker

Impact

Affected users: everyone who is initializing the zeroclaw on a mac via docker.
How often: first time users
Consequences: MacOS users cannot use docker initialization

Logs / stack traces

./bootstrap.sh --docker                                                                                                                                                                               13:47:42
==> ZeroClaw bootstrap
    workspace: /Users/_/Projects/zeroclaw
==> Building Docker image (zeroclaw-bootstrap:local)
[+] Building 211.9s (30/30) FINISHED                                                                                                                                                                                   docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                                                                                                                   0.0s
 => => transferring dockerfile: 5.12kB                                                                                                                                                                                                 0.0s
 => resolve image config for docker-image://docker.io/docker/dockerfile:1.7                                                                                                                                                            0.6s
 => [auth] docker/dockerfile:pull token for registry-1.docker.io                                                                                                                                                                       0.0s
 => CACHED docker-image://docker.io/docker/dockerfile:1.7@sha256:a57df69d0ea827fb7266491f2813635de6f17269be881f696fbfdf2d83dda33e                                                                                                      0.0s
 => [internal] load metadata for gcr.io/distroless/cc-debian13:nonroot@sha256:84fcd3c223b144b0cb6edc5ecc75641819842a9679a3a58fd6294bec47532bf7                                                                                         1.1s
 => [internal] load metadata for docker.io/library/rust:1.93-slim@sha256:9663b80a1621253d30b146454f903de48f0af925c967be48c84745537cd35d8b                                                                                              0.7s
 => [auth] library/rust:pull token for registry-1.docker.io                                                                                                                                                                            0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                      0.0s
 => => transferring context: 887B                                                                                                                                                                                                      0.0s
 => [builder  1/16] FROM docker.io/library/rust:1.93-slim@sha256:9663b80a1621253d30b146454f903de48f0af925c967be48c84745537cd35d8b                                                                                                     13.0s
 => => resolve docker.io/library/rust:1.93-slim@sha256:9663b80a1621253d30b146454f903de48f0af925c967be48c84745537cd35d8b                                                                                                                0.0s
 => => sha256:9663b80a1621253d30b146454f903de48f0af925c967be48c84745537cd35d8b 9.04kB / 9.04kB                                                                                                                                         0.0s
 => => sha256:c47289b20545e73125fb0dd9d543e51004b171d7a31d5a9b85911724b23676d8 1.36kB / 1.36kB                                                                                                                                         0.0s
 => => sha256:ddf4488cfa6ca7531821a478145580743184bf05a0c96394ec3a30d2c46f8775 3.47kB / 3.47kB                                                                                                                                         0.0s
 => => sha256:3ea009573b472d108af9af31ec35a06fe3649084f6611cf11f7d594b85cf7a7c 30.14MB / 30.14MB                                                                                                                                       3.2s
 => => sha256:82b3e85c8c44b9139f735573c4af87fcdd4ad480495aa926f30a5569cb28dc89 249.89MB / 249.89MB                                                                                                                                     9.7s
 => => extracting sha256:3ea009573b472d108af9af31ec35a06fe3649084f6611cf11f7d594b85cf7a7c                                                                                                                                              0.7s
 => => extracting sha256:82b3e85c8c44b9139f735573c4af87fcdd4ad480495aa926f30a5569cb28dc89                                                                                                                                              2.9s
 => [internal] load build context                                                                                                                                                                                                      0.1s
 => => transferring context: 6.24MB                                                                                                                                                                                                    0.1s
 => [release 1/4] FROM gcr.io/distroless/cc-debian13:nonroot@sha256:84fcd3c223b144b0cb6edc5ecc75641819842a9679a3a58fd6294bec47532bf7                                                                                                   2.1s
 => => resolve gcr.io/distroless/cc-debian13:nonroot@sha256:84fcd3c223b144b0cb6edc5ecc75641819842a9679a3a58fd6294bec47532bf7                                                                                                           0.0s
 => => sha256:f9ee21fac35880efbb35931b70e89f77a97969eb9e6c32028e33697857ff11e8 4.08kB / 4.08kB                                                                                                                                         0.0s
 => => sha256:5c5da034ed6eaceaf3dc663a45525291ee14f5323f113dd38a727160d5ca3a0d 4.39kB / 4.39kB                                                                                                                                         0.0s
 => => sha256:84fcd3c223b144b0cb6edc5ecc75641819842a9679a3a58fd6294bec47532bf7 1.51kB / 1.51kB                                                                                                                                         0.0s
 => => sha256:896a196ba7ee8833338bbd0d31bdc0038fb3760166d62db692509ad19f3283b5 85.81kB / 85.81kB                                                                                                                                       0.3s
 => => sha256:c172f21841dff4c8cf45cde46589c1c2616cefe7e819965e92e6d3475c428aa0 12.68kB / 12.68kB                                                                                                                                       0.3s
 => => sha256:3a6a574b42214aa7528df22d35b2a2abfbe8bfac07c5c27299d5bf5dd59fe15e 284.35kB / 284.35kB                                                                                                                                     0.5s
 => => sha256:d6b1b89eccacc15c2420b2776d72c1dae334a00805ed9af54bf2f71e4d536f28 32.09kB / 32.09kB                                                                                                                                       0.5s
 => => extracting sha256:896a196ba7ee8833338bbd0d31bdc0038fb3760166d62db692509ad19f3283b5                                                                                                                                              0.0s
 => => extracting sha256:c172f21841dff4c8cf45cde46589c1c2616cefe7e819965e92e6d3475c428aa0                                                                                                                                              0.0s
 => => sha256:2780920e5dbfbe103d03a583ed75345306e572ec5a48cb10361f046767d9f29a 67B / 67B                                                                                                                                               0.5s
 => => extracting sha256:3a6a574b42214aa7528df22d35b2a2abfbe8bfac07c5c27299d5bf5dd59fe15e                                                                                                                                              0.0s
 => => sha256:7c12895b777bcaa8ccae0605b4de635b68fc32d60fa08f421dc3818bf55ee212 188B / 188B                                                                                                                                             0.6s
 => => extracting sha256:d6b1b89eccacc15c2420b2776d72c1dae334a00805ed9af54bf2f71e4d536f28                                                                                                                                              0.0s
 => => extracting sha256:2780920e5dbfbe103d03a583ed75345306e572ec5a48cb10361f046767d9f29a                                                                                                                                              0.0s
 => => sha256:52630fc75a18675c530ed9eba5f55eca09b03e91bd5bc15307918bbc1a7e7296 162B / 162B                                                                                                                                             0.7s
 => => sha256:3214acf345c0cc6bbdb56b698a41ccdefc624a09d6beb0d38b5de0b2303ecaf4 123B / 123B                                                                                                                                             0.7s
 => => extracting sha256:7c12895b777bcaa8ccae0605b4de635b68fc32d60fa08f421dc3818bf55ee212                                                                                                                                              0.0s
 => => extracting sha256:3214acf345c0cc6bbdb56b698a41ccdefc624a09d6beb0d38b5de0b2303ecaf4                                                                                                                                              0.0s
 => => extracting sha256:52630fc75a18675c530ed9eba5f55eca09b03e91bd5bc15307918bbc1a7e7296                                                                                                                                              0.0s
 => => sha256:b839dfae01f66e15c6a8b63520557ed315bdfe036342fa7a0c537259f10d7a9a 351B / 351B                                                                                                                                             0.8s
 => => sha256:dd64bf2dd177757451a98fcdc999a339c35dee5d9872d8f4dc69c8f3c4dd0112 80B / 80B                                                                                                                                               0.8s
 => => sha256:ebddc55facdc6b1f7e0f30816a5fc7cc62f38abdf76c0a8b0a0ce52085754795 311B / 311B                                                                                                                                             1.0s
 => => extracting sha256:dd64bf2dd177757451a98fcdc999a339c35dee5d9872d8f4dc69c8f3c4dd0112                                                                                                                                              0.0s
 => => extracting sha256:b839dfae01f66e15c6a8b63520557ed315bdfe036342fa7a0c537259f10d7a9a                                                                                                                                              0.0s
 => => sha256:0d7ab412c19f56e0c0f5febfa439d8018e307907797996b8f3fe10a9f1986492 5.14MB / 5.14MB                                                                                                                                         1.4s
 => => sha256:bdfd7f7e5bf6fc27e70b59101db21c3d8284d283884419dd5fe7020583bb79ca 136.99kB / 136.99kB                                                                                                                                     1.0s
 => => extracting sha256:ebddc55facdc6b1f7e0f30816a5fc7cc62f38abdf76c0a8b0a0ce52085754795                                                                                                                                              0.0s
 => => sha256:3a298f7bd583d6b19730160c0207acf0b111c90d8341484208d910cff6442a53 3.40MB / 3.40MB                                                                                                                                         1.5s
 => => extracting sha256:bdfd7f7e5bf6fc27e70b59101db21c3d8284d283884419dd5fe7020583bb79ca                                                                                                                                              0.0s
 => => sha256:52b2cf548ae5e56fa607ae06498752a8ed05fb4ce56128e90b2380945552c54b 346.96kB / 346.96kB                                                                                                                                     1.4s
 => => sha256:8072b5a0f7957662b5097bbaec05c482fb580118820d83849421d879854b12be 95.47kB / 95.47kB                                                                                                                                       1.6s
 => => extracting sha256:0d7ab412c19f56e0c0f5febfa439d8018e307907797996b8f3fe10a9f1986492                                                                                                                                              0.1s
 => => sha256:77d3479ca1b97dd6df1f9324298c7813520a9b09a961564ba9196f648803ee5a 153.76kB / 153.76kB                                                                                                                                     1.7s
 => => extracting sha256:3a298f7bd583d6b19730160c0207acf0b111c90d8341484208d910cff6442a53                                                                                                                                              0.0s
 => => extracting sha256:52b2cf548ae5e56fa607ae06498752a8ed05fb4ce56128e90b2380945552c54b                                                                                                                                              0.0s
 => => sha256:35d8e5f294cf94c1f251ca338d7558e62e820d945ff4603833cdfaed4abc7ccf 846.49kB / 846.49kB                                                                                                                                     1.9s
 => => extracting sha256:8072b5a0f7957662b5097bbaec05c482fb580118820d83849421d879854b12be                                                                                                                                              0.0s
 => => extracting sha256:77d3479ca1b97dd6df1f9324298c7813520a9b09a961564ba9196f648803ee5a                                                                                                                                              0.0s
 => => sha256:ff43311d121db6d09786fed4a9233aadcf961479170e9da96f21ee71a6fce1dd 66.14kB / 66.14kB                                                                                                                                       2.0s
 => => sha256:278aecde295e501a4fd778a510306c47ff8862395c98a7bbb9f2cc41d2c89e64 51.55kB / 51.55kB                                                                                                                                       2.0s
 => => extracting sha256:35d8e5f294cf94c1f251ca338d7558e62e820d945ff4603833cdfaed4abc7ccf                                                                                                                                              0.0s
 => => extracting sha256:ff43311d121db6d09786fed4a9233aadcf961479170e9da96f21ee71a6fce1dd                                                                                                                                              0.0s
 => => extracting sha256:278aecde295e501a4fd778a510306c47ff8862395c98a7bbb9f2cc41d2c89e64                                                                                                                                              0.0s
 => [builder  2/16] WORKDIR /app                                                                                                                                                                                                       0.5s
 => [builder  3/16] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked     --mount=type=cache,target=/var/lib/apt,sharing=locked     apt-get update && apt-get install -y         pkg-config     && rm -rf /var/lib/apt/list  2.6s
 => [builder  4/16] COPY Cargo.toml Cargo.lock ./                                                                                                                                                                                      0.0s
 => [builder  5/16] COPY crates/robot-kit/Cargo.toml crates/robot-kit/Cargo.toml                                                                                                                                                       0.0s
 => [builder  6/16] RUN mkdir -p src benches crates/robot-kit/src     && echo "fn main() {}" > src/main.rs     && echo "fn main() {}" > benches/agent_benchmarks.rs     && echo "pub fn placeholder() {}" > crates/robot-kit/src/lib.  0.2s
 => [builder  7/16] RUN --mount=type=cache,id=zeroclaw-cargo-registry,target=/usr/local/cargo/registry,sharing=locked     --mount=type=cache,id=zeroclaw-cargo-git,target=/usr/local/cargo/git,sharing=locked     --mount=type=cache  30.6s
 => [builder  8/16] RUN rm -rf src benches crates/robot-kit/src                                                                                                                                                                        0.2s
 => [builder  9/16] COPY src/ src/                                                                                                                                                                                                     0.1s
 => [builder 10/16] COPY benches/ benches/                                                                                                                                                                                             0.0s
 => [builder 11/16] COPY crates/ crates/                                                                                                                                                                                               0.0s
 => [builder 12/16] COPY firmware/ firmware/                                                                                                                                                                                           0.0s
 => [builder 13/16] COPY web/ web/                                                                                                                                                                                                     0.0s
 => [builder 14/16] RUN mkdir -p web/dist &&     if [ ! -f web/dist/index.html ]; then       printf '%s\n'         '<!doctype html>'         '<html lang="en">'         '  <head>'         '    <meta charset="utf-8" />'         '    0.1s
 => [builder 15/16] RUN --mount=type=cache,id=zeroclaw-cargo-registry,target=/usr/local/cargo/registry,sharing=locked     --mount=type=cache,id=zeroclaw-cargo-git,target=/usr/local/cargo/git,sharing=locked     --mount=type=cach  162.4s
 => [builder 16/16] RUN mkdir -p /zeroclaw-data/.zeroclaw /zeroclaw-data/workspace &&     cat > /zeroclaw-data/.zeroclaw/config.toml <<EOF &&     chown -R 65534:65534 /zeroclaw-data                                                  0.1s
 => [release 2/4] COPY --from=builder /app/zeroclaw /usr/local/bin/zeroclaw                                                                                                                                                            0.0s
 => [release 3/4] COPY --from=builder /zeroclaw-data /zeroclaw-data                                                                                                                                                                    0.0s
 => [release 4/4] WORKDIR /zeroclaw-data                                                                                                                                                                                               0.0s
 => exporting to image                                                                                                                                                                                                                 0.0s
 => => exporting layers                                                                                                                                                                                                                0.0s
 => => writing image sha256:fe253228a21d0be78cab2843bab39e772ecc6b55fbe3c7366638da3a7454dcb3                                                                                                                                           0.0s
 => => naming to docker.io/library/zeroclaw-bootstrap:local                                                                                                                                                                            0.0s

What's next:
    View a summary of image vulnerabilities and recommendations → docker scout quickview
==> Docker data directory: /Users/_/Projects/zeroclaw/.zeroclaw-docker
==> Container CLI: docker
==> Launching interactive onboarding in container
/Users/_/Projects/zeroclaw/scripts/bootstrap.sh: line 710: container_run_namespace_args[@]: unbound variable

ZeroClaw version

92e0f7a

Rust version

rustc 1.87.0

Operating system

macos 26.3

Regression?

No, first-time setup

Pre-flight checks

  • I reproduced this on the latest main branch or latest release.
  • I redacted secrets/tokens from logs.
  • I removed personal identifiers and replaced identity-specific data with neutral placeholders.

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions