Repository navigation
Conversation
[Medium impact] The reviewed changes appear safe to merge; no actionable defects were found. SummaryThe PR distinguishes an exhausted ELF string scan from proven malformed input without increasing the read limit.
Reviews (1) · Last reviewed commit: "fix(gpu): distinguish ELF string scan li..." · Reviewed by Greptile |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
Summary
Fixes #8952. A valid CUBIN symbol name whose NUL follows the fixed ELF scan window was reported as malformed input. It now reports
inspection: capacityand partial payload coverage, without raising the scan allowance or claiming corruption from bytes that were not examined.Problem and expected behavior
At the same immutable inputs on main
71f680d7: 65,536/70,000-byte terminated names changed frommalformedtocapacity. A short name remains complete; a 65,535-byte name retains its existing partial section-name coverage; a genuinely unterminated short table remains malformed. Artifact hashes are unchanged.Change and scope
The shared ELF string reader reuses the existing typed read-limit failure only when declared table bytes remain unexamined. GPU inventory consumes that type; the legacy superclass/kind remains intact for per-symbol native-export handling and error caching. The existing bounded-string diagnostic describes unknown termination accurately. This is an ordinary static-inspection fix within existing scope; no maintainer scope expansion is required.
Contract and boundary impact
Evidence and regression coverage
Original public CLI regression: 1 FAIL/23 PASS before the fix. Final distinct local coverage is eight focused files/158 PASS plus README 9: 167 PASS, zero skip, with overlap replaced rather than accumulated. The last two changed test files reran (51 PASS); the other unchanged test inputs retain their executed results.
The same five immutable format fixtures passed five compiled CLI calls + five calls in one real stdio MCP session, and repeated successfully against a normal installed package. Independent Python byte/range checks confirmed the long inputs have their NUL inside the ELF string table. These are format fixtures, not real CUDA/GPU execution.
Representative normalized output:
{"objects":[{"kind":"cubin","inspection":"capacity"}],"kernels":[],"coverage":{"payloads":"partial"}}Validation performed
npm run check,npm run docs:check,npm run verify:test-discovery: PASS (3,029 files exactly once).npm run verify:packageandnpm pack --dry-run: PASS; official installed MCP 234 tools/6 prompts, exact update and awaited cleanup. All 2,781 published files match archive/current/installed bytes.Compatibility, safety, and release
No migration or breaking schema change. Verified on macOS arm64/Node 24.22.1. Real GPU/CUDA execution, other hosts, complete external engines/apps, agent/model and performance were not run. Local validation is separate from upstream CI, Codex and human review.
Author readiness
Human owner: @xu91102
Before merge
type(scope): outcome.