Patch Name: PHKL_23171 Patch Description: s700 10.20 ptrace cumulative patch Creation Date: 01/01/18 Post Date: 01/01/22 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: OS-Core.CORE-KRN Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHKL_23171: HANG Path Name: /hp-ux_patches/s700/10.X/PHKL_23171 Symptoms: PHKL_23171: (SR: 8606172359 CR: JAGad41619) On a multi-processor system, ptrace of a process by multiple processes can fail. This can lead sometimes to process or system hangs. This defect was introduced with the patch this patch supersedes (PHKL_21431) and can only bee seen on multi-processor systems. PHKL_21431: (SR: 5003352484 CR: JAGaa11895) Debuggers attempting to work with a child process of a process already under debug fail. The failure is reported at the moment the child process to be debugged is forked. The following is an example of the error that DDE may report: "kernel internal error: Process events (fork, vfork, exit, exec) will not be reported." Defect Description: PHKL_23171: (SR: 8606172359 CR: JAGad41619) Code paths exists which can leave an alpha semaphore locked on exit. Resolution: Calls to ptrace now make sure that alpha semaphores are correctly released for all code paths. PHKL_21431: (SR: 5003352484 CR: JAGaa11895) When a process under debug forks out a new child process, the debugger, if asked to do so, will also attempt to fork a new debugger for the child process. Since the PT_ATTACH for the child process occurs when the child process has not yet even run, certain variables have not yet been set and additional debugger commands fail to work properly. Resolution: In order to get the debugged child process to go through the proper path and initialize the apropriate variables, this process is now forced to go from TSSTOP to TSRUN. To accomplish this correctly, extra synchronization in the PT_ATTACH code executed by the debugger was added. This extra synchronization allows the debugged child process to complete its initialization before the debugger is allowed to continue. SR: 5003352484 8606172359 Patch Files: /usr/conf/lib/libhp-ux.a(pm_ptrace.o) what(1) Output: /usr/conf/lib/libhp-ux.a(pm_ptrace.o): pm_ptrace.c $Date: 2001/01/17 16:13:10 $ $Revision: 1.6.98.27 $ PATCH_10.20 (PHKL_23171) cksum(1) Output: 3606335485 16448 /usr/conf/lib/libhp-ux.a(pm_ptrace.o) Patch Conflicts: None Patch Dependencies: s700: 10.20: PHKL_16750 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_21431 Equivalent Patches: PHKL_23172: s800: 10.20 Patch Package Size: 80 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_23171 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_23171.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_23171. 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_23171.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_23171.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.