NVIDIA / NVIDIA/NemoClaw

[N1x Linux][Agent&Skills] OpenClaw TUI stuck: N1x inference too slow for 120s compaction timeout, context overflow unrecoverable

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

Description

## Description

On N1x Linux Laptop Express with managed vLLM (Qwen3.6-35B-A3B-NVFP4, --max-model-len 32768),
OpenClaw TUI enters a permanent "agent is busy" stuck state after 3 conversation turns.
The root cause is a cascade: (1) slow N1x ARM64 inference causes the 120s compaction timeout
to expire before compaction summarization completes, (2) context overflow cannot recover because
compaction keeps failing, and (3) the TUI client-side state machine does not correctly handle
the backend "blocked" liveness state — the status bar shows "idle" but all input is permanently
rejected.

This is a follow-on to the fix in PR #11136 / GH #10955: that fix changed --max-num-seqs from
1 to 2 so compaction CAN start concurrently, but 120s is still insufficient for N1x inference
speed to actually complete the compaction summarization.

Related: PR #11510 fixed a separate N1x express install regression (deferred acceptance
validation).

Platform scope: Reproduced on N1x Linux only; other platforms not tested.
The failure chain requires slow inference (ARM64 unified memory) + small context window (33k)
— a combination unique to N1x among current platforms.
Regression: Unknown — earlier versions not tested (the max-num-seqs=2 fix in v0.0.124 is the
first version where compaction can start at all on N1x).
OpenShell issue: No

## Environment

```text
Device: N1x Linux Laptop Express (aarch64)
OS: Ubuntu 24.04.4 LTS (kernel 7.0.0-1015-nvidia)
Architecture: aarch64
Node.js: N/A (not in PATH)
npm: N/A (not in PATH)
Docker: 29.2.1
OpenShell CLI: 0.0.116
NemoClaw: v0.0.124
OpenClaw: 2026.7.1 (2d2ddc4)
GPU: NVIDIA JMJWOA-Generic-GPU, driver 615.69, compute 12.1, 63076 MB
vLLM: NGC 26.05 image, --max-num-seqs 2, --max-model-len 32768, --gpu-memory-utilization 0.6
```

## Steps to Reproduce

1. On N1x Linux with NemoClaw v0.0.124 and managed vLLM onboarded, launch the OpenClaw TUI
2. Send prompt 1: "write 500 words essay about joke" — wait for completion
3. Send prompt 2: "create python quick sort and execute it" — wait for completion
(uses tool execution, tokens reach ~8.0k/33k = 24%)
4. Send prompt 3: "you are a frontend engineer, create a HTML page to demonstrate
advantages and disadvantages of different agents"
5. TUI shows "agent is busy" rejection, then permanently stuck — status bar shows
"idle" but all input is rejected

## Expected Result

Prompt 3 should either:
(a) Complete normally after compaction frees context space, or
(b) If compaction fails, the TUI should display a clear error message and allow
the user to send new messages or start a new session (not silently lock the input)

## Actual Result

Two distinct failures:

1. Backend: Compaction times out at 120s, context overflow cannot recover
- Gateway enters livenessState=blocked with suggestedAction=reset_or_new
- All subsequent compaction attempts rejected with "already_compacted_recently"

2. TUI client: After backend enters blocked state, TUI input handler is permanently locked
- Status bar shows "connected | idle" (misleading)
- Pressing Esc confirms "no active run" (agent IS idle)
- But re-sending any prompt shows "agent is busy" rejection
- Only recovery is /new to start a fresh session

## Logs

```text
Gateway logs from repro session:

[LLM request timeout - 124s]
embedded run agent end: runId=05f71144... isError=true
error=LLM request timed out.
rawError=response truncated: chunk idle timeout exceeded
lane task error: lane=main durationMs=124830
error="FailoverError: LLM request timed out."

[Context overflow - 33k window too tight]
[context-overflow-precheck] estimatedPromptTokens=19491
promptBudgetBeforeReserve=12768 overflowTokens=6723 reserveTokens=20000
[context-overflow-diag] error=Context overflow: prompt too large for the model (precheck).
compactionAttempts=0

[Compaction timeout - 120s insufficient for N1x inference]
[compaction-diag] outcome=failed reason=timeout durationMs=120015
Compaction summarization failed; cancelling compaction to preserve history:
Request was aborted

[Unrecoverable blocked state]
[context-overflow-recovery] exhausted provider overflow recovery;
livenessState=blocked suggestedAction=reset_or_new kind=context_overflow
[compaction-diag] outcome=failed reason=already_compacted_recently
auto-compaction failed: Already compacted
context-engine compaction failed

[Proxy errors during timeout]
Proxy connection error: Broken pipe (os error 32)
API:INFERENCE Failure (multiple occurrences)
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the three-turn scenario on N1x Linux, then trace the OpenClaw TUI input handler alongside the gateway livenessState=blocked, context-overflow recovery, and compaction timeout diagnostics. Check how the TUI maps the backend blocked state and compaction failure; done means compaction can recover or the TUI reports the failure and permits a new message or session.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.