From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3848 invoked by alias); 10 Dec 2001 12:46:49 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Received: (qmail 3785 invoked from network); 10 Dec 2001 12:46:40 -0000 Received: from unknown (HELO itdomain003.itdomain.net.au) (203.63.157.208) by sources.redhat.com with SMTP; 10 Dec 2001 12:46:40 -0000 Received: from lifelesswks ([144.137.119.66]) by itdomain003.itdomain.net.au with Microsoft SMTPSVC(5.0.2195.3779); Mon, 10 Dec 2001 23:46:38 +1100 Message-ID: <01ff01c18178$115a8c50$0200a8c0@lifelesswks> From: "Robert Collins" To: "Jason Tishler" , "Cygwin" Cc: "Michael Hudson" , References: <20011210074629.B2148@dothill.com> Subject: Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...) Date: Mon, 10 Dec 2001 05:13:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-OriginalArrivalTime: 10 Dec 2001 12:46:38.0366 (UTC) FILETIME=[B577A3E0:01C18178] X-SW-Source: 2001-12/txt/msg00533.txt.bz2 Possibly because the cygwin heap is getting allocated across where those .dll's would go. Rob === ----- Original Message ----- From: "Jason Tishler" To: "Cygwin" Cc: "Michael Hudson" ; Sent: Monday, December 10, 2001 11:46 PM Subject: Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...) > On Sat, Dec 08, 2001 at 10:08:14AM +1100, Robert Collins wrote: > > Yes. There is actually a longer term solution... which is to 'rebase' > > every cygwin linked .dll on a particular system to not conflict with > > each other - which has to be done by setup.exe. > > I just tried a hand rebase of my system using the MS supplied rebase > tool to see if this will fix the problem at least for the Python case. > Specifically, I rebased the following DLLs: > > o Python DLL (e.g., libpython2.2.dll) > o all Python standard shared extension modules (e.g., _socket.dll) > o all Cygwin DLLs in /usr/bin that match cyg*.dll except for the > following: > > - cygwin1.dll: since I believe that it relies on being based > at 0x61000000 > - cygcurl-2.dll: because it gets "whacked" by rebase and > AFAICT is not used by Python anyway > - cygtclpip80.dll: because it appears not to be relocatable > > Additionally, following the suggestions from the MSDN, I rebased from > 0x68000000 down. So, all of the above DLLs were rebased into the range > of 0x672e0000 - 0x68000000. > > After rebasing, the minimal test case that previously exhibited the > problem: > > http://cygwin.com/ml/cygwin/2001-12/msg00419.html > > now works fine. > > Unfortunately, when I run the complete Python regression test, I still > get the same three test failures as reported by Michael without rebasing: > > test_popen2 > test_pty > test_socket > > When I run these tests individually (i.e., not part of the complete test > suite), then they pass. Hence, the rebasing appears not to completely > solve this problem. > > See the attached snippet of output from a regression test run (and > search for 0x1A). It shows that although there should not be DLL base > address conflicts, some DLLs are being rebased in the parent anyway. > A few examples are: > > _socket.dll: rebased to 0x67f50000 loaded at 0x1A260000 > cygz.dll: rebased to 0x678b0000 loaded at 0x1A310000 > > Would other Python users (with access to MS's rebase tool) be willing > to try to reproduce my findings to eliminate the possibility of cockpit > error on my part? > > Does anyone understand why the DLLs are being rebased even though there > theoretically is no chance of a base address conflict anymore? > > Thanks, > Jason > ------------------------------------------------------------------------ -------- > -- > 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/ -- 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/