Patch Name: PHKL_20096 Patch Description: s700 10.20 VxFS: kdm cumulative patch Creation Date: 99/10/09 Post Date: 99/10/13 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: AdvJournalFS.VXFS-ADV-KRN JournalFS.VXFS-BASE-KRN OMS.f_fs Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_20096: PANIC PHKL_18144: PANIC Path Name: /hp-ux_patches/s700/10.X/PHKL_20096 Symptoms: PHKL_20096: ( SR: 8606106454 DTS: JAGab75574 ) Systems crash due to data page fault in delay invoked from kdm_k_get_nextevent(). The panic stack looks like: panic+0x10 report_trap_or_int_and_panic+0xe8 trap+0xa48 $RDB_trap_patch+0x20 delay+0x44 kdm_k_get_nextevent+0x110 dmapi_ioctl+0x104 spec_ioctl+0xd4 vno_ioctl+0x98 ioctl+0x78 syscall+0x1a4 $syscallrtn+0x0 PHKL_18144: SR: 1653297598 CR: JAGaa94370 Systems serving web pages with Netscape Enterprise Server from a file system controlled by OmniStorage saw data page fault panics with a stack trace that looks like: panic+0x10 report_trap_or_int_and_panic+0xe8 report_trap_or_int_and_panic+0xe8 trap+0xa48 $call_trap+0x20 vx_event_clear+0xc kdm_eventprocess+0x50 kdm_eventpost+0x174 kdm_mmap_event_gen+0x168 vx_mmap+0xd8 mapvnode+0x3c4 smmap_common+0x5b8 smmap+0x38 syscall+0x1a4 $syscallrtn+0x0 This problem might also show up as an instruction page fault from kdm_eventprocess. Defect Description: PHKL_20096: ( SR: 8606106454 DTS: JAGab75574 ) kdm_k_get_nextevent invokes delay() by mistake, it should call KDM_DELAY() instead. Resolution: Invoke KDM_DELAY from kdm_k_get_nextevent, instead of delay(). PHKL_18144: SR: 1653297598 CR: JAGaa94370 While VxFS is waiting for an event to be posted it sleeps at a level where it can catch signals. The sleep system call should return a non-zero value if it was awakened by a signal. With some combination of signals sleep returns with a zero value even though a signal woke it and the event VxFS is waiting for has not been posted. The assumption that the event has been posted caused VxFS to process an event and free it, when a real event came in it caused a panic. Resolution: Check to make sure that the event is posted when sleep returns a zero exit value. Go back to sleep if the event is not posted. SR: 1653297598 8606106454 Patch Files: /usr/conf/lib/libdmapi.a(kdm_core.o) /usr/conf/lib/libvxfs_base.a(vx_hpuxsubr.o) what(1) Output: /usr/conf/lib/libdmapi.a(kdm_core.o): kdm_core.c $Date: 99/10/09 10:54:49 $ $Revision: 1.2 .98.12 $ PATCH_10.20 (PHKL_20096) /usr/conf/lib/libvxfs_base.a(vx_hpuxsubr.o): vx_hpuxsubr.c $Date: 99/04/01 10:25:03 $ $Revision: 1.7.98.15 $ PATCH_10.20 (PHKL_18144) cksum(1) Output: 1217836092 48732 /usr/conf/lib/libdmapi.a(kdm_core.o) 4212891951 16336 /usr/conf/lib/libvxfs_base.a(vx_hpuxsubr.o) Patch Conflicts: None Patch Dependencies: s700: 10.20: PHKL_16750 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_18144 Equivalent Patches: None Patch Package Size: 130 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 PHKL_20096 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_20096.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_20096. 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 PHKL_20096.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/PHKL_20096.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: This patch depends on base patch PHKL_16750. For successful installation, please ensure that PHKL_16750 is in the same depot with this patch, or PHKL_16750 is already installed.