GNU bug report logs - #74159
Unexpected exit code of 0 when -q is set and close_stdout fails

Previous Next

Package: grep;

Reported by: Jan Černohorský <jan <at> kam.mff.cuni.cz>

Date: Fri, 1 Nov 2024 13:22:04 UTC

Severity: normal

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

Bug is archived. No further changes may be made.

Full log


Message #10 received at 74159-done <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Jan Černohorský <jan <at> kam.mff.cuni.cz>
Cc: 74159-done <at> debbugs.gnu.org, wizards <at> kam.mff.cuni.cz
Subject: Re: bug#74159: Unexpected exit code of 0 when -q is set and
 close_stdout fails
Date: Fri, 1 Nov 2024 23:02:11 -0700
[Message part 1 (text/plain, inline)]
On 2024-11-01 06:10, Jan Černohorský wrote:

> when the `-q` option is 
> detected (grep.c:2697), the `exit_failure` variable is set to 0. This 
> causes any error, when not specially handled, to exit with 0, even 
> before any match is found.

Yes, that's a mistake. I can't reproduce your bug but I can see other 
consequences of the mistake. Fixed in the attached patch (with a test 
case that's unlike your problem); please give it a try.

That being said, the lower levels of your OS appear to be buggy, as 
'close' should not fail with EACCES. I wouldn't be surprised if other 
software breaks because of this issue. So I suggest also reporting a bug 
to whoever maintains the NFS client code that you're using.

I'm boldly closing this bug report; we can reopen it if the patch 
doesn't work for you.
[0001-grep-fix-q-suppression-of-diagnostics.patch (text/x-patch, attachment)]

This bug report was last modified 202 days ago.

Previous Next


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