This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]