 |
» |
|
|
 |
 |
 |
|
|
 |
|
Patch Name: PHKL_35879
Patch Description: s700_800 11.11 vPars panic;Syscall cumulative;FSS;gethrtime
Creation Date: 07/01/18
Post Date: 07/02/01
Hardware Platforms - OS Releases:
s700: 11.11
s800: 11.11
Products: N/A
Filesets:
OS-Core.CORE-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
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:
No (superseded patches were critical)
PHKL_33363: PANIC
PHKL_27172: PANIC
PHKL_34309: HANG
Process/processes may hang while suspending threads
in a process causing an application hang.
PHKL_32061: PANIC
PHKL_30216: HANG PANIC
PHKL_24253: OTHER
Hung, Unkillable Process
PHKL_29707: ABORT
PHKL_27092: ABORT PANIC MEMORY_LEAK
PHKL_25728: HANG
PHKL_24254: OTHER
Hung, Unkillable Process
Category Tags:
defect_repair enhancement general_release critical panic
halts_system memory_leak manual_dependencies
Path Name: /hp-ux_patches/s700_800/11.X/PHKL_35879
Symptoms:
PHKL_35879:
( SR:8606466042 CR:JAGag21576 )
gethrtime(3C) may return a number of nanoseconds which is
smaller than the number of nanoseconds returned in a
previous call.
PHKL_34548:
( SR:8606430137 CR:JAGaf89596 )
The gethrtime() call can be interrupted during its
computation. This can result in incorrect time computations.
This has been seen very infrequently, and only on systems
with large numbers of processors.
PHKL_33363:
( SR:8606391584 CR:JAGaf51716 )
In rare cases, system may panic with the stack trace similar
to one give below while processing mmap64(2) requests.
panic+0x6c
report_trap_or_int_and_panic+0x94
trap+0xf04
thandler+0xd20
smmap_common+0xd48
smmap+0x50
syscall+0x768
syscallinit+0x55c
PHKL_30977:
( SR:8606352915 CR:JAGaf13710 )
The msem_lock(2) function intermittently fails with EFAULT.
PHKL_30539:
( SR:8606275342 CR:JAGae39417 )
This product update is a member of a set needed to enable
the optional HP-UX VFS-AdvSysCall and HP-UX FUSER-Enh
features. Upon installation, the HP-UX VFS-AdvSysCall
and HP-UX FUSER-Enh bundle (NEWFUSER11i) will install the
full set of product update (including this one) to enable
the VFS-AdvSysCall and FUSER-Enh features. If the HP-UX
VFS-AdvSysCall or HP-UX FUSER-Enh product is not installed,
this product update will have no impact on your system.
PHKL_29628:
( SR:8606319246 CR:JAGae81736 )
Fair Share Scheduler (FSS) capping does not always work.
PHKL_28475:
( SR:8606278471 CR:JAGae42529 )
Programs using swapcontext() or setcontext() can fail in a
non-deterministic manner, due to incorrect values in
general registers gr3-gr18 (the "callee-save" registers),
if passing a context generated by a call to getcontext().
PHKL_27172:
( SR:8606258396 CR:JAGae22696 )
Applications that use system calls that pass more than four
(4) arguments which worked on an earlier release of HP-UX
may improperly return an EFAULT error. This only affects
32-bit applications running on 64-bit operating systems.
( SR:8606253687 CR:JAGae18035 )
The system can panic during boot when Virtual Partitions
(vPars) are enabled. Note that this panic does not occur if
the HP-UX Virtual Partitions product is not installed and in
use.
The stack trace looks like the following:
panic: Data page fault
panic+0x6c
report_trap_or_int_and_panic+0x94
trap+0xedc
nokgdb+0x8
PHKL_26467:
( SR:8606231620 CR:JAGae00858 )
Enhancement: This product update is a member of a set
needed to enable "Release mode" functionality for
PTHREAD_PROCESS_SHARED mutexes.
The full list of product updates required for this feature
are: PHKL_26467, PHKL_26468, PHKL_26469 and PHCO_26466.
If any member of this set of product updates is not
installed, this product update will have no impact on
your system.
PHKL_26240:
( SR:8606178913 CR:JAGad48138 )
Obtaining complete filesystem mount information can be a
performance problem for some applications on systems having
a large number of mounts.
( SR:8606232147 CR:JAGae01383 )
Enhancement: This product update is member of a set needed
to improve the performance of application using shared
mutexes. Performance of a PTHREAD_PROCESS_SHARED mutex
unlock operation is slower than that of a
PTHREAD_PROCESS_PRIVATE mutex, even in the non-contended
(i.e., no waiters) case.
The full list of product updates required for this feature
are: PHKL_26316, PHKL_26240, and PHCO_25751.
If any member of this set of product updates is not
installed, this product update will have no impact on your
system.
PHKL_26042:
( SR:8606230908 CR:JAGae00146 )
This change provides pre-enablement of the Direct Register
Access feature.
This change will have no impact on your system until Direct
Register Access is fully enabled.
PHKL_34309:
( SR:8606425727 CR:JAGaf85235 )
A multi-threaded process may hang forever trying to fork
a new process, if other threads in the process are in
kernel context and are holding kernel resources.
PHKL_32061:
( SR:8606333799 CR:JAGae94886 )
System panic occurred when doing a pstat_getlwp system call.
The stack dump trace is similar to the following:
Stack trace of event 0:
stack trace for event 0
crash event was a panic
panic+0x6c
report_trap_or_int_and_panic+0x94
trap+0xefc
nokgdb+0x8
spinlock+0x14
kthread_pstat_lookup_next_hold+0x88
pstat_getlwp+0x3d8
syscall+0xaec
$syscallrtn+0x0
PHKL_30216:
( SR:8606351864 CR:JAGaf12669 )
A panic occurs due to a data page fault. This particular
panic occurs when using the Process Resource Manager(PRM) or
Workload Manager(WLM) products. This particular data page
fault panic is distinguished by having a stack trace similar
to this:
panic+0x6c
assfail+0x3c
_assfail+0x2c
sl_pre_check+0x120
spinlock+0x18
pfault+0xf8
trap+0x9dc
thandler+0xd5c
fss_balance+0xe20
statdaemon+0x1e0
im_statdaemon+0xfc
DoCalllist+0xc0
main+0x28
$vstart+0x48
$locore+0x94
( SR:8606356175 CR:JAGaf16881 )
Unexpected behavior of the system with FSS turned on leading
to a hang or panic.
( SR:8606330604 CR:JAGae91727 )
pthread_join(3T) may hang or lead to a data page fault panic
if the target thread is in the process of exiting. When the
result is a panic the stack trace is similar to the
following:
panic+0x6c
report_trap_or_int_and_panic+0x94
trap+0xef4
thandler+0xd20
thread_free+0x50
p_reap_detached_zombie+0x6c
thread_exit+0x144
thread_process_suspend+0x188
issig+0x338
syscall+0x9e4
( SR:8606339017 CR:JAGae99953 )
mprotect(2) system call leads to a panic with a stack trace
similar to the following:
panic+0x6c
wait_for_lock+0x380
sl_retry+0x1c
vfault+0x98
trap+0x234
nokgdb+0x8
set_purge_bit+0x40
set_purge_SIDS+0x14
invalidate_protids+0xf0
hdl_mprotect+0x1ac
do_mprotect+0x70
foreach_pregion+0xfc
mprotect+0x80
syscall+0x750
$syscallrtn+0x0
PHKL_25994:
( SR:8606217733 CR:JAGad86885 ) Duplicate
( SR:8606217874 CR:JAGad87024 ) Duplicate
( SR:8606212631 CR:JAGad81817 )
Enhancement: This product update is a member of a set
needed to enable Fast File Descriptor Allocation. The full
list of product updates required for this feature are:
PHKL_25993, PHKL_25994, PHKL_25995, PHKL_25996.
If any member of this set of product updates is not
installed, this product update will have no impact on your
system.
Performance decreases when a large number of file
descriptors are open and as more file descriptors are
needed, there is an increase in the time spent in the
open(2) system call.
PHKL_24569:
( SR:8606200799 CR:JAGad69975 )
This patch is a member of a set of patches needed to enable
the HP-UX Processor Sets product (PROCSETS). When PROCSETS
product is installed, it will install the full set of
required patches for that product, including this patch.
If the HP-UX Processor Sets product is not installed, this
change will have no impact on your system.
PHKL_24253:
( SR:8606159451 CR:JAGad28779 ) Duplicate
( SR:8606103740 CR:JAGab70789 )
A multi-threaded process being executed over NFS can become
hung and unkillable while performing either a fork, core,
setrlimit, SIGSTOP, or debugger operations. This can happen
with multiple threads in different processes competing for
the same resource when one thread is stopped.
PHKL_30032:
( SR:8606314571 CR:JAGae77335 )
Certain workloads cannot achieve their entitlements
with the Fair Share Scheduler (FSS) when capping is enabled.
This results in a performance degradation for some
workloads.
PHKL_29707:
( SR:8606247911 CR:JAGae14311 )
A Process Resource Manager (PRM) and Fair Share Scheduler
(FSS) group with a large entitlement and just enough jobs
to get that share could be outperformed by a smaller
entitlement group with more jobs.
( SR:8606248543 CR:JAGae14941 )
Veritas Volume Manager (VxVM) file systems get EINVAL or
ENOTSUP errors when Process Resource Manager (PRM) disk
controls are attempted.
PHKL_27317:
( SR:8606262276 CR:JAGae26611 )
Applications which use pthread_detach() may encounter a
problem where the exited threads are not properly reaped
(remain "zombie" threads). This can waste some memory
and prevent the application from creating threads up to
its entitled limits.
PHKL_27294:
( SR:8606234249 CR:JAGae03469 )
Enhancement: This product update is a member of a set
needed to support the kernel sleep/wakeup queuing
performance enhancement. The full list of product updates
required for this feature are: PHKL_27091, PHKL_27294,
PHKL_27093 and PHKL_27094.
Performance degradation may be seen on systems in
which a large number (500 or more) of TIMESHARE threads
call the accept(2) function on a single socket.
If any member of this set of product updates is not
installed, this product update will have no impact on
your system.
PHKL_27092:
( SR:8606241506 CR:JAGae08764 )
Increasing kernel memory consumption with heavy debugger
use leaves less memory available for the application. This
may result in increased paging.
( SR:8606233458 CR:JAGae02681 )
The system panics due to a data page fault in the signal
routines for multi-threaded processes. This panic is quite
rare, occurring only under extreme loading conditions, such
as those existing during HP internal kernel stress
testing. To date, this problem has not been reported by any
customer. The stack trace of the faulting thread will be
similar to the following:
crash event was a panic
panic+0x14
report_trap_or_int_and_panic+0x80
trap+0xdb8
nokgdb+0x8
pm_signalx+0x25c
pm_psignalx+0x54
psignalx+0x74
kill1+0x228
kill+0x58
syscall+0x8f0
( SR:8606248132 CR:JAGae14532 )
The 64bit Java Virtual Machine (JVM) aborts due to
"unexpected signal" or "illegal instruction" or
"segmentation violation" or due to other non-deterministic
error.
PHKL_25840:
( SR:8606229034 CR:JAGad98088 )
Enhancement to provide support for the interruption of a
specific thread blocked interruptibly in a system call.
PHKL_25728:
( SR:8606216254 CR:JAGad85424 )
High consumption of CPU resources can result in an apparent
system hang. This occurs with applications that use a large
number of threads per process.
PHKL_24568:
( SR:8606200799 CR:JAGad69975 )
This patch is a member of a set of patches needed to enable
the HP-UX Processor Sets product (PROCSETS). When PROCSETS
product is installed, it will install the full set of
required patches for that product, including this patch.
If the HP-UX Processor Sets product is not installed, this
change will have no impact on your system.
PHKL_24254:
( SR:8606159451 CR:JAGad28779 ) Duplicate
( SR:8606103740 CR:JAGab70789 )
A multi-threaded process being executed over NFS can become
hung and unkillable while performing either a fork, core,
setrlimit, SIGSTOP, or debugger operations. This can happen
with multiple threads in different processes competing for
the same resource when one thread is stopped.
PHKL_24844:
( SR:8606200984 CR:JAGad70160 )
An MP system may show as being 100% busy with a load that
should have only kept it 60-70% busy.
These symptoms were observed on N class and V class systems
running a load consisting of many short transactions with
many threads. The observed behavior is not limited,
however, to these type of systems alone and can occur on MP
systems with a similar type of load.
PHKL_24574:
( SR:8606200799 CR:JAGad69975 )
This patch is a member of a set of patches needed to enable
the HP-UX Processor Sets product (PROCSETS). When PROCSETS
product is installed, it will install the full set of
required patches for that product, including this patch.
If the HP-UX Processor Sets product is not installed, this
change will have no impact on your system.
Defect Description:
PHKL_35879:
( SR:8606466042 CR:JAGag21576 )
The algorithm for generating global time values can
generate time values that are not always monotonically
increasing. This has been observed to occur during vPars
CPU OLA/OLD operations.
Resolution:
gethrtime(3C) now returns a number of nanoseconds strictly
greater than the number returned in an earlier call.
PHKL_34548:
( SR:8606430137 CR:JAGaf89596 )
The problem results from the current implementation of
gethrtime(); Interrupts are being re-enabled too quickly,
resulting in incorrect time calculations.
Resolution:
Disable interrupts completely during the computations in
gethrtime().
PHKL_33363:
( SR:8606391584 CR:JAGaf51716 )
Some mmap64(2) requests are not processed correctly.
Resolution:
mmap64(2) requests are now processed correctly.
PHKL_30977:
( SR:8606352915 CR:JAGaf13710 )
The msem_lock(2) function will fail if protections in the
TLB lose write access, or the protection id of the page
does not match with the one in the control register.
Resolution:
Two lines of code were added in the 'msem_lock(2)' path
that pre-reads the page before the failing instruction.
A pre-read page fault will trap and cause a re-try instead
of returning with error.
PHKL_30539:
( SR:8606275342 CR:JAGae39417 )
This product update contains minor enhancements required to
enable the HP-UX VFS-AdvSysCall and HP-UX FUSER-Enh.
Resolution:
This patch enables new functions that will be called by the
HP-UX VFS-AdvSysCall and HP-UX FUSER-Enh.
PHKL_29628:
( SR:8606319246 CR:JAGae81736 )
If an application is in a tight loop making many light
weight system calls, this erroneously prevents the
capping ability of teh Fair Share Scheduler from working
properly.
Resolution:
The issue here is that light weight system calls ignore
or don't handle the scheduler interrupt and continue to
run. The fix is to acknowledge the scheduler interrupt
faithfully and this is done by calling its heavy weight
equivalent when appropriate which prevents this type of
"runaway".
PHKL_28475:
( SR:8606278471 CR:JAGae42529 )
According to the C runtime rules, the callee-save
registers will always have their original values upon
return from the kernel system call. However, these values
are not copied into the kernel where they can be provided
to getcontext(). Consequently, getcontext() cannot place
the correct values in the user ucontext structure, and
setcontext()/swapcontext() cannot restore them. The
program proceeds with incorrect values and fails in a
non-deterministic manner.
Resolution:
The system call entry path now copies these register
values so that getcontext() can retrieve them. The system
call return path now reloads these registers for
setcontext() (or swapcontext()) calls. This ensures these
registers have the same value as at the time the
application called getcontext(), and resolves the
failures.
PHKL_27172:
( SR:8606258396 CR:JAGae22696 )
When 32-bit applications invoke system calls having more
than four arguments on 64-bit kernels, these fifth, sixth,
etc., arguments are stored in the outgoing parameters area
of the caller's stack frame. There are situations where a
register used to calculate the pointer to the arguments
could have some residual left over bits in the high order
32-bits that will result in problems when attempting to
retrieve those arguments. These extraneous bits create an
address that is outside the range of the 32-bit address
space causing the EFAULT.
Resolution:
Mask off the upper 32-bits of the system call's argument(s)
pointer.
( SR:8606253687 CR:JAGae18035 )
The system can panic upon invoking the first 32-bit system
call after the kernel is booted because the system call
initialization path attempts to reference the per-processor
data before the processor is set to wide mode.
Resolution:
Enable the wide 64-bit address mode before any data
reference is done.
PHKL_26467:
( SR:8606231620 CR:JAGae00858 )
This product update contains minor enhancements
required to enable the "Release mode" functionality
for PTHREAD_PROCESS_SHARED mutexes.
Resolution:
This product update provides support for a new system
call interface, used internally by the POSIX
thread library to support release mode for
PTHREAD_PROCESS_SHARED mutexes.
PHKL_26240:
( SR:8606178913 CR:JAGad48138 )
The existing system call to obtain lists of filesystems
mounted returns information for one mount at a time. The
overhead in making this call, and obtaining kernel locks,
can be quite high, and contend with other system activity.
Resolution:
Provide a new system call which returns information for
multiple mounts with each call (rather than one per call).
This patch provides the new system call hooks. (Patch
PHKL_26239, also required for this performance improvement,
provides the new system call content.)
( SR:8606232147 CR:JAGae01383 )
In the PTHREAD_PROCESS_SHARED mutex case, the unlock
operation always makes a system call to synchronize with
threads in other processes which may be waiting for the
mutex. This makes the code path significantly longer.
Resolution:
To increase shared mutex performance in the non-contended
(i.e., no waiters) case, this change adds a new light weight
system call to be used in place of the regular system call
in the unlock operation. This is entirely transparent to
the applications. It greatly reduces the transition time
between kernel and user space. If waiters are detected,
the light weight call will transfer into the regular system
call path for proper handling. Thus, this performance
enhancement is effective only for shared mutexes which do
not experience heavy contention. (PHKL_26316, also
required for this enhancement, adapts the existing system
call which handles waiters of shared mutexes to coordinate
with the light weight call. PHCO_25751, also
required for this enhancement, adapts the libpthread
library to use the new light weight system call.)
PHKL_26042:
( SR:8606230908 CR:JAGae00146 )
This change contains minor enhancements required to
pre-enable the Direct Register Access feature.
Resolution:
Provide a new Light Weight System call providing Direct
Register Access.
PHKL_34309:
( SR:8606425727 CR:JAGaf85235 )
A thread performing a process-wide operation like fork()
needs to suspend all other threads in the process. If this
causes a 'ready to run' thread to be suspended, which may
be holding some kernel resource, it will cause another
thread waiting non-interruptably for that kernel resource
to be blocked indefinitely, without getting suspended.
This will cause the first thread performing process-wide
operation to block forever too. This will result in a
process hang.
Resolution:
Suspend 'ready to run' threads only at designated points
confirmed to be safe for thread suspension.
PHKL_32061:
( SR:8606333799 CR:JAGae94886 )
The pstat_getlwp() system call calls
kthread_pstat_idx_lookup_hold(), which returns the address
of a thread that is being created. Because the spinlock
structure of this newly created thread is not intact, a
panic occurs when a spinlock is done.
Resolution:
The resolution to this problem is to prevent the return of a
thread that does not have its spinlock structure intact.
PHKL_30216:
( SR:8606351864 CR:JAGaf12669 )
A synchronization flaw in the Fair-Share Scheduler (FSS),
between its load balancer and its FSS group deletion
operation, causes it to use a stale table index. This stale
index causes the data page fault panic. (FSS is a kernel
facility used by PRM and WLM.)
Resolution:
Corrected the synchronization flaw. It is no longer possible
to experience this particular data page fault panic due to a
stale FSS table index.
( SR:8606356175 CR:JAGaf16881 )
A synchronization flaw between the fork path and the FSS
operation that deletes an FSS group, causes the forked
process to have invalid FSS data. The invalid data may lead
to a panic or hang.
Resolution:
The synchronization flaw between FSS group deletion
operation and the fork path has been corrected. This
particular panic or hang can no longer be experienced.
( SR:8606330604 CR:JAGae91727 )
The hang is caused by a race between a thread join happening
at the same time as a thread detach. The panic may result if
the target thread is exiting.
Resolution:
The window of race between thread-join and thread-detach has
been closed.
( SR:8606339017 CR:JAGae99953 )
There is a race condition between the termination code for
the auxiliary kernel thread that facilitates debugging of a
process and the mprotect code path.
Resolution:
The window of race has been closed.
PHKL_25994:
( SR:8606217733 CR:JAGad86885 ) Duplicate
( SR:8606217874 CR:JAGad87024 ) Duplicate
( SR:8606212631 CR:JAGad81817 )
As a user program opens a large number of file descriptors,
more time is spent in the file allocation routines because
of the current linear algorithm which results in a
performance decrease.
Resolution:
This product update adds necessary infrastructure (variable
and pointer definitions) required to enable the Fast File
Descriptor Allocation Feature.
PHKL_24569:
( SR:8606200799 CR:JAGad69975 )
This patch contains minor enhancements required to support
the HP-UX Processor Sets product.
Resolution:
Enhancements added to handle pset inheritance in fork and
exit path when Processor Sets product is enabled.
PHKL_24253:
( SR:8606159451 CR:JAGad28779 ) Duplicate
( SR:8606103740 CR:JAGab70789 )
A thread acquires a lock and then sleeps interruptibly. The
interruptible sleep permits the thread to be stopped. Any
other thread attempting to acquire this lock will sleep
uninterruptibly until the lock is available. This
uninterruptible thread is also unkillable. This introduces
a deadlock potential in multi-threaded processes: when a
thread holding the lock, a thread desiring the lock, and a
third thread doing one of fork, setrlimit, core, SIGSTOP, or
debugger operations, all occur at the same time in the
same process, the deadlock is reached. The only way to
resolve the deadlock is to reboot the system. A similar
situation can occur when threads in different processes
are competing for the same NFS resource and the thread that
owns that resource is stopped via a signal, a debugger,
or a ctrl-Z.
This patch is part of a set of five patches (PHKL_24253,
PHKL_24254,PHKL_24255,PHKL_24256,PHKL_24257) that enable
P_NOSTOP, a new feature that prevents a process from being
unkillable. Each patch is independently installable.
Without all five installed, P_NOSTOP will be unavailable.
In order to prevent the process executed over NFS from
becoming unkillable, NFS must use the P_NOSTOP feature.
Usage of this feature was added to PHNE_23502.
Resolution:
If a thread acquires a lock and then sleeps interruptibly,
it is not permitted to be stopped if P_NOSTOP is set. This
prevents this thread from becoming unkillable and prevents
the deadlock.
PHKL_30032:
( SR:8606314571 CR:JAGae77335 )
Existing algorithms of the fair-share scheduler (FSS)
make some decisions which are inappropriate for some
workloads when the capping feature of FSS is enabled.
This causes processors to remain idle even when some
FSS groups have not attained their entitlements.
Resolution:
The FSS balancer and thread selection algorithms
have been modified where capping is enabled so that
the processors do not inappropriately idle. This
improves the ability of FSS groups to attain their
entitlements.
PHKL_29707:
( SR:8606247911 CR:JAGae14311 )
Due to the way HP-UX round-robin jobs separately among the
processors for each CPU, all groups start on the same CPU.
That means on a 4 processor box, if a system has four
groups each with 24% and one job, they all ended up
sharing the same CPU. A fifth group with only 4% but lots
of jobs would end up spread over all the CPUs, and take
about 76% of the over all system cycles.
Resolution:
When groups are created, they are sorted by relative
entitlement.
( SR:8606248543 CR:JAGae14941 )
VxVM now uses dynamic device id allocation at boot time,
and is initialized after the Fair Share Scheduler (FSS)
initialization. This causes the FSS to be initialized
incorrectly for VxVM disk control, causing these
operations to fail.
Resolution:
Delay the FSS initialization for VxVM disk control
operations until the first call is issued for these
operations at run time.
PHKL_27317:
( SR:8606262276 CR:JAGae26611 )
There is a race between pthread_detach() and
pthread_exit() which causes detached zombies not to
be reaped thus leaking memory. Due to the
above-mentioned race in the kernel, processes can
accumulate detached zombies which do not get
reaped.
Resolution:
The race between pthread_detach() and pthread_exit()
has been closed down by a simple alteration of the
locking strategy. Detached threads are now properly
reaped.
PHKL_27294:
( SR:8606234249 CR:JAGae03469 )
This product update contains minor enhancements required
to support the kernel sleep/wakeup queuing performance
enhancement.
Resolution:
Added code for allocation and initialization of a data
structure that supports the kernel sleep/wakeup queuing
performance enhancement.
PHKL_27092:
( SR:8606241506 CR:JAGae08764 )
For each thread of a process which had ever been under
debugger control, a small data structure is not properly
returned to the free kernel memory pool. This results in
increasing memory consumption on systems where the
debugger is used on many different threads. The problem
is caused by a minor coding error which prematurely sets
the structure pointer to null during thread exit.
Resolution:
Removed the extra line of code which prematurely sets the
pointer to null. This allows the structure to be freed
correctly.
( SR:8606233458 CR:JAGae02681 )
Debug threads were incorrectly left on the signalable
threads list for a process. This defect was found at HP
during product improvement testing. To our knowledge, no
customer system has experienced this defect.
Resolution:
Ensure the debug thread is not on the signalable threads
list at the time of its creation.
( SR:8606248132 CR:JAGae14532 )
A kernel interface used to initialize register values
takes either a direct or indirect pointer address
parameter. For 64-bit programs, the address is always
interpreted as an indirect pointer address, which is
incorrect for the 64-bit Java Virtual Machine (JVM).
This defect only occurs on 64-bit systems.
Resolution:
Extended the interface so that the 64-bit JVM can specify
whether the pointer address parameter is to be interpreted
as direct or indirect.
PHKL_25840:
( 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.
PHKL_25728:
( SR:8606216254 CR:JAGad85424 )
All non-running threads are searched to see if they can
handle a process directed signal. However, if the signal is
blocked by all the threads of a process, the signal cannot
be delivered to a thread and must be left pending at the
process level.
This causes repeated attempts to deliver the signal since
it is possible that a thread will eventually accept the
signal. The POSIX standards require the signal to be
delivered.
Resolution:
The solution is to reduce the number of times the entire
list of threads is searched by keeping a hint that a
previous search has found all threads having that signal
masked, and not repeating the search. This avoids
unnecessary and time consuming searches for a thread to
handle a signal when a candidate is not available.
PHKL_24568:
( SR:8606200799 CR:JAGad69975 )
This patch contains minor enhancements required to support
the HP-UX Processor Sets product.
Resolution:
Enhancements added to handle pset inheritance and to manage
threads/processes within their processor set domain when
Processor Sets product is enabled.
PHKL_24254:
( SR:8606159451 CR:JAGad28779 ) Duplicate
( SR:8606103740 CR:JAGab70789 )
A thread acquires a lock and then sleeps interruptibly. The
interruptible sleep permits the thread to be stopped. Any
other thread attempting to acquire this lock will sleep
uninterruptibly until the lock is available. This
uninterruptible thread is also unkillable. This introduces
a deadlock potential in multi-threaded processes: when a
thread holding the lock, a thread desiring the lock, and a
third thread doing one of fork, setrlimit, core, SIGSTOP, or
debugger operations, all occur at the same time in the
same process, the deadlock is reached. The only way to
resolve the deadlock is to reboot the system. A similar
situation can occur when threads in different processes
are competing for the same NFS resource and the thread that
owns that resource is stopped via a signal, a debugger,
or a ctrl-Z.
This patch is part of a set of five patches (PHKL_24253,
PHKL_24254,PHKL_24255,PHKL_24256,PHKL_24257) that enable
P_NOSTOP, a new feature that prevents a process from being
unkillable. Each patch is independently installable.
Without all five installed, P_NOSTOP will be unavailable.
In order to prevent the process executed over NFS from
becoming unkillable, NFS must use the P_NOSTOP feature.
Usage of this feature was added to PHNE_23502.
Resolution:
If a thread acquires a lock and then sleeps interruptibly,
it is not permitted to be stopped if P_NOSTOP is set. This
prevents this thread from becoming unkillable and prevents
the deadlock.
PHKL_24844:
( SR:8606200984 CR:JAGad70160 )
The problem happens because threads are moved too often from
one processor to another. When this happens, all the cache
state of the thread must be moved to the new processor also.
All this cache movement is the source of the extra cpu time
being used. That is, when a thread moves to a new cpu, the
new cpu takes a lot more cache misses than it would if the
thread were not moved.
The main mechanism moving threads in this case is the "idle
stealing" algorithm; when a cpu is idle, it looks around at
the other cpus and takes threads that are waiting to run on
another cpu. This mechanism can be the source of thread
cache thrashing.
Resolution:
The idle stealing mechanism cannot be removed as it is
needed for balancing the load on the system. However, the
delay between when a processor goes idle and when it starts
looking at other cpus run queues was increased. This
decreased thread cache thrashing significantly at some cost
to thread start latency; additionally some loads will
slightly degrade their maximum throughput.
PHKL_24574:
( SR:8606200799 CR:JAGad69975 )
This patch contains minor enhancements required to support
the HP-UX Processor Sets product.
Resolution:
Enhacements added in fair share scheduler to work within
processor set domain when Processor Sets product is enabled.
Enhancement:
No (superseded patches contained enhancements)
PHKL_30539:
Support added for VFS-AdvSysCall and FUSER-Enh.
PHKL_28475:
Enhancements were delivered in a patch this one has
superseded. Please review the Defect Description
text for more information.
PHKL_27294: Support the kernel sleep/wakeup queuing
performance enhancement.
PHKL_25994: Enable Fast File Descriptor Allocation.
PHKL_25840: Support for interruption of threads blocked
interruptibly in a system call.
PHKL_24569: Enable HP-UX Processor Sets product (PROCSETS).
PHKL_24568: Enable HP-UX Processor Sets product (PROCSETS).
PHKL_24574: Enable HP-UX Processor Sets product (PROCSETS).
SR:
8606466042 8606430137 8606178913 8606230908 8606231620
8606232147 8606253687 8606258396 8606275342 8606278471
8606319246 8606352915 8606391584 8606425727 8606103740
8606159451 8606200799 8606200984 8606212631 8606216254
8606217733 8606217874 8606229034 8606233458 8606234249
8606241506 8606247911 8606248132 8606248543 8606262276
8606314571 8606330604 8606333799 8606339017 8606351864
8606356175
Patch Files:
OS-Core.CORE-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/conf/sys/scall_define.h
ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/include/sys/scall_define.h
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
/usr/conf/lib/libscall-pdk.a(asm_scall.o)
/usr/conf/lib/libscall-pdk.a(gateway.o)
/usr/conf/lib/libscall.a(init_sent.o)
/usr/conf/lib/libpm.a(kern_exit.o)
/usr/conf/lib/libpm.a(kern_fork.o)
/usr/conf/lib/libprm.a(kern_fss.o)
/usr/conf/lib/libscall-pdk.a(lw_scall.o)
/usr/conf/lib/libscall-pdk.a(pdk_syscall.o)
/usr/conf/lib/libpm.a(pm_exec.o)
/usr/conf/lib/libpm.a(pm_init.o)
/usr/conf/lib/libpm.a(pm_proc.o)
/usr/conf/lib/libpm.a(pm_threads.o)
/usr/conf/lib/libscall-pdk.a(scall_stubs.o)
/usr/conf/lib/libpm.a(subr_threads.o)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/conf/lib/libscall-pdk.a(asm_scall.o)
/usr/conf/lib/libscall-pdk.a(gateway.o)
/usr/conf/lib/libscall.a(init_sent.o)
/usr/conf/lib/libpm.a(kern_exit.o)
/usr/conf/lib/libpm.a(kern_fork.o)
/usr/conf/lib/libprm.a(kern_fss.o)
/usr/conf/lib/libscall-pdk.a(lw_scall.o)
/usr/conf/lib/libscall-pdk.a(pdk_syscall.o)
/usr/conf/lib/libpm.a(pm_exec.o)
/usr/conf/lib/libpm.a(pm_init.o)
/usr/conf/lib/libpm.a(pm_proc.o)
/usr/conf/lib/libpm.a(pm_threads.o)
/usr/conf/lib/libscall-pdk.a(scall_stubs.o)
/usr/conf/lib/libpm.a(subr_threads.o)
what(1) Output:
OS-Core.CORE-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/conf/sys/scall_define.h:
None
ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/include/sys/scall_define.h:
None
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
/usr/conf/lib/libscall-pdk.a(asm_scall.o):
asm_scall.s $Date: 2003/01/08 11:46:45 $Revision: r1
1.11/3 PATCH_11.11 (PHKL_28475)
/usr/conf/lib/libscall-pdk.a(gateway.o):
gateway.s $Date: 2004/03/15 18:24:29 $Revision: r11.
11/4 PATCH_11.11 (PHKL_30539)
/usr/conf/lib/libscall.a(init_sent.o):
init_sent.c $Date: 2004/03/15 18:15:25 $Revision: r1
1.11/4 PATCH_11.11 (PHKL_30539)
/usr/conf/lib/libpm.a(kern_exit.o):
kern_exit.c $Date: 2002/06/25 15:23:53 $Revision: r1
1.11/3 PATCH_11.11 (PHKL_25994)
/usr/conf/lib/libpm.a(kern_fork.o):
kern_fork.c $Date: 2004/07/09 13:42:03 $Revision: r1
1.11/3 PATCH_11.11 (PHKL_30216)
/usr/conf/lib/libprm.a(kern_fss.o):
kern_fss.c $Date: 2004/07/09 13:42:03 $Revision: r11
.11/5 PATCH_11.11 (PHKL_30216)
/usr/conf/lib/libscall-pdk.a(lw_scall.o):
lw_scall.s $Date: 2006/12/20 13:17:25 $Revision: r11
.11/11 PATCH_11.11 (PHKL_35879)
/usr/conf/lib/libscall-pdk.a(pdk_syscall.o):
pdk_syscall.c $Date: 2002/06/24 11:20:45 $Revision:
r11.11/2 PATCH_11.11 (PHKL_27172)
/usr/conf/lib/libpm.a(pm_exec.o):
pm_exec.c $Date: 2001/05/29 12:00:15 $Revision: r11.
11/1 PATCH_11.11 (PHKL_24253)
/usr/conf/lib/libpm.a(pm_init.o):
pm_init.c $Date: 2001/11/28 17:03:18 $Revision: r11.
11/4 PATCH_11.11 (PHKL_25728)
/usr/conf/lib/libpm.a(pm_proc.o):
pm_proc.c $Date: 2006/12/20 13:17:23 $Revision: r11.
11/11 PATCH_11.11 (PHKL_35879)
/usr/conf/lib/libpm.a(pm_threads.o):
pm_threads.c $Date: 2004/07/09 13:42:03 $Revision: r
11.11/7 PATCH_11.11 (PHKL_30216)
/usr/conf/lib/libscall-pdk.a(scall_stubs.o):
scall_stubs.s $Date: 2004/03/22 06:14:27 $Revision:
r11.11/4 PATCH_11.11 (PHKL_30539)
/usr/conf/lib/libpm.a(subr_threads.o):
subr_threads.c $Date: 2006/01/25 15:37:06 $Revision:
r11.11/3 PATCH_11.11 (PHKL_34309)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/conf/lib/libscall-pdk.a(asm_scall.o):
asm_scall.s $Date: 2003/01/08 11:46:45 $Revision: r1
1.11/3 PATCH_11.11 (PHKL_28475)
/usr/conf/lib/libscall-pdk.a(gateway.o):
gateway.s $Date: 2004/03/15 18:24:29 $Revision: r11.
11/4 PATCH_11.11 (PHKL_30539)
/usr/conf/lib/libscall.a(init_sent.o):
init_sent.c $Date: 2004/03/15 18:15:25 $Revision: r1
1.11/4 PATCH_11.11 (PHKL_30539)
/usr/conf/lib/libpm.a(kern_exit.o):
kern_exit.c $Date: 2002/06/25 15:23:53 $Revision: r1
1.11/3 PATCH_11.11 (PHKL_25994)
/usr/conf/lib/libpm.a(kern_fork.o):
kern_fork.c $Date: 2004/07/09 13:42:03 $Revision: r1
1.11/3 PATCH_11.11 (PHKL_30216)
/usr/conf/lib/libprm.a(kern_fss.o):
kern_fss.c $Date: 2004/07/09 13:42:03 $Revision: r11
.11/5 PATCH_11.11 (PHKL_30216)
/usr/conf/lib/libscall-pdk.a(lw_scall.o):
lw_scall.s $Date: 2006/12/20 13:17:25 $Revision: r11
.11/11 PATCH_11.11 (PHKL_35879)
/usr/conf/lib/libscall-pdk.a(pdk_syscall.o):
pdk_syscall.c $Date: 2002/06/24 11:20:45 $Revision:
r11.11/2 PATCH_11.11 (PHKL_27172)
/usr/conf/lib/libpm.a(pm_exec.o):
pm_exec.c $Date: 2001/05/29 12:00:15 $Revision: r11.
11/1 PATCH_11.11 (PHKL_24253)
/usr/conf/lib/libpm.a(pm_init.o):
pm_init.c $Date: 2001/11/28 17:03:18 $Revision: r11.
11/4 PATCH_11.11 (PHKL_25728)
/usr/conf/lib/libpm.a(pm_proc.o):
pm_proc.c $Date: 2006/12/20 13:17:23 $Revision: r11.
11/11 PATCH_11.11 (PHKL_35879)
/usr/conf/lib/libpm.a(pm_threads.o):
pm_threads.c $Date: 2004/07/09 13:42:03 $Revision: r
11.11/7 PATCH_11.11 (PHKL_30216)
/usr/conf/lib/libscall-pdk.a(scall_stubs.o):
scall_stubs.s $Date: 2004/03/22 06:14:27 $Revision:
r11.11/4 PATCH_11.11 (PHKL_30539)
/usr/conf/lib/libpm.a(subr_threads.o):
subr_threads.c $Date: 2006/01/25 15:37:06 $Revision:
r11.11/3 PATCH_11.11 (PHKL_34309)
cksum(1) Output:
OS-Core.CORE-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
4289018432 21766 /usr/conf/sys/scall_define.h
ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
4289018432 21766 /usr/include/sys/scall_define.h
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
3870774027 9524 /usr/conf/lib/libscall-pdk.a(asm_scall.o)
219073305 7336 /usr/conf/lib/libscall-pdk.a(gateway.o)
777179858 36920 /usr/conf/lib/libscall.a(init_sent.o)
1261852023 24492 /usr/conf/lib/libpm.a(kern_exit.o)
303011005 18568 /usr/conf/lib/libpm.a(kern_fork.o)
4253106464 39404 /usr/conf/lib/libprm.a(kern_fss.o)
3962925824 6564 /usr/conf/lib/libscall-pdk.a(lw_scall.o)
4001864859 2384 /usr/conf/lib/libscall-pdk.a(pdk_syscall.o)
2638243843 4052 /usr/conf/lib/libpm.a(pm_exec.o)
3447184183 5496 /usr/conf/lib/libpm.a(pm_init.o)
4166231224 24524 /usr/conf/lib/libpm.a(pm_proc.o)
2199501307 23936 /usr/conf/lib/libpm.a(pm_threads.o)
2440878219 1500 /usr/conf/lib/libscall-pdk.a(scall_stubs.o)
3343385005 21316 /usr/conf/lib/libpm.a(subr_threads.o)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
1134204374 11576 /usr/conf/lib/libscall-pdk.a(asm_scall.o)
275750988 46848 /usr/conf/lib/libscall-pdk.a(gateway.o)
2726795592 142096 /usr/conf/lib/libscall.a(init_sent.o)
2480438404 47304 /usr/conf/lib/libpm.a(kern_exit.o)
1601161988 38016 /usr/conf/lib/libpm.a(kern_fork.o)
3024659783 80016 /usr/conf/lib/libprm.a(kern_fss.o)
3682560451 11872 /usr/conf/lib/libscall-pdk.a(lw_scall.o)
1693831169 5848 /usr/conf/lib/libscall-pdk.a(pdk_syscall.o)
1306086341 7768 /usr/conf/lib/libpm.a(pm_exec.o)
1859022767 16768 /usr/conf/lib/libpm.a(pm_init.o)
2379271178 64312 /usr/conf/lib/libpm.a(pm_proc.o)
2934940176 59096 /usr/conf/lib/libpm.a(pm_threads.o)
1748116559 142944 /usr/conf/lib/
libscall-pdk.a(scall_stubs.o)
969230765 52752 /usr/conf/lib/libpm.a(subr_threads.o)
Patch Conflicts: None
Patch Dependencies:
s700: 11.11: PHKL_25729 PHKL_28474 PHKL_30034 PHKL_34310
PHKL_34311
s800: 11.11: PHKL_25729 PHKL_28474 PHKL_30034 PHKL_34310
PHKL_34311
Hardware Dependencies: None
Other Dependencies:
PHKL_26467: To enable the process shared mutex performance,
the following must be installed: PHKL_26467, PHKL_26468,
PHKL_26469 and PHCO_26466. These product updates may be
installed in any order. If any of these product updates are
not installed, this product update will have no impact on
your system.
PHKL_26240: To enable the pthread shared mutex performance
enhancement related to JAGae01383, the following must be
installed: PHKL_26240, PHKL_26316, and PHCO_25751 In order
to realize a performance improvement in obtaining mount
information related to JAGad48138, PHKL_26239 must also be
installed.
PHKL_25994:
To enable the Fast File Descriptor Allocation enhancement,
the following product updates must be installed:
PHKL_25993, PHKL_25994, PHKL_25995, PHKL_25996. These
product updates may be installed in any order. If any of
these product updates are not installed, this product
update will have no impact on your system.
PHKL_24253: If NFS is installed on the system, all five
patches (PHNE_23502, PHKL_24253, PHKL_24254,PHKL_24255,
PHKL_24256, PHKL_24257) are required to resolve the process
hang/deadlock due to unkillable processes executed over NFS.
However, if NFS is not in use, none of these patches are
required.
PHKL_30032: On systems with the HP-UX Processor Sets product
(PROCSETS) version A.01.00.00.06 installed, PHKL_30037 must
be installed with this patch to avoid a system panic.
PHKL_29707: To solve the PRM(FSS) entitlement problem
related to JAGae14311 in Processor Sets path, PHKL_29709
must also be installed.
PHKL_27294: ( SR:8606234249 CR:JAGae03469 ) To support the
kernel sleep/wakeup queuing performance enhancement, the
following must be installed: PHKL_27091, PHKL_27294,
PHKL_27093 and PHKL_27094. If any of these product updates
are not installed, this product update will have no impact
on your system.
PHKL_25840: For enablement of this feature, PHKL_25842 also
needs to be installed in the system. Installation of either
patch by itself has no effect on the system.
PHKL_24254: If NFS is installed on the system, all five
patches (PHNE_23502, PHKL_24253, PHKL_24254,PHKL_24255,
PHKL_24256, PHKL_24257) are required to resolve the process
hang/deadlock due to unkillable processes executed over NFS.
However, if NFS is not in use, none of these patches are
required.
Supersedes:
PHKL_34309 PHKL_32061 PHKL_30216 PHKL_30032 PHKL_29707 PHKL_27317
PHKL_27294 PHKL_27092 PHKL_25994 PHKL_25840 PHKL_25728 PHKL_24844
PHKL_24574 PHKL_24569 PHKL_24568 PHKL_24254 PHKL_24253 PHKL_34548
PHKL_33363 PHKL_30977 PHKL_30539 PHKL_29628 PHKL_28475 PHKL_27172
PHKL_26467 PHKL_26240 PHKL_26042
Equivalent Patches: None
Patch Package Size: 390 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_35879
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHKL_35879.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHKL_35879. 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_35879.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHKL_35879.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHKL_35879.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None
|