Follow-up Comment #8, bug #68223 (group findutils): Likely not relevant to our current bug (because the fstatat64() call looks to be the key symptom) but I reviewed the gnulib fts code to find all the ways I could spot that fts_read() could fail. Here is the list (which is in Markdown, even though Savannah doesn't support it, sigh):
- A prior call to `fts_read()` had also failed
- Traversal is complete but `restore_initial_cwd` failed
- `fchdir` fails
- A call to a (gnulib) internal function from `fts_read()` fails:
- `fts_build`
- `dirfd` fails on the internal DIR* value
- `fts_opendir` failed, meaning that `opendirat` failed
because:
- `openat` failed:
- `fdopendir` failed:
- `save_cwd` failed:
- `open(2)` fails on "."
- `getcwd(NULL)` failed
- `fdopendir_with_dup` failed:
- ran out of file descriptors (in
`fdopendir_with_dup`)
- `opendir` failed on /proc/self/fd/N
- fstat fails on a directory after opening it (and
`FTS_TIGHT_CYCLE_CHECK` is set)
- readdir fails because the directory being read was deleted while
we're reading it, AND the readdir(3) implementation is buggy
(e.g. glibc < 2.3)
- `setup_dir` fails:
- insufficient memory for loop-detection hash table
- `enter_dir` failed because:
- a file system cycle is detected (POSSIBLE FIND BUG, it should
check `ftsp->fts_cycle` on failure return from `fts_read`,
does it?)
- `fstat` fails on the directory we just entered
- we lost a symlink change race
- `fts_safe_changedir` fails for ".." because:
- `diropen` fails because:
- `open` fails on ".."
- `openat` fails on ".."
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?68223>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
