delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/12/06/13:08:29

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <3C0FB399.2020300@ece.gatech.edu>
Date: Thu, 06 Dec 2001 13:06:17 -0500
From: Charles Wilson <cwilson AT ece DOT gatech DOT edu>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.4) Gecko/20010914
X-Accept-Language: en-us
MIME-Version: 1.0
To: Jason Tishler <jason AT tishler DOT net>
CC: Michael Hudson <mwh AT python DOT net>, david_abrahams AT users DOT sourceforge DOT net,
Cygwin <cygwin AT sources DOT redhat DOT com>
Subject: Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...)
References: <20011206124426 DOT B1448 AT dothill DOT com>
X-Virus-Scanned: by amavisd-milter (http://amavis.org/)

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...

--Chuck






--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019