Re: do people find t5504.8 flaky?
- Date: Mon, 22 Apr 2019 23:02:54 -0400
- From: Jeff King <peff@xxxxxxxx>
- Subject: Re: do people find t5504.8 flaky?
On Tue, Apr 23, 2019 at 11:45:17AM +0900, Junio C Hamano wrote:
> I have been seeing occasional failures of t5504-fetch-receive-strict
> test on the cc/replace-graft-peel-tags topic, but it seems that the
> fork point of that topic from the mainline already fails the same
> step #8, only less frequently.
> The push is rejected as expected, but the remote side that receives
> the "push" fails and the local side does not leave an expected
> output we expect when the test fails.
No, I haven't seen it fail, nor does running with --stress turn up
anything. But looking at the test I would not be at all surprised if we
have races around error hangups. I believe that index-pack will die
unceremoniously as soon as something fails to pass its fsck check.
The client will keep sending data, and may hit a SIGPIPE (or the network
equivalent), depending on how much slack there is in the buffers,
whether we hit the problem as a base object or after we receive
everything and start resolving deltas, etc.
I think after seeing a fatal error we probably ought to consider pumping
the rest of the bytes from the client to /dev/null. That's wasteful, but
it's the only clean way to get a message back, I think. It would also
give us the opportunity to complain about other objects, too, if there
are multiple (it might make sense to abort before resolving deltas,
though; at that point we have all of the data and that phase is very CPU