FirstPass utility

book

Article ID: 100022036

calendar_today

Updated On:

Description

FirstPass is a small script designed to facilitate first pass dump analysis.

While the script itself is platform-independent, the tools it uses internally are platform dependent, so it needs to be run on the same platform as the dump being collected for. So if an AIX dump is gathered, the utility needs to be run from an AIX system. 

Resolution


 FirstPass will write a report to a file named with the date stamp, ie:

FirstPass.report.2008-11-12_07-52-47

FirstPass is based on HP's "crashinfo -c"

AIX usage:
FirstPass requires the dump directory collected by the "snap" utility. It will invoke "./kdb ./dump ./unix" a number of times to gather and process information from the dump file. It can be invoked as simply as:
# FirstPass
 
Although not required, you can optionally tell FirstPass where to find the modules and VRTSexplorer output applicable to this system dump. See below for more information on modules.

AIX Options:

-c
Turn off colors

-l
Display list of modules loaded in the core

-m [/modules/dir]
Path to kernel extensions matching those in the core

-v [/VRTSexplorer/dir]
Path to VRTSexplorer output


About Kernel Extensions and AIX dumps
Without symbols, KDB does not know how to resolve symbols for Veritas products. Stack traces that are in our code will contain useless data, like this:(3)> f pvthread+095A00pvthread+095A00STACK:[00054094]e_block_thread+0004E0 ()[0006478C]delay+0000D4(??)[046EF05C]046EF05C()[04707528]04707528()[04703D0C]04703D0C()[047072AC]047072AC()[0475FC8C]0475FC8C()[0475A208]0475A208()[047004FC]047004FC()[04700FC0]04700FC0()[046E5960]046E5960()[0016BD24]threadentry+000014(??, ??, ??, ??)

When the right kernel extensions are present, KDB can resolve these symbols into more meaningful names, as in the following:(3)> f pvthread+095A00pvthread+095A00 STACK:[00054094]e_block_thread+0004E0()[0006478C]delay+0000D4(??)[046EF05C].vx_delay+000010()[04707528].vx_msgdeliver+000078()[04703D0C].vx_async_sendmsg+000240()[047072AC].vx_msg_send+000178()[0475FC8C].vx_iupdat_msg+000400()[0475A208].vx_rwlock_putdata+000370()[047004FC].vx_glm_cbfunc+000070()[04700FC0].vx_glmlist_thread+000178()[046E5960].vx_thread_base+000018()[0016BD24]threadentry+000014(??, ??, ??, ??)

You can find more information about which modules are required by running FirstPass -l -v [/path/to/VRTSexplorer/output] in the dump directory

HP-UX usage:
This script simply calls "crashinfo -c", so you must be in the directory with the dump file, crashinfo must be in your path, and the dump directory must be local &NOT NFS-mounted (Note: this is a crashinfo requirements, FirstPass can't do anything about it.) There are no options, it is invoked as:
# FirstPass

Linux usage:
FirstPass calls the "crash" utility and looks for a debug kernel at /usr/lib/debug/lib/modules//vmlinux. You must specify the path to the core file as:
# FirstPass

Solaris usage (both sparc and x64):
FirstPass calls the "scat" utility. Requires you are in the directory with the core file and pass the core number -OR- that you pass the path to the unix file and core file.


Solaris Options:

-c
Turn off colors

-n
Core number for use with scat

-d [/path/to/vmcore.x]
Path to the system dump

-u [/path/to/unix.x]
Path to the unix file

Examples:
FirstPass -n 0
FirstPass -d ./vmcore.0 -u ./unix.0


Issue/Introduction

This article discusses the FirstPass utility.