Subject: RE: [BUG] 2.44.0 t7704.9 Fails on NonStop ia64

From: <[email-masked]>
Date: Sun, 25 Feb 2024 15:36:49 -0500

On Sunday, February 25, 2024 2:20 PM, Torsten Bögershausen wrote:
>On Sun, Feb 25, 2024 at 02:08:35PM -0500, [email-masked] wrote:
>> On Sunday, February 25, 2024 1:45 PM, I wrote:
>> >To: [email-masked]
>> >Subject: [BUG] 2.44.0 t7704.9 Fails on NonStop ia64
>> >
>> >This appears to be a new issue introduced at 2.44.0. It only occurs
>> >on
>> NonStop ia64
>> >1..9
>[snip]
>>
>> I did find the following calls to write(), one of which might be
involved.
>> write() should not be used directly unless the count is clearly very
small.
>> Xwrite() should be used instead. There are other calls but those are
>> either small or not on platform.
>
>(Probably a typ0: Xwrite() -> xwrite()
>
>But I think that this should be used:
>write_in_full()

My mailer autocorrected, yes, xwrite. write_in_full() would be safe,
although a bit redundant since xwrite() does similar things and is used by
write_in_full(). The question is which call is bad? The cruft stuff is
relatively new and I don't know the code.

>> reftable/writer.c:              int n = w->write(w->write_arg, zeroed,
>> w->pending_padding);
>> reftable/writer.c:      n = w->write(w->write_arg, data, len);
>> run-command.c:                  len = write(io->fd, io->u.out.buf,
>> t/helper/test-path-utils.c:                     if (write(1, buffer,
count)
>> < 0)
>> t/helper/test-windows-named-pipe.c:             write(1, buf, nbr);
>> t/helper/test-windows-named-pipe.c:             write(1, buf, nbr);
>> trace2/tr2_dst.c:       bytes = write(fd, buf_line->buf, buf_line->len);