Thread (15 messages) 15 messages, 4 authors, 2024-02-27

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

From: Patrick Steinhardt <hidden>
Date: 2024-02-27 14:22:21

On Tue, Feb 27, 2024 at 09:10:55AM -0500, rsbecker@nexbridge.com wrote:
On Tuesday, February 27, 2024 3:46 AM, Patrick Steinhardt wrote:
quoted
On Mon, Feb 26, 2024 at 03:32:14PM +0000, Phillip Wood wrote:
quoted
Hi Randal

[cc'ing Patrick for the reftable writer]
quoted
The question is which call is bad? The cruft stuff is relatively new
and I don't know the code.
quoted
quoted
reftable/writer.c:              int n = w->write(w->write_arg,
zeroed,
quoted
quoted
quoted
quoted
quoted
w->pending_padding);
reftable/writer.c:      n = w->write(w->write_arg, data, len);
Neither of these appear to check for short writes and
reftable_fd_write() is a thin wrapper around write(). Maybe
reftable_fd_write() should be using write_in_full()?
It already does starting with 85a8c899ce (reftable: handle interrupted
writes, 2023-12-11):
quoted
static ssize_t reftable_fd_write(void *arg, const void *data, size_t sz) {
int *fdp = (int *)arg;
return write_in_full(*fdp, data, sz);
}
Unfortunately, this fix is included in what I am testing but does not impact
the issue I am seeing one way or another, but thank you. 
I didn't expect it to :) The mentioned commit only fixes things with the
reftable backend, which is not tested by default. I assume that you
didn't run tests with GIT_TEST_DEFAULT_REF_FORMAT=reftable, and thus
t7704 wouldn't use the reftable code in the first place.

Patrick

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help