Patch Name: PHSS_3680 Patch Description: s700 9.03 analyze tool w/support for DFS kernel extensions Summary ------- The standard analyze tool for HP-UX kernel crash analysis is only partially able to handle kernels into which DFS extensions have been loaded. Specifically, it is not able to resolve addresses (and, hence, provide stack traces) of data or code within these extensions. This patch contains a special version of the analyze tool that supports the DFS kernel extensions that were shipped with HP DCE 1.2. In addition to being able to interpret addresses within these extensions, this version of analyze offers a number of new commands to interpret DFS kernel structures. The names of these new commands all begin with "dfs"; "dfshelp", for example, displays brief help information on the DFS commands. This version of analyze is installed in the /opt/dcelocal/bin directory. This patch is one of a set of two: PHSS_3680 (Series 700) PHSS_3681 (Series 800) Background ---------- A significant portion of the DCE DFS code runs within the operating system kernel. In HP's DFS product, these components, known as kernel extensions, are dynamically loaded at run time into the HPUX kernel via the kload command. The kernel extensions reside within the /opt/dcelocal/ext directory and carry a suffix of ".ext", as follows: dce_krpc.ext kernel rpc component dfs_core.ext common, low-level dfs component dfs_client.ext client component dfs_server.ext server/exporter component The extensions are loaded via commands in /etc/rc.dfs which is itself invoked from /etc/rc.dce. As extensions are loaded, a combined symbol table (actually, the image from /hp-ux with a new symbol table appended to its end) is constructed in /opt/dcelocal/ext/ALL.out. Note that this file is large. Usage Notes ----------- In general, this version of analyze is used in the same way that the standard ones are. Differences are discussed below. When running this version of analyze, specify the above mentioned ALL.out file instead of the kernel image (/hp-ux usually). For example: analyze /dev/mem /opt/dcelocal/ext/ALL.out Or for analyzing a kernel crash: analyze /tmp/syscore/hp-core.0 /opt/dcelocal/ext/ALL.out In general, the ALL.out map will be different each time DFS is loaded since its contents depend on where the extensions were placed within kernel memory. For this reason, one has to be careful to specify the right ALL.out file when analyzing a kernel core file. As long as you either analyze the core file before starting DFS again or make a copy of ALL.out before starting DFS, there should be no problem. If, however, you have arranged to start DCE automatically at boot time (by invoking /etc/rc.dce from /etc/rc), you may need to take specific action to guarantee that an "old" copy of ALL.out is saved away. One possibility is to change the lines in /etc/rc that save a kernel core file to /tmp/syscore as follows: if [ -x /etc/savecore ] && [ -d /tmp/syscore ] then /etc/savecore /tmp/syscore if [ -f /opt/dcelocal/ext/ALL.out ] then cp /opt/dcelocal/ext/ALL.out /tmp/syscore fi fi When the s700 analyze is started, it displays an identification string similar to the following: HP-UX Analyze version: [B2352A HP-UX (A.09.01, A.09.03) with DFS support: Fri Jan 7 10:49:51 EST 1994] When the s800 analyze is started, it displays an identification string similar to the following: HP-UX Analyze version: [9245XA HP-UX (A.09.04) with DFS support: Fri Jan 7 10:49:51 EST 1994 ] Analyze may display a "Kernel versions do not match" or "Analyze version does not match with corefile" warning when it is started. If you are running the correct version of HP-UX (9.03 or 9.04) and analyze seems otherwise to be working correctly, you should ignore these warnings. Path Name: /hp-ux_patches/s700/9.X/PHSS_3680 Effective Date: 940201 OS Release: 9.03 Reboot Required: No Patch Files: /opt/dcelocal/bin/analyze SR#: None "what" string/timestamp: Version string is displayed on execution: HP-UX Analyze version: [B2352A HP-UX (A.09.01, A.09.03) with DFS support: Fri Jan 7 10:49:51 EST 1994] "sum" output: 42508 1040 analyze Dependencies: None Supersedes: None Patch Package Size: 584 Kbytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and limitation of liability and warranties, before installing this patch. Note: Before you install this patch, you should: 1. Back up the target host. 2. Stop all DCE control programs and DCE-based application programs on the target host. 3. Exit from any DCE control programs on the target host. 4. Use dce_config or SAM to stop all other DCE programs on the target host. After you have completed installing the patch, you can restart DCE software as desired. --------------------------------------------------------------------------- After getting the patch onto your machine, unshar the patch (sh PHSS_3680). To install this patch do the following: 1) Run /etc/update (Note: you must be logged in as root to update a system). 2) Once in the update "Main Menu" move the highlighted line to "Change Source or Destination ->" and press "Return" or "Select Item". 3) Make sure the highlighted item in the "Change Source or Destination" window is "From Tape Device to Local System ...", then press "Return" or "Select Item". 4) You should now be in the "From Tape Device to Local System" window. Change the "Source: /dev/rmt/0m" to "Source: /tmp/PHSS_3680.updt" (this assumes that you are in the /tmp directory where PHSS_3680.updt has been placed). Note: You must enter the complete path name. 5) Press "Done". 6) From here on follow the standard directions for update. The customize script that update runs will move the original software to /system/PHSS_3680/orig. HP recommends keeping this software there in order to recover from any potential problems. It is also recommended that you move the PHSS_3680.text file to /system/PHSS_3680 to be retained for future reference. If you wish to put this patch on a magnetic tape and update from the tape drive, dd a copy of the patch to the tape drive. As an example the following will create a copy of the patch that update can read: dd if=PHSS_3680.updt of=/dev/rmt/0m bs=2048