Subject: bug#62216: Narrowed the issue to one line

From: Eli Zaretskii <[email-masked]>
Date: Sun, 20 Aug 2023 18:26:33 +0300

> Date: Sun, 20 Aug 2023 13:38:26 +0000
> From:  Jonathon McKitrick via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> Progress!
> 
> This line is the culprit, around 4807:
> 
> ptrdiff_t trytry = min (gap_size, READ_BUF_SIZE);
> 
> When I replace it with this, from an older version:
> 
> ptrdiff_t trytry = min (total - inserted, READ_BUF_SIZE);
> 
> The problem disappears.
> 
> This change was made to address bug #9800, when inserting large files from /proc.
> 
> I don't understand the code well enough to understand why this change is causing the issue I'm seeing,
> or if my 'fix' will break something else. I just know it's working for me and doesn't seem to cause issues otherwise.
> However, it ignores 'gap_size', so I'm pretty sure that's not the correct way to fix this code.
> Maybe it should be used 2 lines below? Again, I don't have the context to do anything but guess.
> 
> I'll keep testing locally, but I'd be interested in feedback on this change.

Po Lu, Paul: any idea why that could be the case in the OP's scenario?
The only thing that comes to my mind is some weirdness of the OP's
filesystem.