This document explains what causes segmentation violation (SegV) exceptions on routers, and how to troubleshoot them. Cisco recommends that you read Troubleshooting Router Crashes before you proceed with this document.
There are no specific requirements for this document.
The information in this document is based on these software and hardware versions:
All Cisco IOS® software versions
Cisco 1700 Series Routers
Cisco 2600 Series Routers
Cisco 3600 Series Routers
Cisco 3700 Series Routers
Cisco 4500 Series Routers
Cisco 4700 Series Routers
Cisco AS5300 Series Routers
Cisco MC3810 Series Routers
Cisco 7200 Series Routers
Cisco 7500 Series Routers
Note: This document does not apply to Cisco Catalyst switches or MGX platforms.
The information presented in this document was created from 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, ensure that you understand the potential impact of any command before you use it.
If you do not power-cycle or manually reload the router, the show version output displays this:
Router uptime is 2 days, 3 hours, 5 minutes
System restarted by error - a SegV exception, PC 0x80245F7C
System image file is "flash:c2600-js-mz.120-9.bin"
Router uptime is 11 hours, 38 minutes
System returned to ROM by error - a SegV exception, PC 0x80249B0C
System image file is "flash:c2600-is-mz.121-1.5.bin"
These lines may also be present in the console logs:
*** System received a SegV exception ***
signal= 0xb, code= 0x1200, context= 0x80d15094
PC = 0x80678854, Vector = 0x1200, SP = 0x80fcf170
Cause of SegV Exceptions
SegV exceptions are always software problems. It is possible for different software issues to cause a SegV exception, such as:
Access to an invalid memory address
Write access to a read-only memory region
A jump to an invalid PC (often 0x0)
If you have not manually reloaded or power-cycled the router since the SegV exception, you can search for a known bug ID that matches the Cisco CLI Analyzer tool.
If the decoded output from the show stacks command matches a known software bug, you receive the bug IDs of the most likely software bugs to have caused the SegV exception. Click on the bug ID hyperlinks to view additional bug details from the Cisco Bug Toolkit (registered customers only) , which can help you determine the correct bug ID match. Once you have identified a bug ID that matches, refer to the "fixed in" field to determine the first Cisco IOS software version that contains the fix for the bug.
If you are uncertain which bug ID matches or which Cisco IOS software version contains the fix for the problem, a Cisco IOS software upgrade to the latest version in your release train is one option that often resolves the issue. This option often works because the latest version usually contains the fix for a large number of bugs.
Information to Collect if You Open a TAC Case
If you still need assistance after following the troubleshooting steps provided and want to create a service request with Cisco Technical Support, be sure to include this information:
Steps performed to troubleshoot before you opened the case.
show technical-support output (if possible, in enable mode)
show log output or console captures if available
crashinfo file (if present and not already included in show technical-support)
You can upload this information to your case with the Case Query tool (registered customers only) . If you cannot access the Case Query tool, you can send the information in an email attachment to email@example.com with your case number in the subject line of your message.
Note: Do not manually reload or power-cycle the router before you collect this information unless required to troubleshoot a SegV exception, as this can cause important information to be lost that is needed in order to determine the root cause of the problem.