GNU bug report logs - #76255
cat: error without arguments

Previous Next

Package: coreutils;

Reported by: lilydjwg <lilydjwg <at> gmail.com>

Date: Thu, 13 Feb 2025 08:01:01 UTC

Severity: normal

Merged with 76256, 76257

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: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: lilydjwg <lilydjwg <at> gmail.com>
Subject: bug#76256: closed (Re: bug#76255: cat: error without arguments)
Date: Sat, 15 Feb 2025 06:23:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#76255: cat: error without arguments

which was filed against the coreutils package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 76256 <at> debbugs.gnu.org.

-- 
76255: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76255
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: lilydjwg <lilydjwg <at> gmail.com>
Cc: 76255-done <at> debbugs.gnu.org
Subject: Re: bug#76255: cat: error without arguments
Date: Fri, 14 Feb 2025 22:22:02 -0800
[Message part 3 (text/plain, inline)]
On 2025-02-12 22:45, lilydjwg wrote:
> cat: -: input file is output file

Thanks for the bug report. The symptoms you observe are a bug in 'cat'. 
I also see a bug in Gawk which I reported to the Gawk maintainer 
<https://lists.gnu.org/r/bug-gawk/2025-02/msg00003.html>. I don't see a 
bug in zsh or fish but perhaps I'm missing something.

To fix the 'cat' bug I installed the attached patch into bleeding-edge 
Coreutils on Savannah, and something like this patch should appear in 
the next release.
[0001-cat-fix-plain-cat-bug.patch (text/x-patch, attachment)]
[Message part 5 (message/rfc822, inline)]
From: lilydjwg <lilydjwg <at> gmail.com>
To: bug-coreutils <at> gnu.org
Subject: Re: cat: error without arguments
Date: Thu, 13 Feb 2025 15:13:58 +0800
On Thu, Feb 13, 2025 at 02:45:39PM +0800, lilydjwg wrote:
> In the past I can run `cat` without any arguments and it prints
> whatever I type at the terminal. However since 9.6, `cat` reports the
> following error:
> 
> cat: -: input file is output file

Ah, I find it's not always reproducible, and a strace reveals that the
stdout flags are different:

Erroring cat (in my existing shell session):

fcntl(1</dev/pts/5<char 136:5>>, F_GETFL) = 0x402 (flags O_RDWR|O_APPEND)

Working cat (in a new shell session):

fcntl(1</dev/pts/11<char 136:11>>, F_GETFL) = 0x2 (flags O_RDWR)

I'm using zsh, and this issue starts to occur after I do a tab
completion (in my case, type "cat" and then tab). Other users report
that some fish completion can also cause this issue.

The terminal in use itself seems to not matter. I'm using GNOME
Terminal, inside and outside tmux.

-- 
Best regards,
lilydjwg



This bug report was last modified 97 days ago.

Previous Next


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