NVIDIA / NVIDIA/NemoClaw

[Linux][Install] nemoclaw installer exits 0 when blocked by stale station-dual-pair-resume.json — silent failure hides error from automation

Open Beginner friendly
#9,879 1 comment 0 reactions 0 assignees View on GitHub
area: install NV QA platform: arm64 platform: dgx-station platform: linux platform: ubuntu
Dominant language
TypeScript
Stars
22.5k
Forks
3.1k
Avg merge
1d 1h
Merged PRs (30d)
715

Description

## Description

When `~/.nemoclaw/station-dual-pair-resume.json` exists from a previous failed DGX Station express setup, the NemoClaw installer prints an `[ERROR]` message but exits with code **0** instead of non-zero. CI scripts and automation that check the exit code see success and continue, unaware the install was blocked.

Platform scope: Linux aarch64 (DGX Station, Ubuntu 24.04). The stale-resume check is DGX-Station-specific but the silent-exit-0 pattern could affect other code paths that use the same `|| true` suppression.
Regression: Unknown.
OpenShell issue: No

## Environment

```text
Device: DGX Station GB300 (aarch64)
OS: Ubuntu 24.04.4 LTS
Architecture: aarch64
NemoClaw: v0.0.113
OpenShell CLI: 0.0.101
```

## Steps to Reproduce

1. Partially fail a DGX Station express install, leaving `~/.nemoclaw/station-dual-pair-resume.json` on disk.
2. Attempt a fresh install without removing the stale file:
```bash
curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash; echo "EXIT:$?"
```

## Expected Result

Installer exits non-zero when it detects a blocking error, so callers can detect and handle the failure.

## Actual Result

```text
[ERROR] A dual-DGX Station pair resume is pending; finish exact pair revalidation before changing providers.
(script continues)
EXIT:0
```

Root cause: `scripts/install.sh` line 5828 — `load_station_express_resume || true` swallows the `exit 1` from `error()`, causing the script to return 0 despite the blocking error.

## Logs

```text
[ERROR] A dual-DGX Station pair resume is pending...
EXIT:0 ← should be EXIT:1
```

Contributor guide

Open the contributing guide

Research direction

Start in scripts/install.sh around line 5828 and inspect load_station_express_resume plus the surrounding error-handling path. Reproduce with a stale ~/.nemoclaw/station-dual-pair-resume.json and the documented curl command, then verify that a blocking resume error produces a non-zero exit instead of EXIT:0.

Written by the indexing model from the issue text.

Assessment

Tech stack
bash
Domain
devops
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.