Re: t5800-*.sh: Intermittent test failures
From: Ramsay Jones <hidden>
Date: 2016-06-15 22:52:00
Junio C Hamano wrote:
Sverre Rabbelier [off-list ref] writes:quoted
On Tue, Aug 9, 2011 at 20:30, Ramsay Jones [off-list ref] wrote:quoted
The git-fast-import is hung in the read() syscall waiting for data which will never arrive. This is because the git(fast-export) process, started by the above git(push), executes (producing it's data on stdout) and completes successfully and exits *before* the above git-fast-import process starts. I haven't looked to see how the git(fast-export)/git-fast-import processes are plumbed together, but there seems to be a synchronization problem somewhere ...This seems odd, before the fast-export process is even started it's stdout are wired to the stdin of the helper (and thus the fast-import process). What indication do you have that fast-import hasn't started and that fast-export has finished? Also, you say git remote-test everywhere, but it should be git remote-testgit, typo?FWIW, I have been seeing this every once in a while.
Good to know I'm not alone ;-P
Unfortunately, I haven't had the time to debug this further than I've
already reported ...
As I said, it's obviously a process plumbing/synchronization problem; the reading
end of the fast-export output pipe must be open for read by someone (probably by
it's parent), otherwise it would receive SIGPIPE (also, the output is small enough
not to fill the pipe) rather than exiting with success.
When I run the tests with "make test >test-out", I see a failure rate of about
1 in 10. If I then set the debug environment variables (GIT_TRANSPORT_HELPER_DEBUG,
GIT_TRANSLOOP_DEBUG and GIT_DEBUG_TESTGIT) and run the test script directly (-v),
then the failure rate goes up to about 1 in 3.
Well, ... I added debug code to git-fast-{im,ex}port which writes the debug info
to a file (can't write to stdout/stderr obviously), so that may well be affecting
the timing enough to increase the chance of a failure. Having said that, If I'm
listening to music (rhythmbox) at the same time, then the failure rate seems to
increase ...
ATB,
Ramsay Jones