On 11/25/2016 05:59 PM, Pádraig Brady wrote: > On 25/11/16 22:24, Alex Ryan wrote: >> I am not certain about this but I *think* this might be a bug in shuf. >> >> full description of how to reproduce is here >> http://stackoverflow.com/questions/40730239/shuf-generates-bad-file-descriptor-error-on-nfs-but-only-when-run-as-a-backgro > > The minimum reproducer is: > > $ shuf 0>&- > shuf: read error: Bad file descriptor > > The reason is that the specified file is reopened to stdin, > which is a general technique used by single file filters. > I.E. this isn't specific to shuf: > > $ tac 0>&- > tac: standard input: read error: Bad file descriptor
Technically, POSIX states that ANY attempt to execute a program with fd 0, 1, or 2 closed is undefined behavior, so the bug is yours for not providing an explicit stdin in the first place. But I agree that it is a nice quality-of-implementation thing for coreutils to have reasonably-sane behavior in the fact of closed fds, even if POSIX does not require us to. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature