Repository navigation
fix(library): identify truncated GGUF files without failing their import - #78
Merged
Merged
Conversation
The v0.8.0 rehearsal on 89bb2f5 failed intermittently in two places that had passed on the previous run: - Linux: a .gguf too short for its 24-byte header (here a 17-byte file with no GGUF magic, picked by extension) made identification return a raw "failed to fill whole buffer" I/O error. When the watcher's background import reached it first, the owned import failed and shutdown reported incomplete work. Truncated content is now identified as a GGUF of unknown type, so validation reports the unusable file; genuine read failures are still errors. A regression test covers both the no-magic and truncated-header cases. - macOS: a discovery test expected a successor owner the instant the previous one dropped, while a child spawned by a parallel test can briefly inherit the native store lock. The test now retries only that busy refusal for up to five seconds, as local_start_authority already waits for release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Contributor
[Medium impact] This PR appears safe to merge. SummaryThis PR lets truncated GGUF files finish identification without failing their import.
No actionable issues were found. No runtime checks were run during this review. Reviews (1) · Last reviewed commit: "fix(library): identify truncated GGUF fi..." · Reviewed by Greptile |
…rain PR CI failed once in the headless suite: right after the parked child was drained, an immediate nonblocking acquisition of the physical store still saw Busy. A child forked by a parallel test briefly holds an inherited copy of the lock until its exec closes it, as the store lifetime tests already document and wait for. The post-drain check now waits up to five seconds for release; the earlier check that the store is still retained while the child is unresolved is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The v0.8.0 rehearsal on
89bb2f54(run 41659076905) passed the Windows release job for the first time. It failed in two places that had passed on the previous run..gguffile too short for its 24-byte header made identification return a raw "failed to fill whole buffer" I/O error. The test's file is 17 bytes with no GGUF magic, so it was picked by its extension. When the watcher's background import reached the file first, the owned import failed and shutdown reported incomplete work. Truncated content is now identified as a GGUF of unknown type, and validation reports the unusable file. Genuine read failures are still errors. A regression test covers both the no-magic and the truncated-header cases.local_start_authorityalready waits for release.Local checks: all 2,358
pumas-librarytests pass. With-D warnings, the Linux and Windows builds are clean. Verified by a candidate rehearsal on this branch.🤖 Generated with Claude Code