Cisco BPX IGX IPX WAN Software

Software Error 506

Document ID: 10782

Updated: Oct 06, 2005



This document explains the software error (swerr) 506, which may occur on IGX or BPX switches.



There are no specific requirements for this document.

Components Used

The information in this document is based on IGX and BPX switches.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.


For more information on document conventions, refer to the Cisco Technical Tips Conventions.

Software Error 506

A swerr 506 is logged from the routine that frees allocated memory. Its presence usually indicates that the process that frees the memory is not the process that owns the memory. After the error is logged, the memory is freed.

The process ID of the owner of the memory is in the data field. This should be some value less than the maximum number of processes (displayed with the dspprf command).

1.Error   506         00000006   3003BF4A   PROT   8.1.1j  06/24/96 05:48:411
US 30374AE0  30 03 BF 4A 00 00 01 FA  00 00 00 06 30 1A 58 5E
                                      Process ID  Alloc Address

This example indicates that the PROT process is trying to free memory owned by process 6 (probably SNMP). The first line of the detail stack dump shows the process ID (6) and the address of the routine that allocated the memory (301A585E).

This is a valid process ID and a valid memory address for code space. This indicates that the error was logged due to a problem with the way the switch software handled the memory ownership. To try to isolate the problem, you can trace the way the allocated memory was handled from the allocation address to the Free_mem address. If this problem is observed in the field, it is not usually cause for concern.

If the process ID in the data field is not a valid process ID, the allocated memory block may have been corrupted by a memory overwrite. This is a significant problem, as memory overwrites can cause memory corruption. Memory corruption can cause many problems, including 1M3 aborts. See this example:

Active Control Card Software Log

No.  Type    Number    Data(Hex)  PC(Hex)    PROC   SwRev   Date     Time
 1.  Error   506       0000FDE2   3003C04C   NETW   8.1.18  10/28/96 23:05:27
 2.  Abort   1000003   00000000   300156A0   NETW   8.1.18  10/28/96 23:05:27

From the detail abort stack:

1.  Error   506       0000FDE2   3003C04C   NETW   8.1.18  10/28/96 23:05:27
USP 30356568 30 03 C0 4C 00 00 01 FA  00 00 FD E2 00 00 2F 02

This example shows that both the process ID (00 00 01 FA) and the allocation address (00 00 2F 02) have been corrupted. It is very probable that the corruption extends past the header into the data area of the memory block. It is also probable that the next block of memory allocated to this memory location will be corrupted.

The corrupting memory block cannot be determined from the errors logged by this event. A swerr 514, which is logged when the block that is actually exceeded is freed, is required. The network should be checked for swerr 514s that corrupt the entire DEADFACE flag. (Refer to Software Error 514.)

Related Information

Updated: Oct 06, 2005
Document ID: 10782