Patch Name: PHSS_20005 Patch Description: s700 10.20 STM panic, disk_em,diagmond,tlscsidev Creation Date: 99/11/03 Post Date: 99/11/04 Hardware Platforms - OS Releases: s700: 10.20 Products: Support Tools Manager A.17.00 Support Tools Manager A.17.05 Filesets: Sup-Tool-Mgr-700.STM-SHLIBS,B.10.20.15.10 Sup-Tool-Mgr-700.STM-UUT-700-RUN,B.10.20.15.10 Sup-Tool-Mgr-700.STM-CATALOGS,B.10.20.15.10 Automatic Reboot?: No Status: General Release Critical: Yes PHSS_20005: PANIC Path Name: /hp-ux_patches/s700/10.X/PHSS_20005 Symptoms: PHSS_20005: 1. The fix affects the disk monitor, disk_em, which is used as decoder and monitor to decode driver errors for scsi disks. Ignores user-defined actions for event generation from a configuration file and incorrect events generated when an incorrect LUN is detected. 2. Excessive CPU usage by diagmond 3. Accumulation of temporary device files in /var/tmp. PHSS_19538: 1. The fix affects the disk monitor, disk_em, which is used as decoder and monitor to decode driver errors for scsi disks. A system panic reportedly occurs.(This is a rare occurrence and has been impossible to reproduce). Defect Description: PHSS_20005: 1. The tool ignores the user-defined action for generation of an event in the disk_em.cfg file for the disk monitor. Also, when an incorrect LUN is detected, the monitor generates erroneous events. XP256 disk array is one of these devices. 2. A bug which manifests itself as diagmond using 10-20% of the CPU time on a system. 3. This change removes the device file, should access to the device fail. This prevents the accummulation of device files in the directory /var/tmp. Additionally, the routines within this library verifys the arguments passed to it before attempting to assign values to them. PHSS_19538: 1. The tool reportedly resulted in system panic due to trap 18 in scsi3 driver. (This is a rare occurrence and has been impossible to reproduce). Also, when an unknown combination of Sense code, key and qualifier is received, the code generates message that is misleading. SR: 0000000000 Patch Files: /usr/sbin/stm/lib/libdiagfx.sl /usr/sbin/stm/uut/lib/tldecmon.sl /usr/sbin/stm/uut/lib/tlscsidev.sl /usr/sbin/stm/uut/bin/sys/diagmond /usr/sbin/stm/uut/bin/tools/monitor/disk_em /usr/sbin/stm/catalog/C/HP-UX_B.10.20/tool_lib/tldecmon.cat /usr/sbin/stm/catalog/C/HP-UX_B.10.20/tool_lib/tlscsidev.cat /usr/sbin/stm/catalog/C/HP-UX_B.10.20/tools/monitor/ disk_em.cat what(1) Output: /usr/sbin/stm/lib/libdiagfx.sl: None /usr/sbin/stm/uut/lib/tldecmon.sl: decode_mod_info.h, $Revision: 1.5 $ tldm_llio_status.c, $Revision: 1.6 $ tldm_default_scsi.c, $Revision: 1.24 $ tldm_hex_util.c, $Revision: 1.5 $ tldm_internal.c, $Revision: 1.10 $ tldm_scsi.c, $Revision: 1.5 $ tldm_scsi_cdb.c, $Revision: 1.5 $ tldm_utility.c, $Revision: 1.8 $ /usr/sbin/stm/uut/lib/tlscsidev.sl: tlscsidev_io_diag0.c, $Revision: 1.10 $ tlscsidev_io_sctl.c, $Revision: 1.10 $ tlscsidev_init.c, $Revision: 1.9 $ tlscsidev_init_scsi3.c, $Revision: 1.4 $ tlscsidev_init_lun.c, $Revision: 1.13 $ tlscsidev_lock.c, $Revision: 1.7 $ tlscsidev_io.c, $Revision: 1.9 $ tlscsidev_reset_driver.c, $Revision: 1.7 $ tlscsidev_unlock.c, $Revision: 1.7 $ tlscsidev_end.c, $Revision: 1.7 $ tlscsidev_gen.c, $Revision: 1.11 $ tlscsidev_get_sti_msg.c, $Revision: 1.5 $ tlscsidev_disk_sense_decode.c, $Revision: 1.6 $ tlscsidev_tape_sense_decode.c, $Revision: 1.5 $ /usr/sbin/stm/uut/bin/sys/diagmond: GET_DATE_INFORMATION.C, $Revision: 1.1 $ GET_LICENSE.C, $Revision: 1.1 $ MAKE_LIC_INTERNAL.H, $Revision: 1.4 $ INSTALL_LICENSE.C, $Revision: 1.1 $ INSTALL_PASS_INTERNAL,$Revision: 1.15 $ MAKE_LIC_INTERNAL.H, $Revision: 1.4 $ MAKE_LICENSE.C, $Revision: 1.1 $ STABLE_STORE_INFO.C, $Revision: 1.2 $ WRITE_TO_SS.C, $Revision: 1.1 $ check_temp.h,$Revision: 1.5 $ CHECK_TEMP_LICENSE.C,$Revision: 1.1 $ DECODE_STABLE_STORAGE.C, $Revision: 1.1 $ DETERMINE_EXPIRATION_DATE.C, $Revision: 1.6 $ GET_HVERSION.C, $Revision: 1.12 $ MAKE_LIC_AR.H, $Revision: 1.46 $ MAKE_LIC_INTERNAL.H, $Revision: 1.4 $ GET_ROW_COL.C, $Revision: 1.1 $ GET_SW_ID.C, $Revision: 1.12 $ GET_SYSTEM_TYPE.C, $Revision: 1.7 $ INSTALL_PASS_INTERNAL,$Revision: 1.15 $ MAKE_LIC_INTERNAL.H, $Revision: 1.4 $ HVERSION_RECOGNIZED, $Revision: 1.2 $ INSTALL_PASS_INTERNAL,$Revision: 1.15 $ INSTALL_RCO_LICENSE.C, $Revision: 1.4 $ INSTALL_PASS_INTERNAL,$Revision: 1.15 $ IS_RCO_LICENSE_INSTALLED.C, $Revision: 1.4 $ LIC_GET_DATE.C, $Revision: 1.5 $ OVERLAP_PASSWORDS.C, $Revision: 1.1 $ READ_FROM_SS.C, $Revision: 1.1 $ check_temp.h,$Revision: 1.5 $ COMPARE_TEMP_HP.C, $Revision: 1.1 $ CONVERT_DATE, $Revision: 1.6 $ INSTALL_PASS_INTERNAL,$Revision: 1.15 $ GATHER_INFORMATION.C, $Revision: 1.3 $ MAKE_DATE_CANONICAL.C, 7/1/92, A.01.00 INSTALL_PASS_INTERNAL,$Revision: 1.15 $ SEARCH_FOR_SESSION.C, $Revision: 1.4 $ check_temp.h,$Revision: 1.5 $ FIND_BEGINNING_DATE.C, $Revision: 1.1 $ GET_BOOT_TIME.C, $Revision: 1.6 $ INSTALL_PASS_INTERNAL,$Revision: 1.15 $ GET_SESSION_ID.C, $Revision: 1.7 $ diagmond_main.c, $Revision: 1.36.1.5 $ ms_make_daemon.c, $Revision: 1.4 $ ms_init_manage_sys.c, $Revision: 1.20 $ ms_build_status_map.c, $Revision: 1.13 $ ms_build_monitor_paths.c, $Revision: 1.1 $ ms_handle_rebuild_monitor_paths.c, $Revision: 1.1 $ ms_recreate_monitor_paths.c, $Revision: 1.2 $ ms_start_startmon.c, $Revision: 1.1 $ ms_check_monitor_paths.c, $Revision: 1.3 $ ms_setup_scan_hw_sys_global.c, $Revision: 1.2 $ ms_check_uut_status.c, $Revision: 1.4 $ ms_scan_children.c, $Revision: 1.7 $ ms_get_valid_request.c, $Revision: 1.22 $ ms_handle_access_dev.c, $Revision: 1.6 $ ms_handle_access_request.c, $Revision: 1.2 $ ms_handle_release_dev.c, $Revision: 1.7 $ ms_handle_device_request.c, $Revision: 1.6 $ ms_handle_get_query.c, $Revision: 1.7 $ ms_handle_host_info_request.c, $Revision: 1.4 $ ms_handle_update_session_lic.c, $Revision: 1.3 $ ms_handle_install_lic.c, $Revision: 1.5 $ ms_handle_deinstall_lic.c, $Revision: 1.2 $ ms_handle_system_request.c, $Revision: 1.6 $ ms_handle_test_progress.c, $Revision: 1.16 $ ms_handle_admin_request.c, $Revision: 1.23 $ ms_handle_download_request.c, $Revision: 1.16 $ ms_handle_reread_lic.c, $Revision: 1.4 $ ms_recreate_mon_uut_status.c, $Revision: 1.5 $ ms_handle_reset_ops.c, $Revision: 1.6 $ ms_handle_reread_ops.c, $Revision: 1.5 $ ms_handle_reset_act_log.c, $Revision: 1.6 $ ms_handle_reset_daemon_act_log.c, $Revision: 1.2 $ ms_handle_get_files_dirs_request.c, $Revision: 1.5 $ ms_handle_get_files_w_info_dirs_request.c, $Revision : 1.2 $ mon_add_sop_parm.c, $Revision: 1.3 $ ms_handle_control.c, $Revision: 1.11 $ ms_handle_test_request.c, $Revision: 1.15 $ ms_handle_uut_release.c, $Revision: 1.8 $ ms_handle_uut_setup.c, $Revision: 1.16 $ ms_handle_start.c, $Revision: 1.8 $ ms_handle_access_request.c, $Revision: 1.2 $ ms_validate_user.c, $Revision: 1.14 $ ms_setup_mon_uut_status.c, $Revision: 1.8 $ ms_create_mon_uut_status.c, $Revision: 1.10 $ ms_recreate_mon_uut_status.c, $Revision: 1.5 $ ms_cleanup_for_exited_ui.c, $Revision: 1.19 $ /usr/sbin/stm/uut/bin/tools/monitor/disk_em: decode_mod_info.h, $Revision: 1.5 $ main_prog.c, $Revision: 1.8 $ low_level.c, (1.38) $Revision: 1.8 $ ems_layer.c, (1.32) $Revision: 1.6 $ perform_decode.c, $Revision: 1.15 $ repeat.c, $Revision: 1.4 $ DefectList.c, $Revision: 1.4 $ perform_polling.c, $Revision: 1.12.1.1 $ /usr/sbin/stm/catalog/C/HP-UX_B.10.20/tool_lib/tldecmon.cat: None /usr/sbin/stm/catalog/C/HP-UX_B.10.20/tool_lib/ tlscsidev.cat: None /usr/sbin/stm/catalog/C/HP-UX_B.10.20/tools/monitor/ disk_em.cat: None cksum(1) Output: 1205824359 12288 /usr/sbin/stm/lib/libdiagfx.sl 1060295981 69632 /usr/sbin/stm/uut/lib/tldecmon.sl 2907842285 45056 /usr/sbin/stm/uut/lib/tlscsidev.sl 510024320 163840 /usr/sbin/stm/uut/bin/sys/diagmond 1735861707 65536 /usr/sbin/stm/uut/bin/tools/monitor/disk_em 1674566523 82681 /usr/sbin/stm/catalog/C/HP-UX_B.10.20/ tool_lib/tldecmon.cat 780525922 36545 /usr/sbin/stm/catalog/C/HP-UX_B.10.20/ tool_lib/tlscsidev.cat 992924485 25169 /usr/sbin/stm/catalog/C/HP-UX_B.10.20/tools/ monitor/disk_em.cat Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_19538 Equivalent Patches: PHSS_20006: s800: 10.20 PHSS_20007: s700: 11.00 s800: 11.00 Patch Package Size: 560 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. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHSS_20005 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHSS_20005.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHSS_20005. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHSS_20005.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHSS_20005.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None