NVIDIA / NVIDIA/NemoClaw

Sandbox GPU probe times out pulling the managed image; pre-pull from #10124 only runs on Docker Desktop WSL

Open
#11,677 1 comment 0 reactions 0 assignees View on GitHub
needs: triage
Dominant language
TypeScript
Stars
22.5k
Forks
3.1k
Avg merge
1d 1h
Merged PRs (30d)
715

Description

### Investigation Summary

Problem: on Jetson (Linux, JetPack 7.2.1), `nemoclaw onboard` fails at [6/8] Creating sandbox on a first install. The sandbox GPU-mode probe runs `docker create --runtime nvidia ` with a 30 s timeout. The managed image is not cached yet, the implicit pull is killed at 30 s, and NemoClaw reports a misleading "Docker did not accept the Jetson NVIDIA runtime GPU mode" error.

This exact bug was already found and fixed on Windows: #10105 reported it on Docker Desktop WSL in August, and #10124 fixed it by pre-pulling the image before the probe. But that fix is gated on `dockerDesktopWsl`, so it never runs on Linux hosts. Jetson uses the same `--runtime nvidia` compatibility route and still hits the original bug.

### Description

Same root cause as #10105, on Jetson: the GPU-mode probe (`docker create --runtime nvidia @ true`, 30 s timeout, pull policy "missing") pulls the managed image on first install and gets killed:

Error: Docker did not accept the Jetson NVIDIA runtime GPU mode for managed bootstrap.
Attempts: --runtime nvidia (NVIDIA_VISIBLE_DEVICES=all): Unable to find image '...openclaw-sandbox@sha256:a041cacf77f8...' locally ... Pull complete ... spawnSync docker ETIMEDOUT

The NVIDIA runtime is registered and preflight passes. #10124 added a pre-pull before the probe, but `prepareDockerManagedBootstrapGpuProbeImage` in `managed-bootstrap/docker-runtime.ts` only runs when `dockerDesktopWsl` is true. Jetson takes the same compatibility route and is not covered.

### Reproduction Steps

1. Fresh JetPack 7.2 flash, install NemoClaw.
2. `nemoclaw onboard`, OpenClaw + Local Ollama, defaults.
3. [6/8] fails after ~60 s with the error above. `--resume` fails the same way.

### Environment

Jetson AGX Orin 64 GB, JetPack 7.2.1 (L4T R39.2.1), arm64
Docker 29.8.0 (runtimes: runc, nvidia),
Node v22.23.2,
openshell 0.0.106
NemoClaw ,
OpenClaw agent,
Local Ollama

### Debug Output

[1/8] Preflight checks
──────────────────────────────────────────────────
[resume] Skipping preflight (cached)
✓ Docker daemon: server 29.8.0
✓ Docker NVIDIA runtime detected for Jetson/Tegra sandbox GPU
✓ Docker can start bridge containers
✓ Docker container DNS resolution works
NVIDIA Jetson/Tegra GPU detected; enabling sandbox GPU through Docker NVIDIA runtime. Use --no-gpu to opt out.

[2/8] Starting OpenShell gateway
──────────────────────────────────────────────────
[resume] Skipping gateway (running)

[3/8] Configuring inference provider
──────────────────────────────────────────────────
[resume] Skipping provider_selection (ollama-local / qwen3.5:9b)
[resume] Reusing sandbox name: mysandbox1.

[4/8] Setting up inference provider
──────────────────────────────────────────────────
[resume] Skipping inference (ollama-local / qwen3.5:9b)
[resume] Reusing web search selection: disabled.

[5/8] Messaging channels
──────────────────────────────────────────────────
[resume] Reusing messaging selection: no channels.
[resume] Reusing OpenShell default resources.

[6/8] Creating sandbox
──────────────────────────────────────────────────
Registry entry exists for 'mysandbox1' but installer restore flag not set — skipping pre-upgrade backup select.
⏳ Still working on Sandbox creation… (30s elapsed)
Jetson sandbox GPU enabled; using NVIDIA Container Runtime instead of CDI/--gpus.
Creating sandbox 'mysandbox1' (this takes a few minutes on first run)...
✓ Updated provider ollama-local

⏳ Still working on Sandbox creation… (62s elapsed)
Error: Docker did not accept the Jetson NVIDIA runtime GPU mode for managed bootstrap. Attempts: --runtime nvidia (NVIDIA_VISIBLE_DEVICES=all): Unable to find image 'ghcr.io/nvidia/nemoclaw/openclaw-sandbox@sha256:a041cacf77f8...' locally ghcr.io/nvidia/nemoclaw/openclaw-sandbox@sha256:a041cacf77f8...: Pulling from nvidia/nemoclaw/openclaw-sandbox 20051f4c4206: Pulling fs layer 570fa881 ... [layer progress lines omitted] ... 9c8912f050a7: Pull complete 55fb7358eaf9: Download complete feff3e10ed80: Download complete spawnSync docker ETIMEDOUT

Onboarding did not finish. Resume from the step that failed with:
nemoclaw onboard --resume

### Logs

```shell

```

### Checklist

- [x] I confirmed this bug is reproducible
- [x] I searched existing issues and this is not a duplicate

Contributor guide

Open the contributing guide

Research direction

Start in managed-bootstrap/docker-runtime.ts, especially prepareDockerManagedBootstrapGpuProbeImage and the dockerDesktopWsl condition, then compare the existing #10124 pre-pull path with the Jetson NVIDIA runtime probe. Reproduce on a fresh JetPack install or inspect the reported 30-second timeout. Done means the managed image is available before the probe on Jetson and nemoclaw onboard completes sandbox creation without the misleading runtime error.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, typescript
Domain
devops, infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.