Subject: Re: bug#76291: BUG: grep sometimes spits out random garbage in the moddle of results

From: Jim Meyering <[email-masked]>
Date: Mon, 17 Feb 2025 08:04:13 -0800

On Fri, Feb 14, 2025 at 12:52 PM Jim Meyering <[email-masked]> wrote:
> On Fri, Feb 14, 2025 at 9:02 AM php fan <[email-masked]> wrote:
> > I have no idea what triggers this, so I haven't been able to produce a
> > minimal reproducing example; and I can't share the actual folder with
> > which this happens to me all the time.
> >
> > Sometimes I use "grep -R" on a folder with several repositories, and
> > after a few legitimate results, I get a blob of dozens of lines of
> > text, coming from several files, with no indication of the file they
> > belong to, and which often don't match the pattern.
> >
> > For example:
> >
> > ```
> > $ grep -R foo
> > path/to/file1.txt: lorem ipsum foo bar
> > path/to/file2.txt: lalalalala foo lalalala
> >    and here's a blob of totally unrelated text
> >    that doen't contain the string
> >    who knows where this comes from
> >    lalalallaal lorem ipsum dolor sit amet
> > ```
> >
> > I am NOT talking about the case where you have a file that is one very
> > long line that matches, so you get basically the whole file in the
> > output and it gets wrapped. In that case, it will still start with the
> > path of the file followed by a colon. Not in this case.
>
> Thanks for the report. Can you tell me how to reproduce that? I have
> never seen such a failure.
> We'd need system type, version of grep, and names/contents of the
> files in the searched directory.

Can you share the names of the files in that directory? I.e., run this:

  cd YOUR_DIR && find . -print | cat -A

Also, please rerun your command but pipe its output through "cat -A",
to see if there are unexpected characters in the output:

  $ grep -R foo | cat -A

If that shows nothing surprising, please consider sharing a sample of
real output
where you've substituted XXX for any sensitive file names or contents.