Documentation Archive Developer
Search

ADC Home > Reference Library > Technical Q&As > Carbon > Data Management >

Not Recommended Documentclose button

Important: The information in this document is Not Recommended and should not be used for new development.

Current information on this Reference Library topic can be found here:

BowelsOfTheMemoryManager (aka YourHeapIsProbablyCorrupt)

Q: Sometimes, MacsBug generates a PowerPC unmapped memory exception with an address that starts with the symbol BowelsOfTheMemoryMgr. What does this mean?

A: When you are displaying addresses in Macsbug, MacsBug shows offsets from the last symbol it can find. In the Modern Memory Manager on Power Macintosh computers up to Mac OS version 7.6, the last symbol was __HSetStateQ. The code after __HSetStateQ consists of various internal Memory Manager subroutines. So, if there's a hang or crash in an internal Memory Manager subroutine, it shows up in MacsBug as __HSetStateQ+xxxxxxxx.

Various system software engineers were tired of seeing bug reports that said __HSetStateQ was crashing, so beginning with Mac OS 7.6, we decided to add a new last symbol to the Memory Manager. As a consequence, bug reports would be somewhat more informative. We thought of naming the new symbol YourHeapIsCorrupt (since that's usually the case when a program crashes the Memory Manager) but decided on BowelsOfTheMemoryMgr instead because that's where you are.

So, if you're crashing or hanging at BowelsOfTheMemoryMgr+xxxxxxxx, type HC to see if your heap is corrupted (it probably will be) and then start debugging your code to find out how it got corrupted.



Note:
Starting with Mac OS 9.1, this symbol was changed fromt BowelsOfTheMemoryMgr to the more descriptive name YourHeapIsProbablyCorrupt (r. 2529682).



[Feb 01 2001]