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: Paul Eggert <eggert <at> cs.ucla.edu>, 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 02:41:23 +0000
On 26/11/16 02:00, Paul Eggert wrote:
> Pádraig Brady wrote:
>> Actually the minimum reproducer is:
>>
>>   $ shuf /dev/null 0>&-
>>   shuf: read error: Bad file descriptor
> 
> Ouch. Isn't that a bug in glibc freopen? It shouldn't fail with errno==EINVAL 
> merely because stdin doesn't have a valid file descriptor. If so, we should fix 
> the Gnulib freopen module to work around the bug. If not, I suppose we can fix 
> this in freopen-safer.

Yes it's surprising.  I see POSIX states freopen() should only return
EBADF in the case where the pathname specified is NULL.
I.E. when operating on the old descriptor.
But shouldn't freopen() be using a new descriptor here?
Definitely looks like a glibc bug.

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.