Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Fri, 7 Dec 2001 09:50:06 -0500 (EST) From: Michael Hudson To: Charles Wilson cc: Jason Tishler , , Cygwin Subject: Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...) In-Reply-To: <3C0FB399.2020300@ece.gatech.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Thu, 6 Dec 2001, Charles Wilson wrote: > Jason Tishler wrote: > > > >> > >>building 'gdbm' extension > >>gcc -g -O3 -Wall -Wstrict-prototypes -DUSE_DL_IMPORT -I. -I/cygdrive/e/Python-2.2b2/./Include -I/usr/local/include -IInclude/ -c /cygdrive/e/Python-2.2b2/Modules/gdbmmodule.c -o build/temp.cygwin-1.3.5-i686-2.2/gdbmmodule.o > >>e:\buildpy\python.exe: *** unable to remap > >>C:\cygnus\bin\cygssl.dll to same address as parent -- 0x1A7C0000 > >> 0 [main] python 1292 sync_with_child: child 1108 (0xF0) died before initialization with status code 0x1 > >> 25901 [main] python 1292 sync_with_child: *** child state child loading dlls > >>error: Resource temporarily unavailable > >>make: *** [sharedmods] Error 1 > >> > > > > The above occurs during Cygwin's fork() when the Cygwin DLL cannot > > load a DLL to the same address in the child that it had in the parent. > > I have seen this during Python 2.1.1 regression tests with threads > > enabled. > > > Part of the problem may be that cyggdbm.dll was built with > --auto-image-base. It was later demonstrated that this can cause > problems with fork; you're better off just letting ld assign the default > dllbase, which means that EVERY process will remap the dll at runtime. > Thus, no hardcoded conflicts. Downside: *very* slightly delay in > loading DLLs -- probably unnoticeable. > > (Did I get that right, robert?) > > Anyway, I plan to redo cyggdbm "eventually" without the > --auto-image-base. Doing so *may* fix this problem, but I'm not sure... I didn't get Jason's email. Odd that. Anyway, it's more than just gdbm; if I stop that building, then termios fails in a similar manner; disable that and it's resource. And so on. This is really ******* annoying (tm); I'm trying to fix generic Python bugs and have to scp my changes onto another machine to test them... Cheers, M. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/