NVIDIA / NVIDIA/NemoClaw

[All Platforms][Install] Installer lookup-failure message doesn't distinguish refused-vs-timed-out or confirm the CLI was unchanged

Open
#11,515 0 comments 0 reactions 1 assignee Claimed by @Dongni-Yang View on GitHub
Dominant language
TypeScript
Stars
22.5k
Forks
3.1k
Avg merge
1d 1h
Merged PRs (30d)
715

Description

## Description

When the bootstrap installer's maintained-release-tag lookup (`git ls-remote --tags origin` against github.com) fails to connect (connection refused) or stalls until its own bound is hit, both failure modes produce the exact same generic message: "[ERROR] Requested install ref 'lkg' is not available from https://github.com/NVIDIA/NemoClaw.git. Check NEMOCLAW_INSTALL_TAG/NEMOCLAW_INSTALL_REF and try again." This does not distinguish an unverifiable (connection-refused) lookup from a timed-out lookup, and does not explicitly state that the installed CLI was left unchanged.

The installed CLI genuinely IS left unchanged in both cases (verified via version + SHA256 of the CLI binary before/after each attempt) -- this is a message-content gap, not a state-corruption bug.

Platform scope: All Platforms -- reproduced on Ubuntu 24.04 x86_64, but this is pure bootstrap-script network/error-handling logic with no platform conditional.
Regression: Unknown -- earlier versions not tested this session.

## Environment

```text
Device: Ubuntu 24.04 x86_64 host
OS: Ubuntu 24.04
Architecture: x86_64
NemoClaw: v0.0.122
```

## Steps to Reproduce

1. Record the installed CLI's version and SHA256 hash: `nemoclaw --version; sha256sum "$(command -v nemoclaw)"`.
2. Block outbound TCP:443 to github.com's resolved IP: `sudo iptables -I OUTPUT -d -p tcp --dport 443 -j REJECT --reject-with tcp-reset` (connection-refused mode).
3. Run `curl -fsSL https://www.nvidia.com/nemoclaw.sh | NEMOCLAW_NON_INTERACTIVE=1 bash`; capture output and exit code.
4. Remove the REJECT rule, re-verify CLI version/hash unchanged.
5. Repeat steps 2-4 with `-j DROP` instead of REJECT (stall/timeout mode).
6. Compare the two error messages.

## Expected Result

Each installer attempt exits nonzero before replacement. Output distinguishes an unverifiable-version lookup failure from a timed-out lookup, and explicitly states that the installed CLI was not changed.

## Actual Result

Both the connection-refused and the timed-out (132s) scenarios produce the byte-identical message:

```text
[ERROR] Requested install ref 'lkg' is not available from https://github.com/NVIDIA/NemoClaw.git.
Check NEMOCLAW_INSTALL_TAG/NEMOCLAW_INSTALL_REF and try again.
EXIT_CODE=1
```

Exit code 1 in both cases (correct). No mention of "installed CLI was not changed" in either message, even though the CLI genuinely was unchanged (verified via hash, both times).

## Logs

Connection-refused mode:
```text
fatal: unable to access 'https://github.com/NVIDIA/NemoClaw.git/': Failed to connect to github.com port 443 after 3 ms: Couldn't connect to server
[ERROR] Requested install ref 'lkg' is not available from https://github.com/NVIDIA/NemoClaw.git.
Check NEMOCLAW_INSTALL_TAG/NEMOCLAW_INSTALL_REF and try again.
EXIT_CODE=1
```

Stall/timeout mode (132s to fail):
```text
fatal: unable to access 'https://github.com/NVIDIA/NemoClaw.git/': Failed to connect to github.com port 443 after 132418 ms: Couldn't connect to server
[ERROR] Requested install ref 'lkg' is not available from https://github.com/NVIDIA/NemoClaw.git.
Check NEMOCLAW_INSTALL_TAG/NEMOCLAW_INSTALL_REF and try again.
EXIT_CODE=1
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.