This document provides instructions on how to configure a core dump on a Cisco Gigabit Switch Router (GSR) line card (LC).
There are no specific requirements for this document.
The information in this document is based on these software and hardware versions:
Cisco IOS® Software Release 12.0(24)S1
This document applies to all Cisco 12xxx series GSR routers
Caution: A core dump to the remote server can take anywhere from 20 to 45 minutes. The router is inaccessible and does not forward packets at this time. Use this procedure with caution.
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.
A core dump is a binary file that a router creates when it detects an unrecoverable error and needs to reload itself. It is a full copy of the memory image of the router. You need to configure routers in order to create core dumps. However, not all crash types produce core dumps. These are generally useful to Technical Support Representatives and help to identify the cause of the crash.
This table shows the necessary minimal configuration in order to configure an LC for core dump that uses FTP:
Core Dump That Uses FTP |
---|
hostname GSR ! ip ftp source-interface Ethernet0 ip ftp username test ip ftp password blah !--- These commands enable the router for FTP transfer. !--- These commands are not necessary if you use the default !--- protocol TFTP for file transfer. ! interface Ethernet0 ip address 10.77.240.91 255.255.255.128 ! ip route 0.0.0.0 0.0.0.0 10.77.240.1 ! exception protocol ftp !--- Specifies FTP as the protocol for core dumps. The default is TFTP. exception dump 10.77.233.129 !--- Specifies the IP address of the server which receives the core dump file. exception linecard slot 2 !--- Enables the storage of crash information for the LC that you specify. !--- Here you specify slot 2. |
With this basic configuration:
If the gigabit route processor (GRP) crashes, a core dump called GSR-core is stored in the FTP server located at 10.77.233.129.
If the LC in slot 2 crashes a core dump called Router-core, slot 2 is stored at the same location.
When you configure the router for core dump, test whether the setup works.
Cisco IOS provides the write core command in order to test or trigger a core dump without the need for a reload.
Use the write core command in privileged exec mode (enable mode). This command causes the system to generate a core dump without the need to reload and the content of the GRP memory is dumped.
This command is helpful when you check the connectivity of the server where the files are written.
GSR#write core Remote host [10.77.233.129]? Base name of core files to write [cdfile1]? writing uncompressed ftp://10.77.233.129/cdfile1 Writing cdfile1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!! !--- This output is suppressed.
Use the hidden command test crash to test the configuration for core dump. Use the attach command to connect to the required line card. Enter the test crash command there in order to generate the core dump for the line card. The commands you execute on the line card use the Cisco IOS image on that line card. This IOS image does not contain the write core command. In order to test the core dump configuration on an LC, you need to use this method.
Caution: The test crash command disrupts a production network. It causes the router to crash and prevents the re-emergence of the router before it dumps the content of its memory. The amount of time that this takes depends on the amount of dynamic RAM (DRAM) present on the RP or LC.
GSR#attach 2 Entering Console for 1 Port Packet Over SONET OC-12c/STM-4c in Slot: 2 Type "exit" to end this session Press RETURN to get started! LC-Slot2> LC-Slot2>enable LC-Slot2#test crash WARNING: Command selections marked with '(crash router)' will crash router when issued. However a selection 'C' will need to be issued IMMEDIATELY before these selections to enable them. Type the number for the selected crash: -------------------------------------- 1 (crash router) Bus Error, due to invalid address access 2 (crash router) Bus Error, due to parity error in Main memory 3 (crash router) Bus Error, due to parity error in I/O memory 4 (crash router) Address Error, due to fetching code from odd address 5 (crash router) Jump to zero 6 (crash router) Software forced crash 7 (crash router) Illegal read of address zero 8 (crash router) Divide by zero 9 (crash router) Corrupt memory C Enable crash router selection marked with (crash router) U (crash router) User enter write bus error address W (crash router) Software watchdog timeout (*** Watch Dog Timeout ***) w (crash router) Process watchdog timeout (SYS-2-WATCHDOG) d Disable crashinfo collection e Enable crashinfo collection i Display contents of current crashinfo flash file n Change crashinfo flash file name s Save crashinfo to current crashinfo flash file q Exit crash menu ? C !--- Enter C here and press return. Type the number for the selected crash: -------------------------------------- 1 (crash router) Bus Error, due to invalid address access 2 (crash router) Bus Error, due to parity error in Main memory 3 (crash router) Bus Error, due to parity error in I/O memory 4 (crash router) Address Error, due to fetching code from odd address 5 (crash router) Jump to zero 6 (crash router) Software forced crash 7 (crash router) Illegal read of address zero 8 (crash router) Divide by zero 9 (crash router) Corrupt memory C Enable crash router selection marked with (crash router) U (crash router) User enter write bus error address W (crash router) Software watchdog timeout (*** Watch Dog Timeout ***) w (crash router) Process watchdog timeout (SYS-2-WATCHDOG) d Disable crashinfo collection e Enable crashinfo collection i Display contents of current crashinfo flash file n Change crashinfo flash file name s Save crashinfo to current crashinfo flash file q Exit crash menu ? 6 !--- Enter the number that corresponds to !--- the crash type you want to test. Unexpected exception, CPU signal 23, PC = 0x400E8DA8 -Traceback= 400E8DA8 40C6A4DC 404006E09C 400C477C 400C4768 $0 : 00000000, AT : 41B30000, v0 : 431A8F40, v1 : 00000032 !--- Output is suppressed.
This command causes a crash and the content of the memory is dumped. If there is no core dump generation, you must review the whole setup and configuration.
This section explains the commands that this document uses and some other optional commands.
The only exception command that modifies the core dump that an LC crash generates is the exception linecard command. The other exception commands in this list apply to the coredump that the GRP generates.
exception core-file file-name compress —Sets the filename for the core dump file which the GRP crash generates, and creates a core file. By default, the core file has the name hostname-core where hostname is the name of the router. With this command, each router has its own unique core-file.
For example, if the hostname of your router is "lab1," by default your router generates a core dump file that has the name lab1-core. With the use of the command exception core-file Test, you can change the name of the core dump that is generated to Test.
You can compress the core dump files with the compress option.
Note: Compress is automatically used when you write core dump files to a Flash disk. There is no support for the compress option when you write core dump files with the help of remote copy protocol (RCP).
exception protocol {ftp | rcp | tftp} —Sets the protocol to use when you write the core file to the remote host. It can be File Transfer Protocol (FTP), Trivial File Transfer Protocol (TFTP), or Remote Copy Protocol (RCP). The default protocol is TFTP.
Note: You cannot use TFTP in order to dump a core file larger than 16 MB.
Note: When you use FTP, you must have a valid user account on that system and enough free disk space. This is because the core files can be very big. The default protocol is TFTP.
exception dump ip address —Sets the IP address or hostname of the remote server to where the core file is to be written.
exception flash {procmem | iomem | all} {device_name[:partition_number]} —The GSR among other platforms support the Flash disk as an alternative to the linear Flash memory or the PCMCIA Flash card. The large storage capacity of these Flash disks makes them good candidates for another means to capture core dump. This is the router configuration command you need in order to set up a core dump with the use of a Flash disk:
exception flash {procmem | iomem | all} {device_name[:partition_number]}
Currently, there is no implementation of LC core dump to a Flash disk.
exception crashinfo file device:filename —Configures the router in order to write a crashinfo file when the GRP crashes. The router is enabled by default.
When you specify the option file device:filename , it is the Flash device and filename that you use in order to store the diagnostic information. The colon is necessary. The default location is bootflash and the default name of the files is crashinfo_datetime of crash .
exception crashinfo buffersize kilobytes —Configures the router in order to write a crashinfo file when the GRP crashes. The router is enabled by default.
With the option buffersize kilobytes , you can change the router to the size of the buffer you use for crashinfo files. The default size is 32 KB (maximum is 100 KB, which you configure with exception crashinfo buffer 100 ).
exception suffix slot-number—Appends the slot-number to the core file name if you do not specify a filename for the GRP core-file. There is a default addition of slot number on the core dump that an LC generates.
exception linecard {all | slot slot-number} [corefile filename | main-memory size [k | m] | queue-ram size [k | m] | rx-buffer size [k | m] | sqe-register-rx | sqe-register-tx | tx-buffer size [k | m]] —This syntax description explains the components of this command in further detail.
all —Stores crash information for all LCs.
slot slot- number —Stores crash information for the LC in the slot you specify.
corefile filename —Sets the filename for the core dump file that the LC crash generates. The default filename is hostname-core-slot-number (for example, Router-core-2).
main-memory size —Stores the crash information for the main memory on the in order to and specifies the size of the crash information. The size of the memory in order to store is 0 through 268435456.
queue-ram size —Stores the crash information for the queue RAM memory on the LC and specifies the size of the crash information. The size of the memory in order to store can be from 0 to 1048576.
rx-buffer size and tx-buffer size —Stores the crash information for the receive (rx) and transmit (tx) buffer on the LC and specifies the size of the crash information. The size of the memory in order to store can be from 0 to 67108864.
sqe-register-rx and sqe-register-tx —Stores crash information for the receive or transmit silicon queueing engine registers on the LC.
k and m —The k option multiplies the size you specify by 1K (1024), and the m option multiplies the size you specify by 1M (1024*1024).
Examples:
exception linecard slot 6—Enables the creation of a core-file for the LC in slot 6 if it crashes.
exception linecard slot 6 core-file router_slot6_core—Sets the filename for the core-file that the LC generates in slot 6 to router_slot6_core.
exception linecard slot 6 main-memory 16 Mbytes—Sets the amount of main-memory contents to be dumped to 16 Mbytes.
Note: The maximum is 256 Mbytes. It is safe to specify this.
If you specify "exception linecard slot 6 main-memory 256 M", you do not see this in the configuration. This is because it is the default configuration when you enable core-file generation for an LC.
exception memory {fragment size | minimum size} —At the time of the debugging process, you can cause the router to create a core dump and reboot when there is a violation of certain memory size parameters. The parameter fragment allows you to determine the minimum contiguous block of memory in the free pool, in bytes. Minimum indicates the minimum size of the free memory pool. The size value is in bytes and is checked every 60 seconds. If you enter a size that is greater than the free memory, and if you configure the exception dump command, there is the generation of a core dump, and the router reloads after 60 seconds. If you do not configure the exception dump command, the router reloads without any generation of a core dump.
exception region-size size —You use this command in order to define a small amount of memory to serve as a fallback pool when there is a corruption mark in the processor memory pool. This helps you prevent memory failures at the time of the core dump process. The default region size is 16,384 bytes. If you configure the exception region-size to the maximum (65536 bytes), it increases the chance of a successful core dump.
exception delay-dump delay —Allows you to specify the delay before the initiation of the core file transfer on redundant systems. By default the system pauses for 30 seconds in order to give time for the standby to stabilize, before the initialization of the core file transfer. The valid range value is from 30 to 300 seconds.
ip ftp username username —Allows you to configure the username to use when you upload the core file with the use of FTP to the remote server. In the example the username is set to test (ip ftp username test ).
ip ftp password [type] password —Allows you to specify the password for the username set in the ip ftp username username command. It is blah in the example ( ip ftp password blah ).
ip ftp source-interface interface —Determines the interface to source the FTP connection from.
ip ftp passive—By default the router tries to use passive mode FTP in order to connect. Turn this off with the no ip ftp passive command.
Note: Since Cisco IOS Software Release 12.0(22)S, core dump generation is supported on most recent engine types (2, 3, 4, 4+). This feature should be supported as soon as a new engine comes out. All line cards support this feature in order to make the troubleshooting process easier.
Revision | Publish Date | Comments |
---|---|---|
1.0 |
10-Dec-2001 |
Initial Release |