adb hardware software requirements


adb hardware & software requirements

From our discussion about the savecore program, one of the hardware requirements you've come to understand apropos of system crash dump analysis is the need for disk space. When systems consisted of 8 megabytes of memory, a set of savecore files wasn't too much of a disk hog. However, with today's system memory configurations reaching beyond the 1 gigabyte mark, one system crash dump can present a bit of a storage challenge.

Once we have a set of savecore files, we will want to use adb to analyze them. For this, it is best and easiest to move the savecore files to a system that has the same kernel architecture and operating system release running on it. Of course, analysis can be done on the system that crashed, assuming the system is back up and running.

Note

It is possible, through much manipulation of libraries, programs , and directories , to analyze postmortem files on a system with a different kernel architecture and OS; however, we will not be discussing the details of how to do this in this chapter. However, you will find much more information about this on the Panic! CD-ROM.


As an example, let's say you have postmortem files from a Sun SPARCcenter 2000 server running Solaris 2.4. The SC2000 is one of the systems in the sun4d kernel architecture family. For your analysis work, you will want to find a sun4d running Solaris 2.4. The system needn't be a SC2000. A SPARCserver 1000, also a sun4d system, running the same OS will do the job for you.

If you don't know the kernel architecture of a system, run either the /usr/ucb/arch or uname -a command on it. The example below is from a SPARCstation 20. Note that without the arch -k option, only the general hardware architecture is listed and not the more specific kernel architecture, which is what we are most concerned about.

 Hiya...  arch  sun4  Hiya...  arch -k  sun4m  Hiya...  uname -a  SunOS kadb 5.3 Generic_101318-61 sun4m sparc  Hiya... 

Architecture & OS mismatches : Some adb error messages

If you attempt to use adb on a system crash dump of a kernel from a system of differing kernel architecture, you will get various error messages. Below are some examples.

The crash dump files on which we attempted to use adb below were from a Sun-4 /400 system, a system from the sun4 architecture family. The system was running Solaris 1.1 (SunOS 4.1.3). The analysis system in use was a SPARCstation 20, a sun4m, running Solaris 2.3.

 Hiya...  adb -k vmunix.0 vmcore.0  Cannot adb -k: vmunix.0: not a kernel namelist  Hiya... 

This next example, run on the same SS20, shows an attempt to use adb on a system crash dump from an SC2000, a sun4d architecture. The SC2000 was also running Solaris 2.3, so while the architectures don't match, the operating systems do. This, however, is not enough to allow adb to work with the files.

 Hiya...  adb -k unix.2 vmcore.2  Cannot adb -k: unix.0: can't find swapinfo  Hiya... 

This next example, also done on the SS20 running Solaris 2.3, shows what adb thought of an SC2000 Solaris 2.2 crash.

 Hiya...  adb -k unix.5 vmcore.5  Segmentation Fault - core dumped  Hiya... 

Here's an example of a sun4m running Solaris 2.2 being used to adb a sun4m 2.3 crash.

 Hiya on s4m-22...  db -k unix.7 vmcore.7  Cannot adb -k: vmcore.0: uncondense error on kvtopdata: Error 0  Cannot adb -k: vmcore.0: unable to read kvtopdata  Cannot adb -k: vmcore.0: unable to read kvtopdata  Hiya on s4m-22... 

Below is how adb on a sun4 system running 4.1.3 reacted to a sun4d 2.3 crash.

 Hiya on s4-413...  adb -k unix.9 vmcore.9  Cannot adb -k: cannot mmap vmcore.0's bitmap: Invalid argument  Hiya on s4-413... 

adb on another sun4d system, a SPARCcenter 2000 running an early version of Solaris 2.4, had a unique reaction to the same sun4d 2.3 crash. It reported problems but actually didn't refuse to try working with the files. However, further commands within adb, commands which we will be discussing later on, proved that this was definitely still a mismatch.

 Hiya on p4d-2000a-24...  adb -k unix.9 vmcore.9  physmem fd87  Unable to locate current proc;no regs available.  $c  PR_BASE()  data address not found  $<threadlist  thread_id e00b1800  ?(?) + dffff758  main(0x0,0xffffffff,0x1,0x0,0xe00ee110,0xe00d35a0)  data address not found  $q  Hiya on p4d-2000a-24... 

Finally, here's an example of what it looks like when we get a good match!

 Hiya on p4d-1000a...  adb -k unix.9 vmcore.9  physmem fd87 

In this successful example, adb reported the number of pages of memory on the system and then silently awaited our first command.

In the next chapter, we will discuss the actual commands you might use while in an adb session. First, though, more about adb and kadb .



PANIC. UNIX System Crash Dump Analysis Handbook
PANIC! UNIX System Crash Dump Analysis Handbook (Bk/CD-ROM)
ISBN: 0131493868
EAN: 2147483647
Year: 1994
Pages: 289
Authors: Chris Drake

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net