 |
» |
|
|
 |
 |
 |
|
|
 |
|
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 Superseded
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
|