Patch Name: PHKL_5689 Patch Description: s700 9.0[357] correct vfork panic or hang Creation Date: 95/06/14 Post Date: 95/06/20 Hardware Platforms - OS Releases: s700: 9.03 9.05 9.07 Products: N/A Filesets: KERN-BLD Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_5689: HANG PHKL_4967: PANIC Path Name: /hp-ux_patches/s700/9.X/PHKL_5689 Symptoms: PHKL_5689: This patch fixes a defect in vfork; the defect causes the system to hang forever. PHKL_4967: panic: vfork_transfer entered in bad state Defect Description: PHKL_5689: The problem is that the vfork path is holding a lock without good reason. While the lock is held, a page fault occurs. During the processing required to bring the page in, the system attempts to grab the same lock; this results in a deadlock. The problem is easily recognized in a stack trace containing vfork/copytopreg/vfault. Since the defect requires a page fault to occur at just the right time, this should only happen on systems with heavy paging activity. PHKL_4967: Reset p_vforkbuf before we could sleep in copytopreg. Else, we could sleep, the vforked child could exit, the parent would resume with a non-zero p_vforkbuf with VFORK_BAD. And then we'd panic with vfork_transfer entered in bad state SR: 1653108951 5003268995 Patch Files: /etc/conf/libhp-ux.a(kern_fork.o) what(1) Output: /etc/conf/libhp-ux.a(kern_fork.o): kern_fork.c $Revision: 1.63.61.19 $ $Date: 95/06/1 4 08:54:33 $ PATCH_9.03 (PHKL_5689) sum(1) Output: 596 20 /etc/conf/libhp-ux.a(kern_fork.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_4967 Equivalent Patches: None Patch Package Size: 60 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. Copy the patch to your /tmp directory and unshar it: cd /tmp cp patch_source/PHKL_5689 . sh PHKL_5689 3. Become root and run update: /etc/update 4. Use the cursor keys to select "Change Source or Destination ->" and press [Return]. 5. Select "From Tape Device to Local System ..." in the Change window and 6. Change "Source: /dev/rmt/0m" to "Source: /tmp/PHKL_5689.updt" 7. Press "Done" (f4). 8. Follow the standard directions for update. Update moves the original software to /system/PHKL_5689/orig. Keep this file to recover from any potential problems. You should move the .text file to /system/PHKL_5689 for future reference. To put this patch on a magnetic tape and update from the tape drive, use dd: dd if=PHKL_5689.updt of=/dev/rmt/0m bs=2048 Special Installation Instructions: None