fix(memory): discard stdout for qmd update/embed to prevent output cap failure#28900
fix(memory): discard stdout for qmd update/embed to prevent output cap failure#28900Takhoffman merged 2 commits intoopenclaw:mainfrom
Conversation
Greptile SummaryAdds
Confidence Score: 5/5
Last reviewed commit: d6f2769 |
|
You have reached your Codex rate limits. Please try again later. |
2 similar comments
|
You have reached your Codex rate limits. Please try again later. |
|
You have reached your Codex rate limits. Please try again later. |
🔒 Aisle Security Analysis✅ We scanned this PR and did not find any security vulnerabilities. Aisle supplements but does not replace security review. Analyzed PR: #28900 at commit Last updated on: 2026-03-01T18:17:36Z |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f653f60b52
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| if (discard) { | ||
| return; // drain without accumulating |
There was a problem hiding this comment.
Keep stdout diagnostics on failed discard-output runs
Dropping all stdout when discardOutput is enabled means qmd update/embed failures can lose their only diagnostic text, even though the error path still formats messages as stderr || stdout. In the case where QMD exits non-zero but reports the error on stdout, the thrown message becomes empty and downstream recovery checks like tryRepairNullByteCollections cannot detect ENOTDIR/NUL markers from the process output, so automatic repair can be skipped. Preserve a bounded stdout tail for failure paths instead of discarding it completely.
Useful? React with 👍 / 👎.
f653f60 to
86fde69
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 86fde69f7a
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| await this.runQmd(["update"], { timeoutMs: this.qmd.update.updateTimeoutMs }); | ||
| await this.runQmd(["update"], { | ||
| timeoutMs: this.qmd.update.updateTimeoutMs, | ||
| discardOutput: true, |
There was a problem hiding this comment.
Preserve stdout text for failed qmd update repair checks
Passing discardOutput: true into runQmd(["update"]) drops stdout entirely, so a non-zero update that reports errors on stdout now throws with an empty detail string (stderr || stdout becomes empty). That breaks tryRepairNullByteCollections, which classifies recoverable ENOTDIR/null-byte failures from the thrown message and therefore may skip the one-time collection rebuild/retry path. Fresh evidence: both update attempts in runQmdUpdateOnce now set discardOutput: true, so there is no fallback attempt that preserves stdout for this classifier.
Useful? React with 👍 / 👎.
|
PR #28900 - fix(memory): discard stdout for qmd update/embed to prevent output cap failure (#28900) Merged via squash.
Thanks @Glucksberg! |
…p failure (openclaw#28900) thanks @Glucksberg Cherry-pick of upstream 1342962.
…p failure (openclaw#28900) thanks @Glucksberg Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…p failure (openclaw#28900) thanks @Glucksberg Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…p failure (openclaw#28900) thanks @Glucksberg Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…p failure (openclaw#28900) thanks @Glucksberg Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…p failure (openclaw#28900) thanks @Glucksberg Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…p failure (openclaw#28900) thanks @Glucksberg Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…p failure (openclaw#28900) thanks @Glucksberg Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…p failure (openclaw#28900) thanks @Glucksberg Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…p failure (openclaw#28900) thanks @Glucksberg Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…p failure (openclaw#28900) thanks @Glucksberg Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…p failure (openclaw#28900) thanks @Glucksberg Verified: - pnpm install --frozen-lockfile - pnpm build - pnpm check - pnpm test:macmini Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
…p failure (openclaw#28900) thanks @Glucksberg Cherry-pick of upstream 1342962.
Summary
Test plan
🤖 Generated with Claude Code