delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/02/08/10:35:15

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
Date: Wed, 8 Feb 2012 16:34:04 +0100
From: Denis Excoffier <Denis DOT Excoffier AT c-s DOT fr>
To: cygwin AT cygwin DOT com
Subject: Re: cygwin-1.7.10-1 fork - address space needed by ... already in use
Message-ID: <20120208153428.GA5032@qp9482>
References: <20120207161428 DOT GB12159 AT calimero DOT vinschen DOT de> <4F31559B DOT 6060600 AT cs DOT utoronto DOT ca> <B0ED7173-1AC3-4B4E-8B79-3A9B22652684 AT Denis-Excoffier DOT org> <20120208090824 DOT GA1724 AT qp9482> <20120208092711 DOT GF25129 AT calimero DOT vinschen DOT de> <20120208102235 DOT GA2796 AT qp9482> <20120208130012 DOT GG25129 AT calimero DOT vinschen DOT de> <20120208133502 DOT GH25129 AT calimero DOT vinschen DOT de> <20120208145527 DOT GA4644 AT qp9482> <loom DOT 20120208T155920-165 AT post DOT gmane DOT org>
MIME-Version: 1.0
In-Reply-To: <loom.20120208T155920-165@post.gmane.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

--+HP7ph2BbKc20aGI
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Wed, Feb 08, 2012 at 03:05:33PM +0000, Heiko Elger wrote:
>> Denis Excoffier writes:
>> 
>> > Here it is. Enjoy!
>> >       1 [main] gcc-4 5440 dll_list::reserve_space: address space needed 
>> by 'cygiconv-2.dll' (file
>> > D:\Home\dexcoff1\dexcoff1\cygwin2011f\bin\cygiconv-2.dll) (0x674C0000 with 
>> type 1=DLL_LINK)
>> >    1580 [main] gcc-4 5440 dll_list::reserve_space: address space needed 
>> by 'cygintl-8.dll' (file
>> > D:\Home\dexcoff1\dexcoff1\cygwin2011f\bin\cygintl-8.dll) (0x6F5C0000 with 
>> type 1=DLL_LINK)
>> >    1899 [main] gcc-4 5440 dll_list::reserve_space: address space needed 
>> by 'cygiconv-2.dll' (file
>> > \\?\D:\Home\dexcoff1\dexcoff1\cygwin2011f\bin\cygiconv-2.dll) (0x674C0000 
>> with type 2=DLL_LOAD)
>> >    2562 [main] gcc-4 5440 dll_list::reserve_space: address space needed 
>> by 'cygintl-8.dll' (file
>> > \\?\D:\Home\dexcoff1\dexcoff1\cygwin2011f\bin\cygintl-8.dll) (0x6F5C0000 
>> with type 2=DLL_LOAD)
>> >    3290 [main] gcc-4 5440 child_info_fork::abort: address space needed 
>> by 'cygiconv-2.dll' (0x674C0000)
>> > is already occupied
>> >       2 [main] gcc 3408 fork: child -1 - forked process died unexpectedly, 
>> retry 0, exit code 1, errno 11
>> > 
>> 
>> Hello Denis,
>> 
>> thanks a lot for your testing ...
>> 
>> Is is possible to send me the snapshot patches responsible for this output.
Here it is (attached).

Good luck.

Denis Excoffier.

--+HP7ph2BbKc20aGI
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="instrument.patch"

diff -cNr 0/dll_init.cc 1/dll_init.cc
*** 0/dll_init.cc	Wed Feb  8 16:10:49 2012
--- 1/dll_init.cc	Wed Feb  8 16:17:40 2012
***************
*** 426,434 ****
  dll_list::reserve_space ()
  {
    for (dll* d = dlls.istart (DLL_LOAD); d; d = dlls.inext ())
!     if (!VirtualAlloc (d->handle, d->image_size, MEM_RESERVE, PAGE_NOACCESS))
        fabort ("address space needed by '%W' (%p) is already occupied",
  	      d->modname, d->handle);
  }
  
  /* Reload DLLs after a fork.  Iterates over the list of dynamically loaded
--- 426,440 ----
  dll_list::reserve_space ()
  {
    for (dll* d = dlls.istart (DLL_LOAD); d; d = dlls.inext ())
! #define TYPE_SHOW(x) ((x) == DLL_NONE) ? "DLL_NONE" : ((x) == DLL_LINK) ? "DLL_LINK" : ((x) == DLL_LOAD) ? "DLL_LOAD" : ((x) == DLL_ANY) ? "DLL_ANY" : "DLL_(unknown)"
!     if (!VirtualAlloc (d->handle, d->image_size, MEM_RESERVE, PAGE_NOACCESS)) {
!       for (dll* d_alt = dlls.start.next; d_alt; d_alt = d_alt->next) {
!         system_printf ("address space needed by '%W' (file %W) (%p with type %d=%s)",
! 	        d_alt->modname, d_alt->name, d_alt->handle, d_alt->type, TYPE_SHOW(d_alt->type));
!       };
        fabort ("address space needed by '%W' (%p) is already occupied",
  	      d->modname, d->handle);
+     };
  }
  
  /* Reload DLLs after a fork.  Iterates over the list of dynamically loaded


--+HP7ph2BbKc20aGI
Content-Type: text/plain; charset=us-ascii

--
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
--+HP7ph2BbKc20aGI--

- Raw text -


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