delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2018/01/12/04:26:47

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=upSDDA5CE4Xk4UYoTR17hWANMWYBqEx0RxmMqxKfX/hrUKiGwgRCp
BflgdhvRQCN1YrhHFT5rp2AEGZsAKHdmWdaLDP8PJDCDogTJiL2iX4vJnVHsvgpu
voGdreGeVm/ZMXNAjDuccG4yZxiaPj8uj4hWoCst06pr0dkjTmgsIc=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=3ljHyFkM3dVd3K6de223V006Ois=; b=eA1A5WmPAcsEuihglvr+Mjvrj4yy
2SGHQQ9pf/9wqiJDxEVX6toguK2/GPcsMzHKn33JNaCipNmrW5ZKCeNwnNvtu5Dd
b+e6inOXrid6/rawiTKk98ueGiro0SHkyvkARnqfK4vNuhcCwqXdH0UqsyDYOA99
ylGX5fNHVRmormM=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.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
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-97.9 required=5.0 tests=AWL,BAYES_50,GOOD_FROM_CORINNA_CYGWIN,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_BRBL_LASTEXT,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=stress, 4.4.2-1, 0x00010000, 0xfff80000
X-HELO: drew.franken.de
Date: Fri, 12 Jan 2018 10:13:44 +0100
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: rebase-4.4.3-1 regression: Too many DLLs for available address space
Message-ID: <20180112091344.GA20334@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <98715417-cabe-7b0f-8767-fd114cc929e8 AT t-online DOT de> <1185EB5F-53C1-4F84-BB14-4424F8C60074 AT Denis-Excoffier DOT org>
MIME-Version: 1.0
In-Reply-To: <1185EB5F-53C1-4F84-BB14-4424F8C60074@Denis-Excoffier.org>
User-Agent: Mutt/1.9.1 (2017-09-22)

--ZPt4rx8FFjLCG7dd
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Jan 11 22:52, Denis Excoffier wrote:
> > On 2018-01-11 13:32, Christian Franke wrote:
> >=20
> > After 4.4.3-1 upgrade, rebase always fails on 32- and 64-bit Cygwin:
> >=20
> > $ rebase -s -T /var/cache/rebase/rebase_all
> > rebase: Too many DLLs for available address space: Cannot allocate memo=
ry
> >=20
> > Using /bin/rebaseall does not help.
> >=20
> > A downgrade to 4.4.2-1 fixes the problem.
> >=20
> Same for me. I also tried rebase-4.4.3 and it didn't work (message in set=
up.log and no /etc/re* created).
> Therefore i also switched back to 4.4.2.
>=20
> I would like to add that under my system (Windows 7 32bits), when i autor=
ebase everything (full),
> the 'rebase -si' function (rebase-4.4.2) produces the following result:
>=20
> /usr/bin/cygvpx-3.dll                         base 0x002d0000 size 0x0020=
1000
> /usr/bin/cygvpx-1.dll                         base 0x004e0000 size 0x001e=
d000
> /usr/bin/cygvorbisfile-3.dll                  base 0x006d0000 size 0x0001=
0000
> ...
> [...]
> /usr/bin/cygvte-9.dll                         base 0xffee0000 size 0x0009=
9000
> /usr/bin/cygvte-2.91-0.dll                    base 0xfff80000 size 0x0005=
f000
> /usr/bin/cygvpx-4.dll                         base 0xfffe0000 size 0x002e=
2000
> [...]
> Is this expected, this kind of arithmetic modulo 2^32?

Yes, because rebase was not designed originally with a lower address
boundary, so it just dilligently computes addresses and never checks if
a boundary is crossed.  At the time when this was designed we had
hundreds, rather than thousands of DLLs, and it didn't occur any of us
that the distro would grow to these dimensions.

I pushed a patch yesterday which let rebase bail out as soon as the
address gets < 0x1000000.  That's only barely above the usual address
executables are loaded to (0x400000).  The regions beneath that are
usually used for the main thread stack (0x20000 - 0x220000) and various
helper address mappings.

I releaase rebase 4.4.4 with the above patch today.

> In any case, i have no fork problems.

That may be as it is, but if you're really running a 32 bit Windows, in
contrast to under WOW64 on a 64 bit Windows, the above does not at all
work as desired and you're just lucky.  Any DLL in the upper region
beyond 0x80000000 will be rebased at runtime by the Windows loader.

> The full list contains 8006 lines, i have the complete Cygwin 32bit insta=
llation

The bottom line of this is, and it has been said before and I can't
stress this enough, we can't support this scenario at all, for the
simple fact that we have more DLLs than fit into the 32 bit address
space.  It's not much of a problem on 64 bit, but on 32 bit it's just
not feasible anymore.

Ultimately, You should (must) not install all of Cygwin on 32 bit, only
the set of stuff you need on top of the base category.  Or install 64
bit Cygwin.


Corinna

--=20
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--ZPt4rx8FFjLCG7dd
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAlpYfEcACgkQ9TYGna5E
T6CmQxAAiRGVYj9sinSOpFyQe0n1Fzy0tQ33NYnqwzYhssOQUGQf+9u8KtfGVCdL
xRyBme3YMiBAXO00HewZ9t8psLdLVIEE0HyVW5hG4rgu8Ijdi3IxTaukSnSuKr/v
zqZx5KuDMmujkIIC0sD1Skl++ffgPYgDrRXuoJkRfmaTLX6wKH9R1nSGzDD62k6Y
Iqzb6lzudlOqKg6AyWEe2qIdTP8l0Kt/whxWu7SA9mx/kCL0mSLpngAqEPMHW7Zp
W+FhM0VvFLSv3slr7mOlur+qxhBmVjyO8xf1nq3CKme9q6YQb1yDTpH2OgbOoPMG
rHkNv7fSCuiEaQhIBOIeLC/fEH9FNURZGGPwew85U1q2Maf0oke9RhvnI3k3QQ8P
Ga8k+mrCauG8aL66ugtNpKpNSQrmwlr5GD1UJeDRsWOH9i/rHZaZxL7d/zcCcdjj
IN0P3ThvJ0COmXo4Ic3imhA31rrgHADnYZOlhTvIsZU7164XEgFg7sdn8hlZrLss
f8oj4CE1Momk3MPYCG3hTfb5N2HuyDZoffkScjz9IfrvgI8hV065gMkU5la13A67
jivlPxqa5hhoBkZPCWG52o0LgT8TFCIOBqhc5HjL5G2fwqbFx0bdtXZ2Suf7kgXH
tcPC69+/Io9PgCPHXmoAkAROu7mZX4ayuBJ60d344NtP6kFXpig=
=ouAY
-----END PGP SIGNATURE-----

--ZPt4rx8FFjLCG7dd--

- Raw text -


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