Skip to content

Fix flaky "t5516.81 deny fetch unreachable SHA1, allowtipsha1inwant=false" #240

@dscho

Description

@dscho
Member

This test seems to fail infrequently in our Azure Pipeline, apparently most often in the msvc job. See https://dev.azure.com/Git-for-Windows/git/_build/results?buildId=36820&view=ms.vss-test-web.build-test-results-tab for an example.

Activity

dscho

dscho commented on Jun 4, 2019

@dscho
MemberAuthor

More information (from #257):

This seems to fail every once in a while, especially in Git for Windows' experimental MSVC job of our Azure Pipeline.

The issue seems to be that multiple processes report fatal errors at the same time, and our grep fails to verify that the expected error message was printed because they were interleaved. Example:

++ grep 'remote error:.*not our ref.*64ea4c133d59fa98e86a771eda009872d6ab2886$' err
++ echo 'error: '\''grep remote error:.*not our ref.*64ea4c133d59fa98e86a771eda009872d6ab2886$' 'err'\'' didn'\''t find a match in:'
error: 'grep remote error:.*not our ref.*64ea4c133d59fa98e86a771eda009872d6ab2886$ err' didn't find a match in:
++ test -s err
++ cat err
fatal: git uploadfatal: remote error: upload-pack: not our ref 6-pack: not our ref 64ea4c1334ea4c133d59fa98e86a771eda009872d6ab2886
d59fa98e86a771eda009872d6ab2886
dscho

dscho commented on Oct 30, 2019

@dscho
MemberAuthor

This problem is related, but not identical, to the broken pipe issue on macOS for which a tentative fix was presented in https://public-inbox.org/git/20190830121005.GI8571@szeder.dev/.

dscho

dscho commented on Dec 24, 2020

@dscho
MemberAuthor

Hmm. Seems that that thread has stalled for quite a while now, and VFS for Git still carries 246f269.

@derrickstolee do you think we should do something about it? Like e.g. change the signature of send_request() to return an int, and teach the callers to drain the reader and then call die_errno(_("unable to write to remote"));. From what I see, all three callers are in find_common(), therefore one could be labeled with write_failed and the other two could use a goto write_failed;.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @dscho

      Issue actions

        Fix flaky "t5516.81 deny fetch unreachable SHA1, allowtipsha1inwant=false" · Issue #240 · gitgitgadget/git