What is a System Error 25? (4/95)


My system crashes into MacsBug and each time, I am being dumped into the same routine. The current instructions look like this:

System Error 25 at 408314A _Jackson
_Jackson
+0000 408314A *Debugger
+0002 408314C _NewHandle, Immed
+0004 408314E BNE.S _DisposeCIcon+0032

It looks like I am hitting debug code. What is happening?

What you are running into is not debug code. The area of code you are
seeing here is in the Macintosh ROM.

The label _Jackson is an abbreviated label for _JacksonPollack. Jackson Pollack was the development name for Color QuickDraw project and this area of ROM contains routines of Color QuickDraw.

A System Error 25 is a stack and heap collision detection. The Mac OS registers a routine to run on a periodic basis to check for the stack and heap overrunning each other. When the periodic routine runs, it checks two pointers that indicate the boundaries of the heap and stack. If, while the Vertical Blanking (VBL) task is running, it finds the bottom of the stack to be less than the top of the heap, an error 25 is reflected. If it was not for the routing checking performed by the periodic routine, this error could go undetected.

If MacsBug is installed, these error 25 problems usually show up in MacsBug as being at the _Jackson entry point. Without Macsbug installed, you may get a System Error 25 message or the "bomb" dialog box containing the Restart button.

The meaning of System Error 25 is often listed as "out of memory." It is usually an indication that the stack has temporarily overrun the heap and the computer should be restarted. The error might be eliminated by increasing the application's partition size (memory allocation) in the Get Info window to allow for more heap and stack space for that application. It could also be that the application is being driven into some improper calling sequence that causes the stack to grow until it overlaps the heap. If this is the case, you would need to contact the vendor of that application for further information about their software.

For more information about VBL technology see TIL article titled "VBL Task: What Is It?".


This article was published in the "Information Alley":
Volume I, Issue 25, Page 12


Article Change History:
21 Apr 1995 - Added keyword; made minor technical updates.

Support Information Services
Published Date: Feb 19, 2012