git fork failure on pull with a workaround (hopefully a clue for a fix)

Bill Hoffman bill.hoffman@kitware.com
Thu Nov 15 22:06:00 GMT 2012


Hopefully more useful information...  :)


I used GIT_TRACE=1 to figure out where in the git pull things go bad and 
found something potentially interesting.

I get the fork failure if I do this:

$ /cygdrive/c/cygwin/lib/git-core/git.exe 'fetch' '--update-head-ok'
       2 [main] git 6380 fork: child -1 - forked process 3928 died 
unexpectedly, retry 0, exit code -1073741515, errno 11
error: cannot fork() for rev-list: Resource temporarily unavailable
error: Could not run 'git rev-list'
   35915 [main] git 6380 fork: child -1 - forked process 4324 died 
unexpectedly, retry 0, exit code -1073741515, errno 11
error: cannot fork() for rev-list: Resource temporarily unavailable
error: Could not run 'git rev-list'
error: git://kwsource.kitwarein.com/computer-vision/vision-tpl.git did 
not send all necessary objects


However, if I do this:
  /usr/bin/git.exe 'fetch' '--update-head-ok'

It does not fail, but works.

These seem to be the same file:
$ ls -l /usr/bin/git.exe
-rwxr-xr-x 109 hoffman root 1159694 Feb 13  2012 /usr/bin/git.exe

hoffman@exarius ~/Work/vision/vidtk-bootstrap/b/Sources/vision_tpl
$ ls -l /cygdrive/c/cygwin/lib/git-core/git.exe
-rwxr-xr-x 109 hoffman root 1159694 Feb 13  2012 
/cygdrive/c/cygwin/lib/git-core/git.exe
$ diff /cygdrive/c/cygwin/lib/git-core/git.exe /usr/bin/git.exe

 From the strace I posted you can see that git pull invokes git from 
C:\cygwin\lib\git-core\git.exe and not /usr/bin/git.exe.

It seems to matter where git.exe is.

I copied /usr/bin/git.exe to the current directory and it fails:

$ GIT_TRACE=1 ./git.exe 'fetch' '--update-head-ok'
trace: built-in: git 'fetch' '--update-head-ok'
trace: run_command: 'rev-list' '--verify-objects' '--stdin' '--not' 
'--all' '--quiet'
      84 [main] git 3896 fork: child -1 - forked process 8320 died 
unexpectedly, retry 0, exit code -1073741515, errno 11
error: cannot fork() for rev-list: Resource temporarily unavailable
error: Could not run 'git rev-list'
trace: run_command: 'rev-list' '--verify-objects' '--stdin' '--not' '--all'
   32347 [main] git 3896 fork: child -1 - forked process 8756 died 
unexpectedly, retry 0, exit code -1073741515, errno 11
error: cannot fork() for rev-list: Resource temporarily unavailable
error: Could not run 'git rev-list'

If I run the same command from /usr/bin/git.exe it works:

$ GIT_TRACE=1 /usr/bin/git.exe 'fetch' '--update-head-ok'
trace: built-in: git 'fetch' '--update-head-ok'
trace: run_command: 'rev-list' '--verify-objects' '--stdin' '--not' 
'--all' '--quiet'
trace: run_command: 'rev-list' '--verify-objects' '--stdin' '--not' '--all'
trace: exec: 'git' 'rev-list' '--verify-objects' '--stdin' '--not' '--all'
trace: built-in: git 'rev-list' '--verify-objects' '--stdin' '--not' '--all'


-Bill

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list