X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00 X-Spam-Check-By: sourceware.org Message-ID: <4B169940.1090001@cs.umass.edu> Date: Wed, 02 Dec 2009 11:43:44 -0500 From: Eliot Moss User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: 1.7 fork errors in Win7 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Luis P Caamano wrote: > I'm running 1.7.0-67 on Windows 7 64 bit: > > $ uname -v > 2009-11-27 15:38 > > and I'm getting sporadic for errors like this one: > > $ svn commit -m "xxx yyy" > 2 [main] svn 5924 fork: child -1 - died waiting for longjmp > before initialization, retry 0, exit code 0xC0000005, errno 11 > svn: Commit failed (details follow): > svn: Can't create tunnel: Resource temporarily unavailable > > This is not limited to svn of course, just one example. My cygwin > environment is very usable as these are not that frequent but every > time I'm thinking all is well, one of these comes up to remind me it's > not. > > Is this a known issue? > Is there any information I can provide to help debug and fix this? > Is there anything I can do on my end to investigate the issue? > > Thanks in advance for all your work on 1.7, it's looking good. This "smells" like collisions with Windows dll's, which can happen somewhat randomly because of Address Space Randomization in recent Windows OSs. What fixes it for me is suitably rebasing all cygwin dll, so, and exe files appropriately. Details: /bin/rebase -d -b 0x61000000 -o 0x20000 -v -T > rebase.out and /bin/peflags -d0 -v -T > peflags-d.out /bin/peflags -t0 -v -T > peflags-t.out Corinna and others say that this should not be necessary, but I get problems with certain forking programs if I don't do it. Note the -o flag, which makes sure that items are far enough apart that certain metadata does not cause problems. Do read up on how to use rebase and peflags! They need to be called from ash, not bash, since otherwise soe of the dll's will be open. Also, I have found the need to drop one or two specific files from the list of *all* so, dll, and exe files that I build with find, so do check the output, etc. Regards -- Eliot Moss -- 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