threads / discuss / 46982

Is t5601 flaky for anybody else?

Subject: Is t5601 flaky for anybody else?

## tl;dr

5 messages between Oct 17, 2017 and Oct 22, 2017.

replies: 4people: 4as markdown or json

Junio C Hamano· Oct 17, 2017, 05:04 UTC · lore

I seem to be seeing sporadic errors with this test, and today I got annoyed enough to do

	cd t && while sh t5601-clone.sh -i -v; do :; done

I saw an error from "cp" saying "plink.exe - text file busy" or something like that at around test #45; here is an workaround that seems to work (the above loop is spinning without problem for several minutes now).

 t/t5601-clone.sh | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index 9c56f771b6..50e40abb11 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -308,6 +308,7 @@ test_expect_success 'clone checking out a tag' '
 
 setup_ssh_wrapper () {
 	test_expect_success 'setup ssh wrapper' '
+		rm -f "$TRASH_DIRECTORY/ssh-wrapper$X" &&
 		cp "$GIT_BUILD_DIR/t/helper/test-fake-ssh$X" \
 			"$TRASH_DIRECTORY/ssh-wrapper$X" &&
 		GIT_SSH="$TRASH_DIRECTORY/ssh-wrapper$X" &&
@@ -318,6 +319,7 @@ setup_ssh_wrapper () {
 }
 
 copy_ssh_wrapper_as () {
+	rm -f "${1%$X}$X" &&
 	cp "$TRASH_DIRECTORY/ssh-wrapper$X" "${1%$X}$X" &&
 	GIT_SSH="${1%$X}$X" &&
 	export GIT_SSH
Brandon Williams· Oct 17, 2017, 17:10 UTC · re: Junio C Hamano · lore

Re: Is t5601 flaky for anybody else?

On 10/17, Junio C Hamano wrote:
Show 9 quoted lines
> I seem to be seeing sporadic errors with this test, and today I got
> annoyed enough to do
> 
> 	cd t && while sh t5601-clone.sh -i -v; do :; done
> 
> I saw an error from "cp" saying "plink.exe - text file busy" or
> something like that at around test #45; here is an workaround that
> seems to work (the above loop is spinning without problem for
> several minutes now).

I haven't noticed any issues myself but maybe this has something to do with my changes to this test in the 'bw/protocol-v1' topic?

Show 24 quoted lines
> 
>  t/t5601-clone.sh | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
> index 9c56f771b6..50e40abb11 100755
> --- a/t/t5601-clone.sh
> +++ b/t/t5601-clone.sh
> @@ -308,6 +308,7 @@ test_expect_success 'clone checking out a tag' '
>  
>  setup_ssh_wrapper () {
>  	test_expect_success 'setup ssh wrapper' '
> +		rm -f "$TRASH_DIRECTORY/ssh-wrapper$X" &&
>  		cp "$GIT_BUILD_DIR/t/helper/test-fake-ssh$X" \
>  			"$TRASH_DIRECTORY/ssh-wrapper$X" &&
>  		GIT_SSH="$TRASH_DIRECTORY/ssh-wrapper$X" &&
> @@ -318,6 +319,7 @@ setup_ssh_wrapper () {
>  }
>  
>  copy_ssh_wrapper_as () {
> +	rm -f "${1%$X}$X" &&
>  	cp "$TRASH_DIRECTORY/ssh-wrapper$X" "${1%$X}$X" &&
>  	GIT_SSH="${1%$X}$X" &&
>  	export GIT_SSH
-- 
Brandon Williams
Junio C Hamano· Oct 17, 2017, 21:02 UTC · re: Brandon Williams · lore

Re* Is t5601 flaky for anybody else?

Brandon Williams <bmwill@google.com> writes:
> I haven't noticed any issues myself but maybe this has something to do
> with my changes to this test in the 'bw/protocol-v1' topic?

As I've seen this on 'master', too, I suspect the topic has nothing to do with it.

Here is what I have on 'pu'.
-- >8 --
From: Junio C Hamano <gitster@pobox.com>
Date: Tue, 17 Oct 2017 14:04:43 +0900
Subject: [PATCH] t5601: rm the target file of cp that could still be executing

"while sh t5601-clone.sh; do :; done" seems to fail sporadically at around test #45 where fake-ssh wrapper is copied create plink.exe, with an error message that says the "text is busy".

I have a mild suspicion that the root cause of the bug is that the fake SSH process from the previous test is still running by the time the next test wants to replace it with a new binary, but in the meantime, removing the target that could still be executing before copying something else over seems to work it around.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 t/t5601-clone.sh | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index 9c56f771b6..50e40abb11 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -308,6 +308,7 @@ test_expect_success 'clone checking out a tag' '
 
 setup_ssh_wrapper () {
 	test_expect_success 'setup ssh wrapper' '
+		rm -f "$TRASH_DIRECTORY/ssh-wrapper$X" &&
 		cp "$GIT_BUILD_DIR/t/helper/test-fake-ssh$X" \
 			"$TRASH_DIRECTORY/ssh-wrapper$X" &&
 		GIT_SSH="$TRASH_DIRECTORY/ssh-wrapper$X" &&
@@ -318,6 +319,7 @@ setup_ssh_wrapper () {
 }
 
 copy_ssh_wrapper_as () {
+	rm -f "${1%$X}$X" &&
 	cp "$TRASH_DIRECTORY/ssh-wrapper$X" "${1%$X}$X" &&
 	GIT_SSH="${1%$X}$X" &&
 	export GIT_SSH
-- 
2.15.0-rc1-178-ge1264d9eb8
Jeff King· Oct 17, 2017, 21:08 UTC · re: Junio C Hamano · lore

Re: Re* Is t5601 flaky for anybody else?

On Wed, Oct 18, 2017 at 06:02:59AM +0900, Junio C Hamano wrote:
Show 9 quoted lines
> Brandon Williams <bmwill@google.com> writes:
> 
> > I haven't noticed any issues myself but maybe this has something to do
> > with my changes to this test in the 'bw/protocol-v1' topic?
> 
> As I've seen this on 'master', too, I suspect the topic has nothing
> to do with it.
> 
> Here is what I have on 'pu'.

FWIW, I can't replicate the problem on either "master" or "pu". I wonder why.

-Peff
Kaartic Sivaraam· Oct 22, 2017, 09:36 UTC · re: Jeff King · lore

Re: Re* Is t5601 flaky for anybody else?

On Tue, 2017-10-17 at 17:08 -0400, Jeff King wrote:
Show 5 quoted lines
> On Wed, Oct 18, 2017 at 06:02:59AM +0900, Junio C Hamano wrote:
> 
> FWIW, I can't replicate the problem on either "master" or "pu". I wonder
> why.
> 

Neither can I. I tried running t5601 on "master" and on "pu" after reverting the patch found in this thread. Both ran successfully without issues.

-- 
Kaartic

← back to recent threads