4

I am trying to run git from the command line on my Windows 7, 64 bit machine. It works fine for the most part. I tried pushing my local changes up to my private repository in the cloud.

The command I am trying to run is git push origin master

I use Cygwin 6.1 and it is causing the following error. Presumably related to the fact that I am running on a 64 bit machine

0 [main] git-remote-http 6168 fork: child -1 - died waiting for longjmp before initialization, retry 10, exit code 0xC0000135, errno 11 error: cannot fork() for send-pack: Resource temporarily unavailable

I followed the suggestions here to update my rebaseall file and reran the rebase command. But it didn't really seem to have helped.

Can anyone else reproduce the problem or have found a solution?

Thanks in advance for the help.

Chaitanya
  • 5,203
  • 8
  • 36
  • 61
  • 3
    At least you can try the same command with a msysgit installation instead of a Git under Cygwin. http://code.google.com/p/msysgit/ – VonC Sep 06 '11 at 17:10
  • Yup. that worked for me. If you can put that as an answer, I would be glad to accept it. – Chaitanya Sep 13 '11 at 13:10

3 Answers3

2

The Cygwin mantra I used is "fork failures are rebase issues". longjmp is not the issue, fork is. Rebase is the only solution unfortunately. In the past I have used custom scripts to build the rebase list. I do this because you may be missing some DLLs, especially if you have hand-built stuff. You can build a list with find and then pass it in to rebaseall with -T. You should also consider trying a different base address other than the default one in rebaseall, look at the -b option. 64-bit machines seem to require larger spacing than 32-bit ones and so the default didn't work well for me.

Also if you change any DLLs on your system at all, you'll need to rebase again.

Note: Even after all this fork can still fail in Cygwin. Virus scanners inject their DLLs which screw things up and Windows address space randomization doesn't help either.

mfisch
  • 979
  • 9
  • 15
2

The answer mfisch gave worked wonders for my problem.

A quick google search yielded this result which let me git push again in no time at all. The required packages came with the default cygwin install, so I didn't even have to install anything.

Uwe Keim
  • 39,551
  • 56
  • 175
  • 291
carl14706
  • 21
  • 1
0

The other alternative is to use the msysgit distribution, which will allows you to make any git command without depending on the cygwin environment.

See also "Difference between msysgit and 'cygwin + git'?".

Community
  • 1
  • 1
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250