Re: t5800-*.sh: Intermittent test failures
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:52:22
Sverre Rabbelier [off-list ref] writes:
Ævar, this seems like something we could look at during the mini GitTogether in Amsterdam this Saturday, no?
Have fun.
I think I happened to hit this while testing today's 'pu' that hasn't been
pushed out. The process chain looks like this:
pid command stuck at
4767 sh t5800-remote-helpers.sh wait4(-1)
4793 git push read(6)
4809 git-remote-testgit wait4(4906)
4906 git fast-import wait4(4912)
4912 git-fast-import read(0)
lr-x------ 1 junio junio 64 Nov 2 18:21 /proc/4793/fd/6 -> pipe:[133037701]
l-wx------ 1 junio junio 64 Nov 2 18:21 /proc/4793/fd/7 -> pipe:[133037700]
lr-x------ 1 junio junio 64 Nov 2 18:21 /proc/4793/fd/8 -> pipe:[133037701]
lr-x------ 1 junio junio 64 Nov 2 18:05 /proc/4809/fd/0 -> pipe:[133037700]
l-wx------ 1 junio junio 64 Nov 2 18:05 /proc/4809/fd/1 -> pipe:[133037701]
lr-x------ 1 junio junio 64 Nov 2 18:05 /proc/4906/fd/0 -> pipe:[133037700]
l-wx------ 1 junio junio 64 Nov 2 18:05 /proc/4906/fd/1 -> pipe:[133037701]
lr-x------ 1 junio junio 64 Nov 2 18:03 /proc/4912/fd/0 -> pipe:[133037700]
l-wx------ 1 junio junio 64 Nov 2 18:03 /proc/4912/fd/1 -> pipe:[133037701]
So "git push (4793)" is stuck reading from pipe:[133037701], expecting the
innermost "git-fast-import (4912)" to write to it via its standard output,
but the latter is waiting to read from pipe:[133037700], hoping the former
to write to it via its fd#7.
Does this deadlock ring a bell to anybody who's involved in these
codepaths?