Skip to content

Fix my_glob crash from macOS resource fork files#68

Open
alptaciroglu wants to merge 1 commit into
vufuma:masterfrom
alptaciroglu:fix/macos-dotfile-glob
Open

Fix my_glob crash from macOS resource fork files#68
alptaciroglu wants to merge 1 commit into
vufuma:masterfrom
alptaciroglu:fix/macos-dotfile-glob

Conversation

@alptaciroglu
Copy link
Copy Markdown

Summary

  • Helper::my_glob() crashes with UnableToListContents when macOS ._ (AppleDouble/resource fork) files exist in the job directory — these files can't be stat'd by Flysystem's LocalFilesystemAdapter
  • Adds a fallback to native scandir() that skips ._* files, preserving the Storage-relative path format all callers expect
  • The try/catch only triggers when Flysystem already fails, so zero impact on normal operation

This affects anyone running FUMA locally on macOS, particularly with external volumes (e.g. USB drives) where ._ files are common. The visible symptom is a "JobQuery MAGMA_expPlot error" alert on SNP2GENE results pages.

Test plan

  • Created ._test_file in a job directory, confirmed MAGMA expression plot renders without error
  • Removed test file, confirmed normal operation unaffected
  • Verified all my_glob callers (S2GController, CellController, FumaController) receive paths in the same format

🤖 Generated with Claude Code

On macOS (and occasionally Linux), ._* files on external volumes cause
Flysystem's directory listing to throw UnableToListContents. Add a
fallback to native scandir that skips these files, preserving the
Storage-relative path format all callers expect.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant