"cant commit memory for stack" error with perl

Corinna Vinschen corinna-cygwin@cygwin.com
Mon Apr 2 08:58:00 GMT 2012

Please, don't http://cygwin.com/acronyms/#TOFU
Thank you.

On Apr  2 10:22, Noel Grandin wrote:
> Hi
> Thanks for the advise. But I'm still not winning :-(
> I've done a rebaseall and a peflagsall and then a reboot, and I'm
> still seeing the failures.
> Is there anything else I can try, any other debugging I can do?

You could try with the latest developer snapshot from

> >>0 [main] perl 488 child_info_fork::abort: can't commit memory for stack
> >>0x88B000(86016), Win32 error 487
> >>0 [main] perl 3604 child_info_fork::abort: can't commit memory for stack
> >>0x88B000(86016), Win32 error 487

This is strange.  The stack address in question points to a thread
stack.  Trying to create a thread stack in a specific location only
occurs if the process tries to fork() from another thread than the main
thread.  However, if you're running Cygwin 1.7.10 or later, pthread
stacks are not located so low in the memory, since thread stacks are by
default allocated with MEM_TOP_DOWN.

So this looks like perl or the perl package you're using does not use
pthreads, but rather native Windows CreateThread to create a thread.  If
so, it's kind of on its own.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

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

More information about the Cygwin mailing list