Repository navigation
Fix LFS cache bug causing all binary test failures and multi-hour hangs - #12
Merged
Kkuntal990 merged 1 commit intoMar 3, 2026
Merged
Conversation
On cache hit, `git lfs pull` was skipped entirely. Since `git lfs pull` performs both `git lfs fetch` (download objects) and `git lfs checkout` (replace pointer files with actual content), skipping it on cache hit meant LFS pointer files were never replaced in the working tree. MATLAB then tried to read ~130-byte pointer text as binary data, causing 12 test failures and a multi-hour hang on binary_pop_snapread_wrapperTest. Fix: add an always-run `git lfs checkout` step after cache restore. Also add timeout-minutes: 120 as a safety net against future hangs. Co-Authored-By: Claude Opus 4.6 <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.
Summary
git lfs checkoutstep that always runs after LFS cache restore, fixing the root cause of all 12 binary test failures and the multi-hour hang onbinary_pop_snapread_wrapperTesttimeout-minutes: 120to the job as a safety net against future hangsRoot Cause
The CI workflow caches
.git/lfsand conditionally runsgit lfs pullonly on cache miss. However,git lfs pull=git lfs fetch+git lfs checkout. On cache hit:.git/lfs/objectsare restored from cache (fetch is unnecessary — good)git lfs checkout(which replaces LFS pointer files in the working tree with actual binary content) never runsnotBinaryFile,nonLogicalConditional, etc.) or hangs (SMA file reader loops on pointer text)This caused the identical 12 test failures in both R2021b and R2025a jobs, and the hang on
binary_pop_snapread_wrapperTestthat inflated CI runtime from ~1 hour to 4+ hours.Test plan
binary_pop_snapread_wrapperTestcompletes normally instead of hanging🤖 Generated with Claude Code