This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Internal compiler error: program cc1plus got fatal signal 9


>>>>> "Ulisses T Mello" writes:

Ulisses> The error is sporadic. It does not happen in the same place.
Ulisses> I thought that the error #9 would mean something to whomever is
Ulisses> producing this code.
Ulisses> Attaching the code would not do any good
Ulisses> since it compiles fine in other machines, it only fails in
Ulisses> the one with a 601 processor. 

	Error #9 is SIGNAL 9 from the operating system (AIX).  AIX
performs lazy memory allocation: by default malloc() returns a pointer if
the *address space* is available for allocation, not if it actually has
enough physical memory and/or paging space.  The assumption is that an
application may sparsely allocate more memory than it actually will use.
Physical memory is not allocated until the page actually is touched.  If
the system does not instantaneously have enough memory to satisfy current
usage, it sends a SIGKILL signal to the next application to actually touch
a new page -- without any prioritization among processes or process groups
or uids -- and continues this until enough memory is recovered.

	(If you want traditional UNIX semantics, the environment variable
"PSALLOC" must be defined as "early" so that paging space is allocated
when malloc (sbrk) is called.  Note: defining PSALLOC to "early" will
prevent the AIX X Windows Server from functioning properly when it tries
to map the graphics adapter memory, so the environment variable cannot be
set to that value globally if you want to use X Windows.)

	If this is happening sporadically and at different locations and
you are receiving SIGKILL, I think that you system does not have enough
paging space.  The variance is due to whatever else is running on your
system at the time.

David

P.S. This is my own opinion and does not necesarily represent IBM Corporation.
===============================================================================
David Edelsohn                                      T.J. Watson Research Center
dje@watson.ibm.com                                  P.O. Box 218
+1 914 945 4364 (TL 862)                            Yorktown Heights, NY 10598


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]