Patch Name: PHKL_30288 Patch Description: s700_800 11.11 Thread Abort syscall Creation Date: 04/02/03 Post Date: 04/04/01 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: N/A Filesets: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_30288: HANG Category Tags: defect_repair enhancement general_release critical halts_system manual_dependencies Path Name: /hp-ux_patches/s700_800/11.X/PHKL_30288 Symptoms: PHKL_30288: ( SR:8606337549 CR:JAGae98556 ) A multi-threaded user application using Light Weight Process (LWP) threads might experience an unkillable hang after a thread is asynchronously canceled. This is more likely to occur on a uniprocessor system but can also happen on a multiprocessor system. PHKL_25842: ( SR:8606229034 CR:JAGad98088 ) Enhancement to provide support for the interruption of a specic thread blocked interruptibly in a system call. Defect Description: PHKL_30288: ( SR:8606337549 CR:JAGae98556 ) When a LWP thread is aborted by a pthread_cancel, a side effect of is that the aborting thread may execute briefly before being aborted completely. The thread may return to user space and execute user program code during this brief interval. Depending on what the user program does during that period, unexpected, detrimental effects to the system could result. For instance, the program could immediately perform another system call where a semaphore or other global resources could be acquired and cause the thread to become unkillable, lead to a system deadlock/hang, etc. Resolution: The fix is to insert a call at the end of syscall to handle the terminating process instead of letting it exit out of syscall. That is, check the condition in the syscall path where a thread returns to user space from the kernel to ensure that an aborted thread does not return to user space. PHKL_25842: ( SR:8606229034 CR:JAGad98088 ) The Operating System currently has no way to abort a specific thread blocked interruptibly in a system call. Resolution: A new kernel internal interface (function) is introduced to provide kernel subsystems the ability to abort a thread that is currently blocked interruptibly in a system call.This portion of the functionality clears flags associated with the new routine. Enhancement: No (superseded patches contained enhancements) PHKL_30288: Enhancements were delivered in a patch this one has superseded. Please review the Defect Description text for more information. SR: 8606229034 8606337549 Patch Files: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libscall.a(syscall.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libscall.a(syscall.o) what(1) Output: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libscall.a(syscall.o): syscall.c $Date: 2004/01/29 17:10:28 $Revision: r11. 11/2 PATCH_11.11 (PHKL_30288) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libscall.a(syscall.o): syscall.c $Date: 2004/01/29 17:10:28 $Revision: r11. 11/2 PATCH_11.11 (PHKL_30288) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: 3128076875 15792 /usr/conf/lib/libscall.a(syscall.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: 3527953249 40152 /usr/conf/lib/libscall.a(syscall.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: PHKL_25842:For enablement of this feature, PHKL_25840 also needs to be installed in the system. Installation of either patch by itself has no effect on the system. Supersedes: PHKL_25842 Equivalent Patches: PHKL_30287: s700: 11.00 s800: 11.00 Patch Package Size: 50 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_30288 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_30288.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_30288. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHKL_30288.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_30288.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_30288.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None