GNU bug report logs - #25029
shuf generates “Bad file descriptor” error on nfs but only when run as a background process

Previous Next

Package: coreutils;

Reported by: Alex Ryan <alexander.j.ryan <at> gmail.com>

Date: Fri, 25 Nov 2016 22:25:01 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Pádraig Brady <P <at> draigBrady.com>
To: Alex Ryan <alexander.j.ryan <at> gmail.com>, 25029 <at> debbugs.gnu.org
Subject: bug#25029: shuf generates “Bad file descriptor” error on nfs but only when run as a background process
Date: Sat, 26 Nov 2016 00:06:49 +0000
On 25/11/16 23:59, 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
> 
> You can avoid the issue by redirecting stdin from the file like:
> 
>   $ shuf < your_file

Actually the minimum reproducer is:

  $ shuf /dev/null 0>&-
  shuf: read error: Bad file descriptor

That format shows that tac doesn't have the issue
(and tac is not a single file util anyway):
but uniq does have the issue:

  $ uniq /dev/null 0>&-
  uniq: error reading /dev/null

We might be able to improve this.
Anyway the workaround presented previously should work.

cheers,
Pádraig




This bug report was last modified 8 years and 236 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.