ds002785: minimal babs init fails — PermissionError stat-ing embedded FreeSurfer derivatives (likely transient)
- Dominant language
- Python
- Stars
- 1
- Forks
- 4
- Avg merge
- 15h 39m
- Merged PRs (30d)
- 24
Description
**TL;DR:** Not sure what happened — minimal `babs init` died with a `PermissionError` stat-ing a file in this dataset's embedded FreeSurfer derivatives, but **anat passed on the same data**. Likely a transient dartfs NFSv4-ACL flake. **TODO: re-run minimal before digging in any further** — if it passes, close this.
## What happened
During `babs init` of the minimal project, babs runs a recursive `datalad drop` that `os.stat`s every file in the analysis dataset — including the embedded `sourcedata/raw/derivatives/freesurfer/` tree — and failed:
```
PermissionError: [Errno 13] Permission denied:
.../sourcedata/raw/derivatives/freesurfer/sub-0197/surf/rh.sphere.reg
```
(`bootstrap.py` → `datalad drop` → `status` → `diffstatus` → `os.stat`)
## Why it looks transient, not a dataset fault
- The file is a normal git-annex symlink, owned by us with owner `rwx`, pointing at a present-looking annex object — not a missing object (that would be `ENOENT`, not `EACCES`).
- **anat passed on the same dataset**: its `babs init` ran the same recursive drop/stat over the same embedded derivatives without error.
- Fits the `Failed to instantiate ACL` / `An error occurred during recursive file tree walk` dartfs NFSv4-ACL noise seen across many jobs (including passing ones).
## Notable dataset property
ds002785's raw dataset ships an embedded `derivatives/freesurfer/` tree (bloats every clone; gives the ACL flake more surface to hit).
## Done when
- [ ] Re-run minimal for ds002785.
- passes → close (was transient).
- fails again at the same `os.stat` → reproducible dartfs-ACL / git-annex interaction; investigate ACLs then.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by rerunning minimal babs init for ds002785, as requested in the issue. If it passes, the task is complete and the issue can be closed; if it fails again at os.stat on the listed FreeSurfer path, begin with bootstrap.py and the datalad drop/status/diffstatus call chain, then investigate the reported dartfs ACL interaction.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- infrastructure
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100