Subject: Re: master: t5800-remote-helpers.sh hangs on test "pulling from remote remote"

From: Stefano Lattarini <[email-masked]>
Date: Sun, 15 Apr 2012 13:12:12 +0200

On 04/15/2012 03:11 AM, Clemens Buchacher wrote:
> On Sun, Apr 15, 2012 at 02:00:22AM +0200, Stefano Lattarini wrote:
>>
>> Debug: Remote helper: -> export
>> Got command 'export' with args ''
>> Debug: Remote helper: Waiting...
> 
> Hmm. Looks like fast-import and fast-export are in a deadlock. It's
> probably time to let the experts take over. But if you want to indulge
> me further, you could try again with GIT_TRACE=1.  That should give you
> the arguments to use for the fast-export and fast-import commands right
> before it hangs. Then run ./t5800-remote-helpers.sh -i with the
> following change to make it abort right before git push:
> 
> diff --git a/t/t5800-remote-helpers.sh b/t/t5800-remote-helpers.sh
> index 1c62001..c4855e9 100755
> --- a/t/t5800-remote-helpers.sh
> +++ b/t/t5800-remote-helpers.sh
> @@ -68,7 +68,8 @@ test_expect_success 'pushing to local repo' '
>         (cd localclone &&
>         echo content >>file &&
>         git commit -a -m three &&
> -       git push) &&
> +       false &&
> +       GIT_TRACE=1 GIT_TRANSPORT_HELPER_DEBUG=1 GIT_DEBUG_TESTGIT=1 git push) &&
>         compare_refs localclone HEAD server HEAD
>  '
>  
> 
As your later reply pointed out: yes, I had missed the remaining part of your
message :-(  Sorry for the confusion.  I'm going to reply to it now.

> You can manually now run fast-export using the arguments from the first
> run, for example in my case:
> 
>  cd trash\ directory.t5800-remote-helpers
>  (cd localclone; git 'fast-export' '--use-done-feature' '--export-marks=.git/info/fast-import/cbf054fee258a261ee43ebdc835f0da71b3d1562/testgit.marks' '--import-marks=.git/info/fast-import/cbf054fee258a261ee43ebdc835f0da71b3d1562/testgit.marks' '^refs/testgit/origin/master' 'refs/heads/master') |
> 
> That should output:
> 
> feature done
> blob
> mark :5
> data 24
> content
> content
> content
> 
> commit refs/heads/master
> mark :6
> author A U Thor <[email-masked]> 1334451823 +0000
> committer C O Mitter <[email-masked]> 1334451823 +0000
> data 6
> three
> from :4
> M 100644 :5 file
> 
> done
> 
>
Nope, for me it fails with status '128' and with this error message:

  fatal: cannot read '.git/info/fast-import/cbf054fee258a261ee43ebdc835f0da71b3d1562/testgit.marks': No such file or directory

> Finally, you can manually pipe fast-export to fast-import, again using
> the arguments from the first run:
> 
>  cd trash\ directory.t5800-remote-helpers
>  (cd localclone; git 'fast-export' '--use-done-feature' '--export-marks=.git/info/fast-import/cbf054fee258a261ee43ebdc835f0da71b3d1562/testgit.marks' '--import-marks=.git/info/fast-import/cbf054fee258a261ee43ebdc835f0da71b3d1562/testgit.marks' '^refs/testgit/origin/master' 'refs/heads/master') |
>  (cd server; git fast-import '--quiet' '--export-marks=/home/drizzd/src/git/t/trash directory.t5800-remote-helpers/localclone/.git/info/fast-import/cbf054fee258a261ee43ebdc835f0da71b3d1562/git.marks' '--import-marks=/home/drizzd/src/git/t/trash directory.t5800-remote-helpers/localclone/.git/info/fast-import/cbf054fee258a261ee43ebdc835f0da71b3d1562/git.marks')
> 
This fails with the following message:

fatal: cannot read '.git/info/fast-import/cbf054fee258a261ee43ebdc835f0da71b3d1562/testgit.marks': No such file or directory
fatal: cannot read '/home/drizzd/src/git/t/trash directory.t5800-remote-helpers/localclone/.git/info/fast-import/cbf054fee258a261ee43ebdc835f0da71b3d1562/git.marks': No such file or directory
fast-import: dumping crash report to .git/fast_import_crash_19819
error: Unable to write marks file /home/drizzd/src/git/t/trash directory.t5800-remote-helpers/localclone/.git/info/fast-import/cbf054fee258a261ee43ebdc835f0da71b3d1562/git.marks: No such file or directory

> If the fast-export output is the same, and if the last command also
> hangs for you, then we can start debugging fast-import.
> 
> Clemens

Thanks,
  Stefano