can't allocate region?

Rainer Müller raimue at
Tue May 27 17:25:33 PDT 2008

Michael Hernandez wrote:
> I just ran port upgrade installed and after it upgraded pango I got  
> this:

Don't use upgrade installed, use upgrade outdated instead. But that 
wouldn't solve the issue, I think.

> tclsh(39855,0xa0886fa0) malloc: *** mmap(size=2514944) failed (error  
> code=12)
> *** error: can't allocate region
> *** set a breakpoint in malloc_error_break to debug
> unable to alloc 2514733 bytes
> zsh: abort      sudo port upgrade installed
> What's going on there?

According to intro(2), error code 12 is ENOMEM.

12 ENOMEM Cannot allocate memory.  The new process image required more 
memory than was
         allowed by the hardware or by system-imposed memory management 
constraints.  A
         lack of swap space is normally temporary; however, a lack of 
core is not.
         Soft limits may be increased to their corresponding hard limits.

This means Tcl tried to use more memory than you have. I don't know when 
this happens, but I have seen Tcl using more than 200-300 MB on long 
upgrades on my machine.

I don't know how to detect memory leaks in Tcl nor can I tell you where 
it comes from.

Did you have another memory hungry task running at the same time?


More information about the macports-users mailing list