Cygwin Shell Fails to Start when Enabling High Address

Corinna Vinschen
Tue Feb 24 23:49:00 GMT 2015

Hi Benjamin,

On Feb 24 19:58, Benjamin Cao wrote:
> Hi,
> I had to enable high address for some machines for testing. I set the
> AllocationPreference registry key to be 0X100000.

Cygwin doesn't support this AllocationPreference registry setting.

Cygwin and thus Cygwin applications(*) are already large address aware.
Cygwn uses large address regions automatically if available, but it's
essential that Cygwin itself can decide how and what to use them for.

Cygwin will also use MEM_TOP_DOWN allocations in certain system calls
(e.g. mmap) but this, too, is crafted to avoid collisions, and Cygwin
needs full control over this behaviour.

In general, Cygwin needs as much control over memory allocations as
possible in Windows for several reasons, mainly for the sake of fork and
exec calls.

So, having said that, AllocationPreference 0x100000 breaks Cygwin's
memory handling.  Therefore, don't use it in conjunction with Cygwin


(*) There are exceptions, of course.  32 bit applications using
    the high bit of addresses for dubious reasons exist.  Of course
    they deserve to be broken.

Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <>

More information about the Cygwin mailing list