STREAMS/UX for the HP 9000 Reference Manual

169
Debugging STREAMS/UX Modules and Drivers
HP-UX Kernel Debugging Tools and strdb
The third is the occurrence of a High Priority Machine Check (HPMC),
which usually indicates a hardware problem. An HPMC is characterized by
a total, sudden system halt and an HPMC “tombstone” printed on the
console, which records the contents of the system's registers. If you
encounter an HPMC, contact your HP service representative. Note that an
HPMC tombstone is also printed out after a TOC (Transfer of Control -- see
“Transfer of Control In Case of System Hang” for details). There is no need
to contact an HP representative for an HPMC tombstone that is the result of
a TOC.
Traps
Some very common panics occur from either the trap routing or interrupt
routing routines. Whenever this low level code detects a trap occurring in
the system and it believes that it cannot be corrected, it will panic the
machine. The most common faults are described below.
Data Segmentation Faults
Usually, a data segmentation fault occurs when a process (in kernel mode)
attempts to dereference a null pointer. If you receive a data segmentation
fault, information similar to the following will be printed on the system
console:
trap type 15, pcsq.pcoq = 0.85b7c, isr.ior = 0.4
@(#)9245XA HP-UX (A.10.00) #0: Sat Aug 13 23:17:54 PDT 1994
panic: (display==0xbf00, flags==0x0) Data segmentation fault
pcsq.pcoq is the current instruction address, and isr.ior is the current data
address. This trap message means that the instruction at location 0x85b7c
tried to reference address 4 in space 0. You could look in adb to see what the
instruction was trying to do. The instruction may have been attempting to
get a value 4 bytes off of some pointer. Because of a possible logic problem,
the pointer might not have been initialized.
Instruction Page Faults
An instruction page fault occurs when a process in kernel mode jumps to an
address which is not mapped, and tries to execute it. Because the page is not
mapped, and the kernel is not paged, a fault is generated. This would appear
as the following: