git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[RFC] t5516 "75 - deny fetch unreachable SHA1, allowtipsha1inwant=true" flaky?

From
Lars Schneider <larsxschneider@gmail.com>
Date
Oct 24, 2015, 13:08 UTC
Message-ID
<9A3BCDA2-5915-4287-A385-95A3ACCBB850@gmail.com>
Hi,

while working on the Git CI integration I noticed that t5516 "75 - deny fetch unreachable SHA1, allowtipsha1inwant=true" (introduced in 68ee628) seems to be flaky on TravisCI. I get the following output in verbose mode:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
expecting success: 
        mk_empty testrepo &&
        (
            cd testrepo &&
            git config uploadpack.allowtipsha1inwant $configallowtipsha1inwant &&
            git commit --allow-empty -m foo &&
            git commit --allow-empty -m bar &&
            git commit --allow-empty -m xyz
        ) &&
        SHA1_1=$(git --git-dir=testrepo/.git rev-parse HEAD^^) &&
        SHA1_2=$(git --git-dir=testrepo/.git rev-parse HEAD^) &&
        SHA1_3=$(git --git-dir=testrepo/.git rev-parse HEAD) &&
        (
            cd testrepo &&
            git reset --hard $SHA1_2 &&
            git cat-file commit $SHA1_1 &&
            git cat-file commit $SHA1_3
        ) &&
        mk_empty shallow &&
        (
            cd shallow &&
            test_must_fail git fetch ../testrepo/.git $SHA1_3 &&
            test_must_fail git fetch ../testrepo/.git $SHA1_1 &&
            git --git-dir=../testrepo/.git config uploadpack.allowreachablesha1inwant true &&
            git fetch ../testrepo/.git $SHA1_1 &&
            git cat-file commit $SHA1_1 &&
            test_must_fail git cat-file commit $SHA1_2 &&
            git fetch ../testrepo/.git $SHA1_2 &&
            git cat-file commit $SHA1_2 &&
            test_must_fail git fetch ../testrepo/.git $SHA1_3
        )
    
Initialized empty Git repository in /home/travis/build/larsxschneider/git/t/trash directory.t5516-fetch-push/testrepo/.git/
[master (root-commit) a6b22ca] foo
 Author: A U Thor <author@example.com>
[master 5e26403] bar
 Author: A U Thor <author@example.com>
[master 64ea4c1] xyz
 Author: A U Thor <author@example.com>
HEAD is now at 5e26403 bar
tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
author A U Thor <author@example.com> 1112912053 -0700
committer C O Mitter <committer@example.com> 1112912053 -0700
foo
tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent 5e26403b4485d7a44fd8b65dc3f71e21c0dd6fad
author A U Thor <author@example.com> 1112912053 -0700
committer C O Mitter <committer@example.com> 1112912053 -0700
xyz
Initialized empty Git repository in /home/travis/build/larsxschneider/git/t/trash directory.t5516-fetch-push/shallow/.git/
fatal: git upload-pack: not our ref 64ea4c133d59fa98e86a771eda009872d6ab2886
test_must_fail: died by signal: git fetch ../testrepo/.git 64ea4c133d59fa98e86a771eda009872d6ab2886
not ok 75 - deny fetch unreachable SHA1, allowtipsha1inwant=true 
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
"git fetch ../testrepo/.git $SHA1_3" seems to die as follows:
1. fetch-pack.c:408 goto done;
2. fetch-pack.c:447 done:
3. fetch-pack.c:229 static void send_request... (send "0009done\n" --> 9 bytes)
4. write_or_die.c:74 write_or_die
5. wrapper.c:331 write_in_full
6. wrapper.c:281 xwrite
7. wrapper.c:287 write --> just dies with exit code 141?!
(use 4688abf to match the line numbers)

You can find the full logs about the CI run here: https://travis-ci.org/larsxschneider/git/jobs/86984110

I repeatedly executed this test to demonstrate the flakiness: failed after 100 attempts: https://travis-ci.org/larsxschneider/git/jobs/87181753 failed after 1876 attempts: https://travis-ci.org/larsxschneider/git/jobs/87181754 (all executed on bbd2929 from https://github.com/larsxschneider/git)

Unfortunately I was not able to make it fail on my local machine (OS X 10.9) nor on my VM (Ubuntu 14.10). Travis CI uses Ubuntu 12.04 LTS Server Edition 64 bit with a AUFS file system.

Has anyone an idea what might causes these failures or can give me pointers how to investigate it?

Thank you, Lars

Next: Fredrik Medley
Message 1 of 9 in “[RFC] t5516 "75 - deny fetch unreachable SHA1, allowtipsha1inwant=true" flaky?”
  1. Lars SchneiderOct 24, 2015
  2. Fredrik MedleyOct 25, 2015
  3. Lars SchneiderOct 25, 2015
  4. Junio C HamanoOct 25, 2015
  5. Junio C HamanoOct 30, 2015
  6. test: accept death by SIGPIPE as a valid failure modeJunio C Hamano, Oct 30, 2015
  7. Jeff KingNov 5, 2015
  8. Lars SchneiderNov 5, 2015
  9. Junio C HamanoNov 5, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.