NeXTSTEP 3.0: Fatal Signal 11 Error

Disclaimer

This document pertains to the NeXTSTEP operating system, which is no longer a supported product of Apple Computer. This information is provided only as a convenience to our customers who have not yet upgraded their systems, and may not apply to OPENSTEP, WebObjects, or any other product of Apple Enterprise Software. Some questions in this Q&A document may not apply to version 3.3 or to any given specific version of NeXTSTEP.
Q: I'm getting the following error message from the C++ compiler:

cc++: Internal compiler error. Program collect got fatal signal 11.

What's going on?

A: You have encountered a known bug in the C++ compiler. The bug has been fixed in Release 3.1. This is a bug in the program collect that relates to the use of alloca. Essentially, the program collect runs out of stack when "collecting" your application, causing it to crash.

There is a workaround. Just increase the stacksize in the shell. Use the limit command to increase your stacksize. Like this:

% limit stacksize 10000

In Release 1 this workaround always works. However, in Release 2 this workaround does not work when used with the make utility. make hardwires the stacksize rather than reading it from the users default. So, in Release 2 or later (unless you have 3.1 or later, in which this bug is fixed) you must link by hand, or write a little shell script to do it for you.

Valid for 2.0, 3.0 ONLY
Not Valid for 3.1
Published Date: Feb 20, 2012