-
-
Notifications
You must be signed in to change notification settings - Fork 814
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] fd gets stuck reporting I/O errors #1186
Comments
I tried simulating some
would be interesting. |
Could there be some problem with the filesystem or underlying hardware that is resulting in this error for all filesystem operations? Still that would suggest that fd is getting into some kind of infinite loop. |
@tavianator I can reproduce it 100% reliably when the input file(s) contain a particular file I manually identified as causing problems. Here are 2 minimal straces. Do note that I Without
That final line repeats itself infinitely. Similarly, with
|
Does |
It look like while trying to list the entries in a directory it is getting an IO error. But I'm not sure why it keeps trying to run the same syscall with the same arguments over again. |
Does the same thing happen if you pass |
Yes,
It does |
Interesting. I have an idea but can you try strace -f (without -Z)? Also strace -fk would help if it works on your system. |
Let me know if you need more than 500 lines or for me to run with other flags |
I believe this should be fixed by rust-lang/rust#105638. Sorry for the trouble! |
rust-lang/rust#105638 made it into Rust 1.68. Since fd's MSRV is 1.70 now, I think we can close this. |
Checks
Describe the bug you encountered:
When
--show-errors
is passed and encountering a file that seems to be corrupted, fd will endlessly spam[fd error]: Input/output error (os error 5)
to stderr and fail to ever terminate or to scan further files. I've encountered this numerous times recently, and when stderr is redirected to a file, fd will fill up the entire disk with that same line - one incident the file grew to 60 gigabytes before I terminated fd, and the entire file (as checked withuniq -c
) consisted of just that one line repeated millions of times.Describe what you expected to happen:
fd to report the error reading that file once (including the name of the file), and skip it and continue on gracefully
What version of
fd
are you using?fd 8.5.3
Which operating system / distribution are you on?
The text was updated successfully, but these errors were encountered: