ADC Home > Reference Library > Technical Q&As > Legacy Documents > Mac OS 9 & Earlier >
Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.
Current information on this Reference Library topic can be found here:
|
Q
My customers report my application crashing with system error 29, but that
error is not documented in "Errors.h". What does it mean?
A While system error 29 is not documented in any of the standard places, it is possible to get it in a roundabout fashion. On the original (pre-System 7) Mac OS, the Package Manager was allocated system
error numbers 17 to 24 for use when it failed to load a package. The Package Manager
raises the error based on the equation Note: For more information about packages, see "Inside Macintosh: Operating System Utilities," Chapter 10. System 7 extended the Mac OS to have more packages; package numbers
now range from 0 to 15. Unfortunately the error handler in the Package
Manager was not updated to reflect this change, which means it still
raises the error based on the equation Error Standard Meaning Package ----- ---------------- ------- 25 Out of memory 8 AppleEvents 26 Can't launch file 9 PPC Browser 27 File system trashed 10 -- 28 Heap/stack collision 11 Edition Manager 29 -- 12 Color Picker 30 -- 13 Database Access Manager 31 -- 14 Help Manager 32 -- 15 Picture Utils So you can see that System Error 28 can mean either "heap/stack collision", or "could not load the Edition Manager package". And system error 29 almost certainly means "could not load the Color Picker package". There are a variety of reasons why the Package Manager might fail to load a package, and thus raise this system error. The most common one is that the system heap is too full to load the package's code. Another possibility is that the package is not installed. Finally, it could be that the system resource file is corrupt (either on disk, or maybe just the resource map in memory), and so the Package Manager can't find the PACK resource to load. You can debug this problem with MacsBug. When you get the error, you will drop into MacsBug.
You can then use the "hx" command to switch to the system heap, and the "ht" command to
find out how much space is free in the system heap. While you're at it, you should most
probably use "hc all" to check all heaps for corruption. Finally, you can also use the
command "rd -f 2 -t 'PACK'" to get a dump of Updated: 12-September-97 |
|