6.3 Creating a Core Dump

Novell will probably request a core dump when a server experiences a lockup or abend and other troubleshooting has failed to resolve the problem. A core dump is a data file containing a copy of a NetWare server’s memory at the time the server abended. Core dumps can be analyzed by Novell engineers and are often the key to finding software bugs.

  1. Start a core dump in one of these two ways:

    • Select the core dump option when an abend occurs.

      NOTE:After the core dump is completed, the server abend handler restarts or reboots itself, depending on the Auto Restart After Abend parameter setting.

    • Manually start a core dump by entering .c while in the NetWare internal debugger.

      You can enter the debugger at any time by typing 386debug or pressing the following keys: Alt+right-Shift+left-Shift+Esc.

      HINT:Press and hold the Alt and right-Shift keys with the right hand, then with the left hand press and hold the left-Shift and press the Esc key last.

      Then enter .c at the # prompt and respond to the Core Dump Prompt Options.

  2. When the core dump is finished, do one of the following if you manually started the core dump:

    • Enter g to resume the server’s execution if possible.

    • Enter h to display Help.

    • Enter q to exit the debugger.

    If the server was hung when you entered the debugger, it probably will not resume the server’s operation.

    If the server abended, it is best not to resume the server’s operations.

6.3.1 Core Dump Prompt Options

Whether you selected the core dump option after an abend or are forcing a core dump, you have the following options when responding to the core dump prompts.

Table 6-2 Core Dump Prompt Options

Prompt

Option

Reboot server after coredump?

Y : Reboots server after the core dump

N : Leaves the server in the same state after core dump

Lists available local drives and available free space on each

Informs you of local partitions available for the core dump, including USB devices, for the dump.

Coredump Type

Full includes all the server memory in the core dump. For some cases, this is the recommended option.

Full w/o cache includes all server memory except file cache (disk cache). Generally, this is the recommended option. Novell technical support will advise you when to make a full core dump.

Compress Coredump

Yes is the recommended option

No

Where should diagnostic core dump be saved?

HDISK writes the file to a local partition. For details, see Saving a Dump to a Local Partition (HDISK Option).

NETWORK writes the file to the image host (server or workstation) at the IP address specified.

This greatly decreases the time that the server must remain in a downed state for diagnostics.

For details, see Saving a Dump to a Remote Image Host Device (NETWORK option).

Saving a Dump to a Local Partition (HDISK Option)

After you start the core dump, you are asked to specify the drive letter and file path that the memory image file will be written to.

The drive can be any writable local device that contains enough storage space. This could be the C: drive or another FAT partition (on a USB storage device, for example).

IMPORTANT:If the device is a USB device, you must format it and plug it in to the server so that it has a drive letter assigned to it before the core dump is initiated.

You can plug in a preformatted USB storage device when the server is halted in the debugger (# prompt). The device is recognized and mounted automatically as a FAT partition. Then, when you initiate the core dump with the .c option, the USB storage device shows up as one of the local drives with the associated drive letter.

You can also create a logical core dump drive using Novell Remote Manager and write the core dumps to this drive just as you would to the local C: drive or other local FAT partitions. For more information, see Creating a Logical Volume for Saving Core Dumps in the NW 6.5 SP8: Novell Remote Manager Administration Guide.

When the image is written to a local hard disk on the server, the default name of the image file is c\:coredump.img.

To write to a different device, substitute the drive letter and filename. For example, d:\coredump.img

After the server is up and running, the image file can be:

  • Compressed, backed up to tape, or sent to Novell (if you have opened a support incident).

  • Copied to a network drive later.

    You can do this by using Novell Remote Manager (recommended), by using the TBX commands, or by using any other third-party NLM that provides this functionality.

Saving a Dump to a Remote Image Host Device (NETWORK option)

  1. Start an image host agent by doing the following:

    On a NetWare server, load imghost.nlm

    or

    From a Windows workstation, run sys:public\imghost.exe.

    When loading the imghost.nlm or running the imghost.exe, you can specify a directory where you want the image to be sent (the directory must already be created) or accept the default paths.

    For example: load imghost sys:coredump

    The default path for imghost.nlm is volume sys:.

    The default path for imghost.exe is the directory that you run the .exe from.

  2. At the “Where should the diagnostics coredump be sent?” prompt, select the Network option.

  3. At the “IP Address of IMGHOST” prompt, enter the IP address of the server or workstation where you started the image host agent.

The image host agent receives the core dump from server and stores it in a directory based on the server name and the file name based on the date (year, month, day, version) of the core dump with an .img extension.

For example, if a file was sent from a server named DASERVER1 on September 17, 2007 to a server running imghost.nlm, the DASERVER1\070917aa.img directory and file would be created on volume sys:.

6.3.2 Sending the Core Dump to Novell

IMPORTANT:You will be expected to patch the server to the latest Support Pack before Novell requests a core dump. To send a core dump file to Novell, you must first open a support incident, which will be billable. You are not charged until the incident is resolved or closed. If the problem is a Novell bug and no patches were previously available, then there is no charge.

Before sending the core dump to Novell, contact a support representative to open a support incident. You will be assigned to a Support Engineer who will help you analyze the core dump file. The Support Engineer will make arrangements to receive the core dump either in the regular mail or through the Internet and will advise you on the best media format to use.

6.3.3 Modifying the Defaults of DBNET

The dbnet6.nlm controls the network settings for the sending a core dump to the network. The dbnet6.nlm is loaded by default on the server and it automatically configure itself by scanning for any network boards bound to TCP/IP. It chooses a board that is on the same network as the default router specified by tcpip.nlm. If no default router is present, DBNET chooses the first IP network board found.

The dbnet6.nlm can also be used to display statistics that might assist you in debugging problems with your server. For information on the command available from the System Console, see Using DBNET Console Commands.

After dbnet6.nlm is loaded, you can manually save its settings to a configuration file (dbnet.cfg) in the server’s boot directory (typically c:\nwserver). This procedures is optional. For procedures, see Manually Setting the DBNET Configuration (Optional).

Using DBNET Console Commands

The following is a table of console commands that are available when dbnet6.nlm is loaded:

Table 6-3 Console Commands for dbnet6.nlm

Command

Purpose

dbhelp

Displays DBNET console commands

dbconfig

Displays DBNET configuration

syntax: [save | config | reset]

The Save option saves DBNET's settings to the dbnet.cfg file on the NetWare DOS partition. After the dbnet.cfg file exists, DBNET uses the settings in it and no longer detects new settings.

The Config option creates a new configuration file using one of the available IP network boards.

The Reset option deletes the dbnet.cfg file and restarts the debug network.

dbstat

Displays debug network statistics. This command also work at the debug console.

syntax: mem | mlid | lsl | arp | ip | udp [conn] | tcp [conn]

mem: Displays memory statistics

mlid: Displays MLID statistics

lss: Displays LSL statistics

apr: Displays APR statistics

ip: Displays IP statistics

udp: Displays UDP statistics

tcp: Displays TCP statistics

conn: The Conn option displays the connection statistics for the protocol specified.

6.3.4 Manually Setting the DBNET Configuration (Optional)

IMPORTANT:Setting the DBNET configuration is completely optional and is not recommended unless it is necessary. It is only necessary when you want to use a different adapter than the one automatically chosen or change any of the default settings.

The dbnet6.nlm automatically configures the network configuration. However, you can use the information in this section to create a dbnet.cfg file manually and store it in the server’s boot directory.

Creating the Dbnet.cfg File

The following show a list of sections and keywords that are accepted in the dbnet.cfg file. The sections and keywords are case sensitive:

Table 6-4 Dbnet.cfg File Sections and Keywords Options and Purposes

Section

Keywords:

Purpose

dbmild

mlid

Debug network module with command line options

dbip

addr

Specify the IP address of debug board

mask

Specify the IP network board mask

defr

Specify the default IP router

dblst

NOTE:The dblsl section is not required for most network drivers. By default, DBNET will try to determine the packet size required by the network board. For an Ethernet board, DBNET chooses an initial buffer size of 2048 (a maximum size required by some Ethernet drivers); otherwise, the operating system LSL buffer size is used.

min buffers

Specify the minimum LSL buffers to allocate

Default: 128

Range: 128 to 256

max buffers

Specify the maximum LSL buffers to allocate

Default: 256

Range: 128 to 256

 

buffer size

Specify the LSL buffer packet size in bytes

Default: operating system LSL buffer size

Range: 632 to 4280

The following is a sample dbnet.cfg configuration file:

[dbmlid] mlid=3C59X FRAME=Ethernet_II SLOT=10005 [dbip] addr=192.65.79.47 mask=255.255.252.0 defr=192.65.79.254