#memory-leak
Sorted by views, then solution_desc, solution, and root_cause length (desc).
2627 issues
`gateway/model-pricing` repeatedly logs: `pricing bootstrap failed: TimeoutError: The operation was aborted due to timeout` This happens frequently on startup/runtime, but there appears to be no config flag or env var to disable model-pricing bootstrap when pricing is non-critical.
The `cron` tool's `add` action consistently fails with `gateway closed (1008): pairing required` error when called from an agent session, even on a local loopback setup with proper authentication. **Affected operations:** - ‚ùå `cron add` (write operation) ‚Üí fails with "pairing required" - ‚úÖ `cron status` (read operation) ‚Üí works - ‚úÖ `cron list` (read operation) ‚Üí works This makes it **impossible to create cron jobs** from the agent, CLI, or any interface, breaking a core automation feature.
After auto-updating to v2026.3.24, the gateway was silently killed by macOS launchd ~3 hours later and never restarted, despite `KeepAlive: true` in the LaunchAgent plist. The service was dead for 4+ hours with zero alerts until manual recovery.
After re-authenticating OpenAI Codex multiple times, Gateway kept logging `refresh_token_reused` and some runs failed with OAuth refresh errors. In our case, the root cause appears to be that the main agent auth store retained both: - `openai-codex:default` (older login) - a newer named Codex profile (email-based profile key) Different paths seemed to use different profiles, which led to refresh-token rotation conflicts. Removing the stale `openai-codex:default` entry and keeping only the newest named profile fixed the issue.
After updating to OpenClaw 2026.4.1, the `exec-approvals.json` file was reset/initialized with strict defaults, removing all previously working allowlist entries. This broke all automated workflows (cron jobs, ClawFlow scheduler) that rely on non-interactive command execution.
There's a slow leak hiding in the persistence layer that most people are working around without knowing what's causing it. `SessionManager.fileEntries` is an in-memory array that mirrors every line written to the JSONL session transcript. Every message, tool call, tool result, and metadata entry gets pushed to it. Nothing ever removes them. Over hours of normal use, this array quietly accumulates hundreds of thousands of objects, eventually holding 1.4GB+ of retained heap. V8 can't collect any of it because SessionManager holds a live reference to the array for the lifetime of the process. The tricky part: the LLM context window stays bounded. `replaceMessages()` keeps `Agent._state.messages` at a manageable size during compaction. So from the model's perspective, everything looks fine. But underneath, `fileEntries` is a parallel data structure in the persistence layer that compaction never touches. Two layers, only one with a ceiling. This is likely the root cause behind multiple reported memory and session-bloat issues, including #6190, #13758, #2254, and #20910, which all share the same symptom pattern. It's a contributing factor in several others (see Related Issues below).
# OpenClaw Cron 调度时间偏移严重,执行时间记录不准确
`github_copilot/gpt-5.4` is not accessible via the `/chat/completions` endpoint on the GitHub Copilot API. When a request is sent through the LiteLLM proxy (via the Anthropic `/v1/messages` pass-through endpoint), it always routes through `litellm.acompletion()` → `/chat/completions`, which GitHub Copilot rejects with: ``` model "gpt-5.4" is not accessible via the /chat/completions endpoint code: unsupported_api_for_model ```
When re-authenticating the Qwen model, it shows authentication successful but the terminal still running starting Qwen OAuth.
The gateway's Telegram client enters an unrecoverable state after a transient network hiccup. Once it fails, it retries `sendChatAction` in a tight loop (~every 3 seconds) indefinitely, even across gateway restarts.