Subject: Re: bug#77800: grep-3.12: write-error-msg test failure on fedora rawhide (f43)

From: Jaroslav Škarvada <[email-masked]>
Date: Mon, 21 Apr 2025 09:19:50 +0200

On Fri, Apr 18, 2025 at 7:35 AM Grisha Levit <[email-masked]> wrote:
>
> On Fri, Apr 18, 2025, 01:18 Jim Meyering <[email-masked]> wrote:
> >
> > On Tue, Apr 15, 2025 at 9:17 PM Jim Meyering <[email-masked]> wrote:
> > ...
> > > We're going to have to revise that code.
> > > The difference I see is that before rawhide, that fclose would fail.
> > > It's perfectly fine for fclose to succeed in this case, as now happens
> > > on rawhide (because with 4k BUFSIZ, the fclose wrote nothing -- the
> > > preceding 4096-byte write is what failed).
> > >
> > > Here's a better patch: (technically, we could factor it somewhat, but
> > > readability would suffer disproportionately)
> >
> > I didn't take the time to find a precise commit, but this bug predates
> > the move from closeout.c to gnulib's close-stdout.c in 2006. As I
> > write this, I'm installing Fedora 42.
> > I'll probably push the attached to gnulib tomorrow:
>
>
> > Exposed via Fedora 42's new glibc vs grep's --help being precisely
> > 4096 bytes.
>
> AFAICT this is not related to F42 or new glibc, it's just longer help
> text in grep-3.12 + Fedora patch making it even longer.  But you should
> see the same behavior on existing systems with e.g.:
>
>     $ { env printf %4095s; env printf %4096s; } > /dev/full
>     printf: write error: Broken pipe
>     printf: write error
>
Guys, thanks for the analysis and quick actions. BTW is the Fedora
help patch which uncovered this problem acceptable for upstream?

thanks & regards

Jaroslav