Patch Name: PHKL_30285 Patch Description: s700_800 11.00 AIO;;getdirets;MVFS;rcp;mmap/IDS;frun;sched Creation Date: 04/02/05 Post Date: 04/04/01 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_30285: HANG Category Tags: defect_repair general_release critical halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHKL_30285 Symptoms: PHKL_30285: ( SR:8606314846 CR:JAGae77597 ) 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_21161: ( SR: 8606126841 DTS: JAGac59682 ) On 64bit kernels, the isr.ior printed for trap type 15 or 18 panics was not always accurate. In some cases, it was showing invalid spaces and/or incomplete offsets, for example: Target Address (isr.ior) = 0x1.0x0000000008b74c2c The correct isr.ior should have been: Target Address (isr.ior) = 0x0.0x0000000108b74c2c Defect Description: PHKL_30285: ( SR:8606314846 CR:JAGae77597 ) 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 create a new function that will handle the aborting thread instead of letting it get rescheduled. Check the condition in the trap path where a thread returns to user space from the kernel to ensure that an aborted thread does not return to user space. PHKL_21161: ( SR: 8606126841 DTS: JAGac59682 ) On 64bit kernels, the trap handler decodes Global Virtual Addresses to regular Virtual Addresses. The decoding routine was designed to handle user traps, and it does not handle kernel traps properly. This results in isr.ior not being properly printed for kernel traps resulting in panics. Resolution: The original GVA is now saved before being decoded by the user trap decoding routine. If the trap was actually a kernel trap, the original GVA is restored, and a new kernel trap decoding routine is called. As a result, for kernel trap panics, the isr.ior is now printed properly. Enhancement: No SR: 8606126841 8606314846 Patch Files: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libhp-ux.a(trap.o) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libhp-ux.a(trap.o) what(1) Output: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libhp-ux.a(trap.o): trap.c $Date: 2004/01/29 16:28:34 $Revision: r11ros/ 19 PATCH_11.00 (PHKL_30285) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libhp-ux.a(trap.o): trap.c $Date: 2004/01/29 16:28:34 $Revision: r11ros/ 19 PATCH_11.00 (PHKL_30285) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: 66130521 31000 /usr/conf/lib/libhp-ux.a(trap.o) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: 3877800052 59032 /usr/conf/lib/libhp-ux.a(trap.o) Patch Conflicts: None Patch Dependencies: s700: 11.00: PHKL_18543 s800: 11.00: PHKL_18543 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_21161 Equivalent Patches: PHKL_30286: s700: 11.11 s800: 11.11 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. 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_30285 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_30285.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_30285. 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_30285.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_30285.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_30285.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None