Spurious Memory Accesses 
Definition
On Cisco devices, a Spurious Memory Access occurs when an IOS process attempts to read from the lowest 16KB region of memory. This is always a software bug because access to this region is restricted.
There are two ways to detect spurious memory accesses:
- Execute the router# show align hidden IOS EXEC command
- Check the router logs using the router# show log EXEC command and errors similar to the following will be displayed;
%ALIGN-3-SPURIOUS: Spurious memory access made at 0x60988D34 reading 0x0
%ALIGN-3-TRACE: -Traceback= 60978C44 60269880 602385B8 00000000 00000000 00000000
Spurious memory accesses are also reported in crashinfo files, usually displayed just before the stack dump.
Spurious memory accesses are not fatal on on MIPS-based platforms because IOS returns a null value to the calling routine and displays the errors above. However, the corrections are very CPU intensive and as such, a higher than normal CPU utilization will be observed for as long as the errors are reported.
Spurious memory accesses will cause a PowerPC-based platform to crash with a SegV (Segment Violation) exception.
Report issue to Cisco TAC and submit the following captures;
- router# show ver
- router# show align
- router# show log
- router# show tech (optional)
On receipt of the captures, the CIsco TAC engineer will decode the address (in the example above, the error occurred at address 0x60988D34) where the error occurred using the image symbol files and the decoded function will determine what part of the code the defect emanated so it can be fixed.
Type: Networkpedia - Archive ID: 3.11 - 1194 Views - Last Updated: January 13, 2009 19:04:26
Tags: align-3-spurious align-3-trace bug cisco crash ios segv software spurious memory accesses
