Server Memory Usage Issue
Articles and Tips: qna
01 Nov 2002
Q.
I can't find much information on this message in Novell Support and I have never seen it before:
"Free received an invalid memory pointer 0x#########"
The server did NOT Abend (yet). My server runs on a COMPAQ DL380 with 1GB RAM and a clean NetWare 6 with Support Pack 1 install running GroupWise 6 Support Pack 1. "Free" is apparently some kind of process or address space? Any ideas?
Freed in a Frontier Town
A.
Dear Freed: Free() is a memory operation and is the opposite of malloc(). The meaning is to release a block of memory which had previously been allocated by malloc(). The argument to free() is the address of the start of that block of memory.
A damaged program can corrupt the variable holding that address, or corrupt memory so that sanity checks fail. The sanity check is a signature at the start of the block saying this is indeed the start of a block. Also, failing hardware memory modules will produce similar results, and that is an item to check first.
The net result if you decide not to reboot the server anytime soon is that you have slightly less usable memory. The block that was allocated by the malloc call was never released, and at this point the program seems to have lost track of it (or garbled the header), so there's no way that memory will be freed back up. It's probably a very small amount of memory.
* Originally published in Novell AppNotes
Disclaimer
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.