 |
» |
|
|
 |
 |
 |
|
|
 |
|
Patch Name: PHCO_28427
Patch Description: s700_800 11.11 libc cumulative patch
Creation Date: 03/04/17
Post Date: 03/04/28
Hardware Platforms - OS Releases:
s700: 11.11
s800: 11.11
Products: N/A
Filesets:
OS-Core.C-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
OS-Core.C-MIN-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
ProgSupport.PROG-AUX,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
ProgSupport.PROG-AX-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
ProgSupport.PROG-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
OS-Core.SYS-ADMIN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP
OS-Core.SYS-ADMIN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP
Automatic Reboot?: No
Status: General Superseded
Critical:
Yes
PHCO_28427: ABORT HANG
PHCO_27434: HANG
Process Hang
PHCO_27910: ABORT CORRUPTION HANG
PHCO_26870: ABORT CORRUPTION HANG
PHCO_26124: ABORT CORRUPTION
PHCO_25452: ABORT HANG
PHCO_24942: ABORT CORRUPTION
PHCO_23427: CORRUPTION
PHCO_23772: CORRUPTION
PHCO_23093: CORRUPTION
Category Tags:
defect_repair enhancement general_release critical
halts_system corruption manual_dependencies
Path Name: /hp-ux_patches/s700_800/11.X/PHCO_28427
Symptoms:
PHCO_28427:
( SR:8606282083 CR:JAGae46026 )
Application hangs in free/realloc.
( SR:8606271895 CR:JAGae36074 )
When SBA is turned on, the program is compiled with the -z
option and it tries to free the same block twice,
a core dump results.
( SR:8606288623 CR:JAGae52554 )
Problem with res_update DNS library resolver routine.
( SR:8606293042 CR:JAGae56792 )
Superuser cannot restrict the paths set in the NLSPATH
environment variable for setuid root programs which
are using catopen(3C) and executed by others.
( SR:8606300530 CR:JAGae63999 )
calloc miscalculates the requirement
PHCO_27740:
( SR:8606264319 CR:JAGae28649 )
This product update is a member of a set needed to enable
the optional HP-UX Device IDs feature. Upon installation,
the HP-UX Device IDs bundle (DevIDs11i) will install the
full set of product updates (including this one) necessary
to enable the Device IDs feature.
If the HP-UX Device IDs product (DeviceIDs11i) is not
installed, this product update to HP-UX will have no impact
on your system.
PHCO_27434:
( SR:8606258699 CR:JAGae23018 ) Duplicate
( SR:8606261751 CR:JAGae26070 ) Duplicate
( SR:8606265515 CR:JAGae29801 )
When using popen(3S) in different threads or
popen(3S) and fork(2) simultaneously in different
threads, the process may hang if it is using
pclose(3S) subsequently.
( SR:8606262841 CR:JAGae27171 )
strtod(3C) returns the wrong end pointer, when
the first argument is "infinity".
PHCO_27910:
( SR:8606260114 CR:JAGae24434 )
getipnodebyname() routine returns incorrect results in
multi-threaded environment when it is called with an
IP address as the argument.
( SR:8606239772 CR:JAGae08197 )
Either or both of the following symptoms may appear
on a given system.
1. Service Guard may experience umount(2) failures.
2. System throughput and/or response time may
degrade when SPUs are added to a configuration
that includes significant getcwd(3C) activity,
for example in the SDET benchmark.
( SR:8606257150 CR:JAGae21456 )
opendir(3C) performance may be slow.
( SR:8606254777 CR:JAGae19108 )
gethostbyname() routine returns incorrect results in
multi-threaded environment when it is called with an
IP address as the argument.
( SR:8606251497 CR:JAGae17562 )
32bit applications running on 64 bit kernel,which call
getresuid(3C) or getresgid(3C) may abort and dump core on
systems with greater than 2GB physical memory.
( SR:8606245321 CR:JAGae11794 )
inetd(1M) daemon may hang on 11.11 trusted systems.
Inetd services will not work until "inetd -b" is run twice.
PHCO_26870:
( SR:8606239772 CR:JAGae08197 )
Either or both of the following symptoms may appear
on a given system.
1. Service Guard may experience umount(2) failures.
2. System throughput and/or response time may
degrade when SPUs are added to a configuration
that includes significant getcwd(3C) activity,
for example in the SDET benchmark.
( SR:8606260114 CR:JAGae24434 )
getipnodebyname() routine returns incorrect results in
multi-threaded environment when it is called with an
IP address as the argument.
( SR:8606257150 CR:JAGae21456 )
opendir(3C) performance may be slow.
( SR:8606254777 CR:JAGae19108 )
gethostbyname() routine returns incorrect results in
multi-threaded environment when it is called with an
IP address as the argument.
( SR:8606251497 CR:JAGae17562 )
32bit applications running on 64 bit kernel,which call
getresuid(3C) or getresgid(3C) may abort and dump core on
systems with greater than 2GB physical memory.
( SR:8606245321 CR:JAGae11794 )
inetd(1M) daemon may hang on 11.11 trusted systems.
Inetd services will not work until "inetd -b" is run twice.
PHCO_26124:
( SR:8606231691 CR:JAGae00927 )
A user built perl executable aborted when using getpwent(3C)
API.
( SR:8606225736 CR:JAGad94809 )
Enhancement providing pre-enablement for a future release of
libnsl functionality. The changes in this patch will have no
affect on your system.
( SR:8606233401 CR:JAGae02625 )
setlocale(3C) is resulting in core dump when an application
compiled with -z option calls setlocale(3C) more than ten
times with different locales and categories other than
LC_ALL.
PHCO_25452:
( SR:8606228311 CR:JAGad97368 )
On a system with duplicate utmpx entries, logname and
getlogin were reporting incorrect login-names for
the user.
( SR:8606199060 CR:JAGad68247 )
Deadlock occurs when one thread in the process is performing
a blocking read (via stdio interfaces like fgets), another
thread performs a fork() before the blocking thread could
return.
( SR:8606225942 CR:JAGad95015 )
Improve performance of getdate() and clock() in
multi-threaded environments.
( SR:8606225355 CR:JAGad94442 )
Application which uses localtime() aborts when built
with -z and environment variable TZ set to last entry
in /usr/lib/tztab
PHCO_24942:
( SR:8606212783 CR:JAGad81970 )
res_query dumps core with large numbers of file descriptors.
( SR:8606205180 CR:JAGad74356 )
regexec() does not handle multibyte characters correctly.
( SR:8606214105 CR:JAGad83296 )
memchr() returns NULL unexpectedly.
( SR:8606203226 CR:JAGad72400 )
When a file stream is opened in write-only mode, an
immediate fread() reported failure but an fread() which was
followed by a fwrite() reported success.
( SR:8606213123 CR:JAGad82310 )
directory (3C) API's mutex contention.
( SR:8606204965 CR:JAGad74141 )
Default SBA support for C++ applications.
( SR:8606211883 CR:JAGad81071 )
delmntent libc routine deletes the entire mnttab contents.
( SR:8606202970 CR:JAGad72144 )
When a file stream is opened in read-only mode, putw()
reports a success though sets the errno to EBADF.
( SR:8606206070 CR:JAGad75245 )
Performance degradation of mktime ().
( SR:8606183079 CR:JAGad52295 )
incorrect freeing of memory in update_mnttab may
result in core dump.
( SR:8606215963 CR:JAGad85135 )
11.11 libc patches install PA1.1 version libc library
under /usr/lib on PA2.0 system.
PHCO_24400:
( SR:8606204553 CR:JAGad73735 )
getwc() incapable of handling codeset GB18030.
( SR:8606201456 CR:JAGad70632 )
The libc is not IPv6 enabled.
( SR:8606188513 CR:JAGad57721 )
fstyp returns "unknown_fstyp" on VxFS version 4 disk layout
file system
PHCO_23427:
( SR:8606177629 CR:JAGad46861 )
ptsname corrupts heap SIGBUS may result
( SR:8606196622 CR:JAGad65825 )
Multithreaded application core dumps sometimes when
it uses the Name Service Switch calls like getXXent
and endXXent.
( SR:8606179946 CR:JAGad49168 )
New feature and not a defect. Initialized TLS support
in libc for 64 bit non-threaded applications.
( SR:8606239637 CR:JAGab20870 )
When environment variable TZ is not set, the variables
tzname[2] and timezone is set to hard coded values
corresponding to Eastern Standard Time.
( SR:8606172344 CR:JAGad41604 )
(1) Trusted system calls made on an 11.0 NIS system
causes a SIGSEGV core dump.
(2) Using "dns" as a source for databases other than
"hosts" causes a SIGSEGV core dump.
( SR:8606194571 CR:JAGad63779 )
getdate fails VSU test case
( SR:8606165366 CR:JAGad34660 )
mallinfo() returns incorrect arena/uordblks.
( SR:8606186527 CR:JAGad55731 )
M_BLOCK behavior for malloc not working correctly.
( SR:8606185046 CR:JAGad54248 )
malloc(3C) has a silent data corruption in fourth quadrant.
PHCO_23772:
( SR:8606185984 CR:JAGad55189 )
For those PA-32bit Threaded C Applications which uses C++
plugins and pthread/cma calls in static
constructor/destructor, may happen that destructors will be
called twice. Non-threaded PA-32 bit applications do not
have this problem.
PHCO_23093:
( SR:8606162328 CR:JAGad31644 )
Memory Corruption when using fwscanf routine with
%lc option.
( SR:8606162140 CR:JAGad31456 )
regcomp(3C) function fails to detect an extended
regular expression
( SR:8606170481 CR:JAGad39745 )
sigwait() does not work as cancellation point if
the thread is cancelled after it enters
__sigwait_sys().
( SR:8606172179 CR:JAGad41440 )
User cannot use C++ runtime library on 32 bit
application
( SR:8606175166 CR:JAGad44410 )
gettimeofday is very slow for certain vendors who
use it for time stamping.
( SR:8606164457 CR:JAGad33756 )
Global symbols in libc can conflict with one in
program causing SIGBUS.
( SR:8606102984 CR:JAGab69119 )
No externally supported method to pthread safe
dynamically loaded libs
Defect Description:
PHCO_28427:
( SR:8606282083 CR:JAGae46026 )
Libc malloc(3C) family of API's hang if the complete heap of
the process is exhausted and application calls
free()/realloc().This happens because of improper handling
of resources by malloc(3C) itself.
Resolution:
The hang problem in free()/realloc()/malloc() is resolved by
releasing the resource held by thread.
( SR:8606271895 CR:JAGae36074 )
When SBA is turned on, the program is compiled with the -z
option and it tries to free the same block twice,
a core dump results.
Resolution:
In the free(3C) code, an additional check is made to see
whether the block being freed is already free.
If so, free(3C) returns immediately.
( SR:8606288623 CR:JAGae52554 )
Under certain circumstances, large size packets received
by the res_update resolver routine were not handled
properly.
Resolution:
res_update now properly handles packets of all sizes.
( SR:8606293042 CR:JAGae56792 )
Catopen(3C) uses the paths listed in the NLSPATH
environment variable for opening the specified catalog
file. There is no option for the superuser to restrict
the paths listed in NLSPATH.
Resolution:
Catopen(3C) has been modified to restrict the paths
listed in the NLSPATH environment variable. The
restrictions are in effect for setuid programs owned
by root and executed by others. A new configuration
file, "/etc/default/nlspath", allows the superuser
to restrict the paths set by others in the NLSPATH
environment variable.
( SR:8606300530 CR:JAGae63999 )
calloc miscalculates the requirement
Resolution:
calloc properly calculate the requirement.
PHCO_27740:
( SR:8606264319 CR:JAGae28649 )
This product update contains a minor enhancement required to
enable the HP-UX Device IDs feature.
When AutoFS unmounts a filesystem, it obtains the device id
from the filesystem server. If that server is slow, or not
responding, there may be a delay of 15 seconds or more. On
systems with many AutoFS managed filesystems and many slow
or non-responding servers, the cumulative delay may be quite
significant.
Resolution:
Ensure that each filesystem's device IDs are made available
in the /etc/mnttab file (mounted filesystem table) only if
the optional HP-UX Device IDs feature is enabled.
PHCO_27434:
( SR:8606258699 CR:JAGae23018 ) Duplicate
( SR:8606261751 CR:JAGae26070 ) Duplicate
( SR:8606265515 CR:JAGae29801 )
When using popen(3S) in a multithreaded application,
the process can hang waiting in pclose(3S) because
of race conditions.
Resolution:
The popen(3S) and fork(2) were serialised to resolve
the race conditions.
( SR:8606262841 CR:JAGae27171 )
In strtod(3C), if the first argument is "infinity",
it is returning next to next character after
"infinity". But it is supposed to return next character
after "infinity".
Resolution:
strtod(3C) is modified in such a way that, if the
first argument is "infinity", then it will return
next character after "infinity".
PHCO_27910:
( SR:8606260114 CR:JAGae24434 )
When getipnodebyname() is called with an IP address
as the argument in a multi-threaded environment, the
static global variables may be corrupted as they were
not protected for threads.
Resolution:
The global variables are now protected for threads by
defining them locally to the function where they are used.
( SR:8606239772 CR:JAGae08197 )
Obtaining complete filesystem mount information can be a
performance problem for some applications on systems having
a large number of mounts.
Resolution:
Used the new system call which returns information for
multiple mounts with one call (rather than one per call).
( SR:8606257150 CR:JAGae21456 )
Path name searching is done twice which causes opendir
to be slower than necessary.
Resolution:
Path name search has been reduced to one from two calls
by altering the way the syscalls are made.
( SR:8606254777 CR:JAGae19108 )
When gethostbyname() is called with an IP address as the
argument in a multi-threaded environment, the static
global variables may be corrupted as they were not
protected for threads.
Resolution:
The global variables are now protected for threads by
defining them locally to the function where they are used.
( SR:8606251497 CR:JAGae17562 )
The APIs getresuid(3C) and getresgid(3C) call
pstat_getproc(2) syscall to get the real user,real group,
effective user, effective group, saved user and
saved group ids. But for a 32-bit application running on
a 64-bit kernel, there is a possibility of an error with
errno set to EOVERFLOW. Due to improper handling of this
errno in getresuid(3C) and getresgid(3C), made them to fail.
Resolution:
getresuid(3C) and getresgid(3C) have been modified to
handle the EOVERFLOW in the right fashion.
( SR:8606245321 CR:JAGae11794 )
Application calls any of the APIs getpwnam(3C),getpwuid(3C),
getgrgid(3C), or getgrnam(3C) and forks a new process.
In the context of the child process, it then closes all
open files.When any of the above mentioned APIs are
called again in the child context,the API tries to use
a cached file descriptor which was opened in the parent
context causing undesired results.
Resolution:
Libc source has been modified so that the APIs getpwnam(3C),
getpwuid(3C), getgrgid(3C) and getgrnam(3C) will not use
the cached file descriptor in the child context after
fork, if it is closed and reopened.
PHCO_26870:
( SR:8606239772 CR:JAGae08197 )
Obtaining complete filesystem mount information can be a
performance problem for some applications on systems having
a large number of mounts.
Resolution:
Used the new system call which returns information for
multiple mounts with one call (rather than one per call).
( SR:8606260114 CR:JAGae24434 )
When getipnodebyname() is called with an IP address
as the argument in a multi-threaded environment, the
static global variables may be corrupted as they were
not protected for threads.
Resolution:
The global variables are now protected for threads by
defining them locally to the function where they are used.
( SR:8606257150 CR:JAGae21456 )
Path name searching is done twice which causes opendir
to be slower than necessary.
Resolution:
Path name search has been reduced to one from two calls
by altering the way the syscalls are made.
( SR:8606254777 CR:JAGae19108 )
When gethostbyname() is called with an IP address as the
argument in a multi-threaded environment, the static
global variables may be corrupted as they were not
protected for threads.
Resolution:
The global variables are now protected for threads by
defining them locally to the function where they are used.
( SR:8606251497 CR:JAGae17562 )
The APIs getresuid(3C) and getresgid(3C) call
pstat_getproc(2) syscall to get the real user,real group,
effective user, effective group, saved user and
saved group ids. But for a 32-bit application running on
a 64-bit kernel, there is a possibility of an error with
errno set to EOVERFLOW. Due to improper handling of this
errno in getresuid(3C) and getresgid(3C), made them to fail.
Resolution:
getresuid(3C) and getresgid(3C) have been modified to
handle the EOVERFLOW in the right fashion.
( SR:8606245321 CR:JAGae11794 )
Application calls any of the APIs getpwnam(3C),getpwuid(3C),
getgrgid(3C), or getgrnam(3C) and forks a new process.
In the context of the child process, it then closes all
open files.When any of the above mentioned APIs are
called again in the child context,the API tries to use
a cached file descriptor which was opened in the parent
context causing undesired results.
Resolution:
Libc source has been modified so that the APIs getpwnam(3C),
getpwuid(3C), getgrgid(3C) and getgrnam(3C) will not use
the cached file descriptor in the child context after
fork, if it is closed and reopened.
PHCO_26124:
( SR:8606231691 CR:JAGae00927 )
When the domain name is set to null and when the
NSS (Name Service Switch) configuration is "files nis" for
password database, then the getpwent(3C) API dumps core
with the SIGBUS error. In the switch code, the destructor
for the same files backend is called second time.
Resolution:
The code flow is changed in such a way that the destructor
for the same files backend will not be called more than
once.
( SR:8606225736 CR:JAGad94809 )
Enhancement providing pre-enablement for a future release of
libnsl functionality. The changes in this patch will have no
affect on your system .
Resolution:
Provided a wrapper routine for libnsl.
( SR:8606233401 CR:JAGae02625 )
setlocale(3C) is dereferencing "NULL" pointer and resulting
in core dump while checking whether locales can be removed
from the cache or not.
Resolution:
setlocale(3C) will check for NULL pointer before
dereferencing a pointer during removal of locales
from the cache.
PHCO_25452:
( SR:8606228311 CR:JAGad97368 )
Due to duplicate entries problem in the utmpx file, we had
more than one entry for the same pts/pty/tty. This leads to
a situation wherein only one of the entries in the
/etc/utmpx file is correct and signifying the current
session of the user and the rest of the entries being
incorrect. They correspond to processes that no-longer
exist but still are marked as user processes. logname and
getlogin would report incorrect username in this case.
Resolution:
The fix takes into account the current session for a
particular terminal. It compares the session id of the
calling process and the session id of the ut_pid entry in
the /etc/utmpx file to get the correct entry which is
the entry corresponding to the current user's session.
( SR:8606199060 CR:JAGad68247 )
The input stdio interfaces acquire a mutex and
perform a read. The read may block if there is no data
available on the stream. At that time, when fork() is
performed by another thread, the registered
atfork-handler also tries to acquire the same mutex
but as the mutex is held by a thread which is blocked
on I/O, it results in an indefinite wait causing a
deadlock.
Resolution:
The locking of the stdio mutex in atfork-handler has been
removed. With this fix, deadlock in parent will not occur
as reported in the defect.
( SR:8606225942 CR:JAGad95015 )
Improve performance of getdate() and clock() in
multi-threaded environments.
Resolution:
Reduced locking granularity in getdate() and clock() to
improve the performance in multi-threaded environments.
( SR:8606225355 CR:JAGad94442 )
Core dump occured because of a null pointer dereference
which happens when 1) Application is built with -z and
the environment variable TZ used is not in the file
/usr/lib/tztab
Or 2) when the application is built with -z and the
environment variable TZ is the last entry in the
/usr/lib/tztab.
Resolution:
The pointer is checked for null before de-referencing.
PHCO_24942:
( SR:8606212783 CR:JAGad81970 )
res_query() dumps core when called through a large number of
threads simultaneously from a single process as the socket
descriptor may cross 2048 which is the current limit.
Resolution:
The code has been modified to handle any number of threads
(limited by system resources only) as the limit on socket
descriptor is removed.
( SR:8606205180 CR:JAGad74356 )
regexec() does not handle multibyte characters correctly.
where the second byte of a multibyte SJIS character is
interpreted as stand alone single byte character.
Resolution:
For matching a pattern containing .* , .+ , regexec travers
es the entire length of the string and then backtracks to
find out if it can match the remaining part of the
pattern.The backtracking logic currently doesn't take the
multi-byte scenario into consideration and goes back byte
by byte.In the case of a multi-byte character with a valid
character as a second byte, a match is found for the
second byte even though it is not a stand-alone character
and just forms part of a multi-byte character.
Now the code has been changed to take care of multi-byte
back tracking.
( SR:8606214105 CR:JAGad83296 )
memchr() returns NULL unexpectedly in the PA 2.0 Narrow mode
Resolution:
The above defect is because the higher order 32 bits were
not cleared. Now the instruction is added to clear the
higher order 32 bits in PA2.0 Narrow mode.
( SR:8606203226 CR:JAGad72400 )
There was a missed condition wherein a file stream which has
been opened in write-only mode, an immediate fread on the
stream failed but if the fread() followed after a fwrite()
didn't report an error.
Resolution:
Changes have been made to code in the fread() call.Check was
being made on the basis of _cnt field of the file stream and
the routine that sets the error (_filbuf()) was then being
called. The pathflow is different when the _cnt field is
greater than 0 (which is taken when fwrite() updates the
file stream and updates the _cnt field). _cnt greater than
0 denotes that there are bytes in the look-ahead buffer.
In case the file stream has been fflushed,the _cnt field
is set to 8192 (_DBUFSZ) when the stream is opened in
read-only mode. These cases, when the _cnt
is greater than 0 had not been taken into consideration
from the write-only mode of operation point of view.
Introduced a check to handle this.
( SR:8606213123 CR:JAGad82310 )
Application using the directory (3C) API's in
multithreaded environment got into mutex contention
problem, which resulted in 100% usage of the CPU resource
time.
Resolution:
The application was creating more than 1000 threads and also
openning ~50000 directories.
Since there are 50000 instances opendir(), there will be
50000 nodes in the directory mutex linked list. Under this
circumstance when multiple threads at the same time tries
to open/close directories, in an average there will be a
traversal of ~25000 nodes, during which the global mutex
will be locked.
Fix is to use 2 linked lists Inuse and Free in place of
one list. This eliminates lot of search time and mutex
contention. The 2 APIs opendir() and closedir() modified
to incorporate the new design, which provides direct
access to the required mutex.
( SR:8606204965 CR:JAGad74141 )
The existing PA C++ binaries performnace can be improved
significantly by providing the SBA support for small block
allocation.
Resolution:
mallopt(3C) is enhanced to provide a new commond M_SBA_ON
which will be used by libCsup, C++ initialization library.
The libCsup will call mallopt(M_SBA_ON, 1) in its
initialization routine, as a result the mallopt configures
the SBA with the predefined default values.
( SR:8606211883 CR:JAGad81071 )
delmntent libc routine deletes the entire contents if
mntent structure obtained from the call to getmntent
was passed to delmntent.
Resolution:
The defect is due to the returning of same global buffer
by getmntent call to an application and the same global
buffer being used in the delmntent libc call. The code
has been fixed to address the problem.
( SR:8606202970 CR:JAGad72144 )
When putw() fails, it is supposed to set the error flag
for the file stream, set the errno describing the error
occurred and return EOF. Only the errno was being set but
error flag of the file stream wasn't being updated due to
which EOF was not being returned.
Resolution:
Change has been made to flsbuf.c file in the _wrtchk()
routine wherein, in case no write permissions are found
for the file stream, the errno is set and EOF returned but
the file stream's errof flag wasn't being set. On return
from this call, file's error flag was being checked which
was not being set earlier and hence, it was being considered
as success.
( SR:8606206070 CR:JAGad75245 )
mktime takes the timezone specification from /usr/lib/tztab
file. Incase the application does a rapid switch between 2
invalid time zones then for each switch the tztab file is
accessed and searched for the required time zone. Hence for
each switch the file is read completely. This degrades the
performance of mktime.
Resolution:
The /usr/lib/tztab file is cached in memory local to the
process,the first time mktime is called,and each subsequent
call to mktime makes use of this cached data. This approach
reduces the number of disk read operations.
( SR:8606183079 CR:JAGad52295 )
freeing of an unallocated memory was done in
update_mnttab routine, which may result in coredump
of an application.
Resolution:
The problem was fixed by freeing only
the memory which was allocated through libc malloc
family calls.
( SR:8606215963 CR:JAGad85135 )
When cold installing 11.11, the postinstall script for
CORE-SHLIBS replaces the PA1.0 /usr/lib/libc.2 with a
with a PA2.0 version if needed.
When installing PHCO_23427 (or one of the superseded
patches PHCO_23772 and PHCO_23093) on a PA2.0 system,
this PA2.0 file gets replaced by a PA1.0 version.
Resolution:
Control scripts have been provided along with the
patch for placing the right version of libc library
under /usr/lib directory.
PHCO_24400:
( SR:8606204553 CR:JAGad73735 )
getwc() unable to handle Chinese codeset GB18030
Resolution:
getwc() depends on mbtopc() to convert file code to process
code.When Multibyte character is split across the buffer
mbtopc() detects this and returns number of more bytes
required to make this vaild character. The current getwc()
function works on the assumption that mbtopc() always
returns the number of more bytes required in case of a
mlltibyte split.But in case of gb18030 mbtopc() method
cannot tell the caller its a 2 or 4 byte, because both
two and four byte characters begin with the same byte
range (x81 - xFE). Now the routine mbtopc() in gb18030
method returns MB_CUR_MAX in case the multibyte character
is split across the buffer.Now to fix this getwc() is
changed not to depend on the return value from mbtopc()
in case of the multibye split.
( SR:8606201456 CR:JAGad70632 )
IPv6 functionality should be provided in libc.
Resolution:
The source code for networking APIs in libc
have been modified to effect IPv6 changes.
New APIs included :
getaddrinfo(),
getnameinfo(),
freeaddrinfo(),
gai_strerror(),
getipnodebyname(),
getipnodebyaddr(),
rcmd_af(),
rresvport_af(),
rexec_af()
The last three APIs are provided to enable IPv6 in
rcommands.
rlogin and remsh Applications call rcmd_af() and
rresvport_af() APIs and rexec calls rexec_af() API.
IP address to hostname resolution APIs:
The getaddrinfo(), getipnodebyname() APIs are provided
for name to address resolution. The getnameinfo() and
getipnodebyaddr() APIs are provided for address to name
resolution.
They work for both IPv4 and IPv6 hostnames and addresses.
freeaddrinfo() is used to free the linked list created
by getaddrinfo().
gai_strerror() is used to print error messages
corresponding to error values from getaddrinfo().
( SR:8606188513 CR:JAGad57721 )
fstyp command calls statvfsdev on VxFS version 4 disk layout
returns "unknown_fstyp". It fails on accessing initial inode
list extents block address which exceeds 32 bit addressing.
lseek64 should be used instead of lseek in __vx_fs_lseek.
Resolution:
Now the call to lseek is replaced with lseek64 by using a
compilation flag _FILE_OFFSET_BITS=64 in the makefile.
PHCO_23427:
( SR:8606177629 CR:JAGad46861 )
When the application is linked with libpthreads
ptsname() function may corrupt heap
Resolution:
The cause of this problem is instead of passing the sizeof
bytes allocated by malloc to the GET_TSS() function, the
sizeof the character pointer returned by malloc is passed
as an argument. So,it is always taking sizeof the character
pointer which is less than the number of bytes allocated
by malloc.
ptsname() is modifiied to pass the correct argument
( SR:8606196622 CR:JAGad65825 )
The getXXent call and endXXent functions call shl_unload()
function to unload the shared backend library when the
number of references to the backend instance structure is
zero. However, the library call shl_unload() on PA32
machine unloads the shared library regardless of whether
there are other references to it through other load
invocations. This causes the subsequent shl_unload call
fail with signal 11.
Resolution:
Removed the shl_unload call for PA32 architecture in
the SO_per_src_delete function.
( SR:8606179946 CR:JAGad49168 )
Initialized TLS support in libc for 64 bit non threaded
applications.
Resolution:
The initialization routine of Libc has changed to support
initialized TLS variables in a PA64 non threaded
applications. Both the archived and shared version of the
libraries have this enhancement. To get the complete
functionality of ITLS (Initilized thread local storage) the
following patches has to be installed.
PHSS_23441- linker core
PHSS_23794 - linker ISU
PHCO_23846 - libpthread
PHSS_23953 - Fortran compiler
Currently this feature is available with Fortran compiler
only.No changes are required to be done in libc when this
feature is made available for any other compilers.
( SR:8606239637 CR:JAGab20870 )
When the variable TZ is not set in the environment, in HP-UX
it defaults to EST5EDT which is the east coast time in US.
This poses problem in the environment of the processes that
(a) are started by init(1m)
(b) clear their environment (e.g. login (1), sendmail(1m) )
The hard coded value is inappropriate for any timezone other
than east coast of US and the difference is difficult to
track for countries like Australia which frequently update
their daylight timing rules
Resolution:
When the environment variable TZ is not set, tzset() checks
the default file /etc/default/tz for the timezone value and
sets timezone values based on that. The file
/etc/default/tz contains the timezone value set by tzset()
when the environment variable TZ is not set. The format for
the file is same as TZ format without the prefix "TZ=".
Please check environ(5) for TZ format. 1) if the
environment variable TZ is present, it takes precedence. 2)
if TZ is not present then the value contained in
/etc/default/tz is used for the default. 3) if
/etc/default/tz is not set then the default value is
equivalent to EST5EDT (Eastern Standard Time) of US.
(Install the Patch PHCO_24396 to get the sample
/etc/default/tz file. Please read "Special Installation
Instructions" field for more information on PHCO_24396
patch)
( SR:8606172344 CR:JAGad41604 )
When the APIs getprpwnam(), getgrnam(), getnetbyname(),
and getservbyname() are configured with the
/etc/nsswitch.conf file to search sources that do not
support these calls, the Name Server Switch engine code
unloads the sources and returns NSS_NOTFOUND. The source
"nis" doesn't support the trusted system call getprpwnam().
The source "dns" is only valid for the "hosts" database.
Thus, subsequent API getXXXbyYYY calls that try to search
sources that have been unloaded end up accessing invalid
locations, resulting in a SIGSEGV core dump.
Resolution:
If a source doesn't support an API getXXXbyYYY call,
don't unload the source. Just have the Name Server
Switch engine code return NSS_UNAVAIL.
( SR:8606194571 CR:JAGad63779 )
Insufficient handling of locale specific representation of
time in getdate(3C)
Resolution:
getdate() changed to be inline with UNIX 98 specifications.
( SR:8606165366 CR:JAGad34660 )
mallinfo() doesn't give correct memory statistics if the
application is multithreaded and uses multiple arenas. The
problem was introduced during multi arena enhancement. The
way mallinfo() designed works fine only for single arena,
but the problem starts when there are 2 or more arenas and
there is a overlapping brk value.
When multiple threads call malloc(3C) to allocate space,
each will be assigned an arena. Each arena will maintain
the start and end point of that arena. The arena_start
represents the starting heap address for this thread and
the end_arena represents the ending address. Assume 2
threads are say THREAD1 and THREAD2 running in parallel.
THREAD1 calls malloc(), malloc stores the the arena_start1
(current brk value say 0x1000 ) and extends the brk value
to predefined size and sets the end_arena1(0x4000),
similarly THREAD2(arena_start 0x4000, arena_end 0x8000). If
THREAD1 again calls malloc() and there is no pre-allocated
space in the arena, the brk value is increased and
arena_end will be set( 0x12000).
The mallinfo() will collect the size by visiting each arena
starting from arena_start till arena_end of that arena. In
the above case arena_start and arena_end of THREAD1 is
0x1000 and 0x12000 respectively, for THREAD2 arena_start is
0x4000 and arena_end is 0x8000 respectively. While counting
the size, arena for THREAD2 will be counted 2 times, once
with arena1 and once with arena2. Hence the problem. In
single arena implementation this problem will not be
revealed.
Double counting is happening because we will modify the
dummy header when lastbrk != curbrk. The dummy header which
had SIZE=0 and USED set, will be set with the difference of
curbrk and lastbrk. If the lastbrk of one thread is not
equal to the curbrk, the possibility is that either user
application called brk/sbrk or some other thread expanded
the brk value. If the curbrk value is changed from some
other thread then the other thread treats this as the user
allocation and the dummy header is modified appropriately
and fixes the arenaend for this thread.
The problem will be there if there is a overlap between the
brk values of the different arenas. So in the current
implementation USER_ID is used when
O The application directly calls brk/sbrk O The other arena
calls brk/sbrk
The problem is because of setting USER_ID when the other
arena calls brk/sbrk.
Resolution:
The resolution is basically to avoid the use of USER_ID
when the other arena calls brk/sbrk. A new memory block
identifier ARENA_ID is defined in malloc.c as
The ARENA_ID is used to mark that the memory block is used
and it is used by some arena. The used memory block will be
marked with ARENA_ID under the circumstance mentioned
below.
O When a block of memory is used by some other arena and
the last brk value maintained in the that arena is not
equal to the _curbrk. While counting memory usage
statistics in mallinfo(), the memory block with ARENA_ID as
the id we will skip because it is used by some other arena
and will be taken into account under that arena.
( SR:8606186527 CR:JAGad55731 )
The defect was due to blocking the signals after locking
the malloc mutexes in the case of multi threaded malloc.
When malloc/calloc/valloc/realloc is called in signal
handler and also the main thread of execution and there
are frequent signals to application. The application
becoming busy in locking and unlocking the malloc mutexes
resulting into application hang situation
Resolution:
Signals blocking is done before locking the mutexes.
Which avoids the too many mutex locks and unlocks.
( SR:8606185046 CR:JAGad54248 )
The defect was due to coalescing when the allocation is
switched from sbrk to mmap at 4th quadrant. The coalescing
was resulting to allocating the blocks of memory near the
stack, which leads to data corruption.
Resolution:
Resolution is to avoid coalescing near the quadrant 4
boundary.
PHCO_23772:
( SR:8606185984 CR:JAGad55189 )
When a C application uses C++ plugins and calls pthread/cma
calls in static constructor/destroctor, it was leading to
destructor being called twice. This was happening because
the C++ runtime initialization routine was invoked at a
point when the pthread library initialization would not have
been complete . During this time, constructor was invoking
pthread calls . This might have lead to destruction of the
shared data (static/global) in the libCsup.
Resolution:
Changes are made to libc so that C++ runtime initialization
routine is invoked only after the completion of pthread
library initialization.
PHCO_23093:
( SR:8606162328 CR:JAGad31644 )
Reading a single wide character with %lc or %lC
format string by fwscanf is not supposed to add a
terminating null character. This is specifically
mentioned in the man page. But fwscanf code with
%lc format string was adding a terminating null
character to the second location of the argument.
Resolution:
Code was changed to consider the "c" case for not
adding the terminating null character at the second
location of the argument to fwscanf.
( SR:8606162140 CR:JAGad31456 )
regcomp(3C) fails to detect an extended regular
expression match in the input data on HP-UX 11.00
using libc patch PHCO_20765 (or PHCO_22076) but
works on HP-UX 10.20 w/ PHCO_20441
Resolution:
Defect is fixed by adding an "alternate" flag
which is set when there is an alternate('|') option
in the regular expression.
( SR:8606170481 CR:JAGad39745 )
sigwait() does not work as cancellation point if the
thread is cancelled after it enters __sigwait_sys().
When cancelling a thread that is blocked on sigwait()
by means of pthread_cancel(), the blocked sigwait()
returns with EINTR rather than checking the cancellation
point before it returns and terminate the thread.
Resolution:
When the thread is cancelled, then __sigwait_sys returns
error EINTR and does not set errno. In sigwait we were
checking for errno and setting the cancellation point.
Now that has been modified to check for return value.
( SR:8606172179 CR:JAGad41440 )
User cannot use C++ runtime library on 32 bit application
without either using a C++ main program or explicitly
invoke the C++ runtime library's initialization
routine, _main, from the C ( or Fortran ) main program.
Resolution:
The definition of the __main_ptr variable is done in
libc_init routine. The same varible is defined as a
global variable in libcsup, which will point to the C++
runtime library initialization routine, _main. Thus,
when libcsup is linked into the program, the variable
_main_ptr will point to _main; otherwise, it will
contain 0.
Now, we have the following three scenerios when the
program is linked with libcsup.
1. Multithreaded Application linked with libc :
In this case, C++ runtime initialization routine
_main (of libcsup) is invoked through __main_ptr in
libc_init.c routine.
2. Single Threaded Application linked with libc :
In this case, C++ runtime initialization routine
_main (of libcsup) is invoked through __main_ptr in
libc _start.c routine.
3. Multithreaded Application linked with libcma :
In this case, C++ runtime initialization routine
_main (of libcsup) is invoked through __main_ptr
in libc_init routine and control won't come to
libc's _start.c routine as libcma's startup routine
is called.
( SR:8606175166 CR:JAGad44410 )
gettimeofday is very slow for certain vendors who
use it for time stamping because it calls a heavy
weight system call to get the current time of the
day.
Resolution:
A new API hrtime_t gethrtime(void) has been added
to libc. This API uses fast light weight system
call to get the nano seconds from certain time.
It does not give you the current time of day.
hrtime_t is a signed 64 bit number. This API will
only be available if the application is being
compiled in -Ae mode because 64 bit integer number
is not available in -Aa mode.
( SR:8606164457 CR:JAGad33756 )
Global symbols in libc can conflict with one in program
causing SIGBUS. In ptsname.c we have defined two global
symbols alpha and range_spec. They are symbols which are
used only by libc. They should not be visible to customers.
They can conflict with the user defined global symbols.
Resolution:
alpha is changed to __alpha and range_spec is modifed as
__range_spec, so that they follow libc conventions.
( SR:8606102984 CR:JAGab69119 )
On HP-UX if a nonthreaded application links to a
thread-safed library the link will fail due to
unresolved symbols.To resolve these symbols, it is
necessary to link the nonthreaded application to the
threads library libpthread.But linking to that library
makes the application threaded even if it creates
no threads. Providing POSIX 1c thread "stubs" in HP-UX
C language library have two direct effects for
nonthreaded applications. a) POSIX 1c threads symbols
are resolved if a nonthreaded application links to a
thread-safed library
b)We avoid the overhead of a real threads library --
especially the overhead associated with mutexes when the
nonthreaded application uses thread stubs
rather than real threads library procedures.
Resolution:
Stubs are provided for all pthread calls only in SHARED
LIBC FLAVORS of the HP-UX C Library.
These stubs do not have any functionality, these are
dummy functions returning zero except pthread_getspecific()
family of APIs which has full functionality implemented
in the stubs. Full functionality is provided in the stub
for the following pthread calls
* pthread_key_create()
* pthread_getspecific()
* pthread_setspecific()
* ptherad_key_delete()
* pthread_exit()
Stub call to pthread_self() returns 1
Stub call to pthread_equal(arg1, arg2) will return
(arg1 == arg2)
Stub call to pthread_create() and pthread_attr_init()
returns ENOSYS.
All other stub calls returns zero.
There are two special interfaces provided for checking
whether an application is linked to pthread library or not.
a) __is_threadlib_linked()
returns 1 for an applications linked to pthread
library otherwise returns zero.
b) __get_ismt()
returns 1 for applications linked with libcma
returns 2 for applications linked with libpthread
otherwise returns 0
Risks:
------
An application may inadvertantly pick up the stubs when it
intended to use the real pthreads APIs, or it may pick up
the stubs when it needs cma APIs or stubs. These are all
link order problems. An application that needs cma behavior
must link to libcma (or the cma stubs library) and must do
so in a supported link order,
i.e. the link line should be shared only and should
not contain "-lc" before -lcma.
So long as this condition is met, the correct cma functions
will be referenced. Similarly, a multithreaded application
that needs pthread threads library behavior must link to
libpthread and must do so in a supported link order, and
only use shared libc and libpthread.
eg : An applications wants to use pthread stubs then
the link order should be
$ cc test.c -lc -lpthread
An applications wants to use pthread library then the
link order should be
$ cc test.c -lpthread -lc
Enhancement:
No (superseded patches contained enhancements)
PHCO_27740:
This product update contains a minor enhancement
required to enable the HP-UX Device IDs feature.
Additional enhancements were delivered in a patch
this one has superseded. Please review the Defect
Description text for more information.
SR:
8606102984 8606162140 8606162328 8606164457 8606165366
8606170481 8606172179 8606172344 8606175166 8606177629
8606179946 8606183079 8606185046 8606185984 8606186527
8606188513 8606194571 8606196622 8606199060 8606201456
8606202970 8606203226 8606204553 8606204965 8606205180
8606206070 8606211883 8606212783 8606213123 8606214105
8606215963 8606225355 8606225736 8606225942 8606228311
8606231691 8606233401 8606239637 8606239772 8606245321
8606251497 8606254777 8606257150 8606258699 8606260114
8606261751 8606262841 8606264319 8606265515 8606271895
8606282083 8606288623 8606293042 8606300530
Patch Files:
OS-Core.C-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/libc.a
/usr/lib/libcres.a
/usr/lib/unix95.o
/usr/lib/unix98.o
OS-Core.C-MIN-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/pa20_64/libc.a
/usr/lib/pa20_64/libcres.a
/usr/lib/pa20_64/unix95.o
/usr/lib/pa20_64/unix98.o
OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/pa20_64/libc.2
OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/libc.2
/usr/lib/pa11_32/libc.2
/usr/lib/pa20_32/libc.2
ProgSupport.PROG-AUX,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/libp/libc.a
ProgSupport.PROG-AX-64ALIB,fr=B.11.11,
fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/pa20_64/libp/libc.a
ProgSupport.PROG-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/libpicc.a
OS-Core.SYS-ADMIN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
/usr/newconfig/etc/default/nlspath
OS-Core.SYS-ADMIN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/newconfig/etc/default/nlspath
what(1) Output:
OS-Core.C-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/libc.a:
$ PATCH_11.11/PHCO_28427 Apr 17 2003 23:02:55 $
/usr/lib/libcres.a:
$ PATCH_11.11/PHCO_28427 Apr 17 2003 23:38:21 $
/usr/lib/unix95.o:
None
/usr/lib/unix98.o:
None
OS-Core.C-MIN-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/pa20_64/libc.a:
$ PATCH_11.11/PHCO_28427 Apr 17 2003 23:15:35 $
/usr/lib/pa20_64/libcres.a:
$ PATCH_11.11/PHCO_28427 Apr 17 2003 23:38:36 $
/usr/lib/pa20_64/unix95.o:
None
/usr/lib/pa20_64/unix98.o:
None
OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/pa20_64/libc.2:
$ PATCH_11.11/PHCO_28427 Apr 17 2003 23:20:39 $
OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/libc.2:
$ PATCH_11.11/PHCO_28427 Apr 17 2003 23:09:04 $
/usr/lib/pa11_32/libc.2:
$ PATCH_11.11/PHCO_28427 Apr 17 2003 23:09:04 $
/usr/lib/pa20_32/libc.2:
$ PATCH_11.11/PHCO_28427 Apr 17 2003 23:25:55 $
ProgSupport.PROG-AUX,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/libp/libc.a:
$ PATCH_11.11/PHCO_28427 Apr 17 2003 23:32:00 $
ProgSupport.PROG-AX-64ALIB,fr=B.11.11,
fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/pa20_64/libp/libc.a:
$ PATCH_11.11/PHCO_28427 Apr 17 2003 23:37:15 $
ProgSupport.PROG-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/lib/libpicc.a:
$ PATCH_11.11/PHCO_28427 Apr 17 2003 23:10:33 $
OS-Core.SYS-ADMIN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
/usr/newconfig/etc/default/nlspath:
None
OS-Core.SYS-ADMIN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/newconfig/etc/default/nlspath:
None
cksum(1) Output:
OS-Core.C-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
3989622093 2536352 /usr/lib/libc.a
3576411703 67556 /usr/lib/libcres.a
1400633197 868 /usr/lib/unix95.o
294124086 868 /usr/lib/unix98.o
OS-Core.C-MIN-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
1327301661 4203580 /usr/lib/pa20_64/libc.a
2768623867 67206 /usr/lib/pa20_64/libcres.a
2151074788 1632 /usr/lib/pa20_64/unix95.o
2763618295 1632 /usr/lib/pa20_64/unix98.o
OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
2083326148 1860512 /usr/lib/pa20_64/libc.2
OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
1122456782 1855488 /usr/lib/libc.2
1122456782 1855488 /usr/lib/pa11_32/libc.2
3417107103 1810432 /usr/lib/pa20_32/libc.2
ProgSupport.PROG-AUX,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
657931939 2802296 /usr/lib/libp/libc.a
ProgSupport.PROG-AX-64ALIB,fr=B.11.11,
fa=HP-UX_B.11.11_32/64,v=HP:
977969956 4544722 /usr/lib/pa20_64/libp/libc.a
ProgSupport.PROG-MIN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
1531681626 2695756 /usr/lib/libpicc.a
OS-Core.SYS-ADMIN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
2396073988 626 /usr/newconfig/etc/default/nlspath
OS-Core.SYS-ADMIN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
2396073988 626 /usr/newconfig/etc/default/nlspath
Patch Conflicts: None
Patch Dependencies:
s700: 11.11: PHCO_24402
s800: 11.11: PHCO_24402
Hardware Dependencies: None
Other Dependencies:
PHCO_28427: 8606293042 (JAGae56792)
The behavior of programs with the following
characteristics may change after this patch is
installed:
* setuid program owned by root
* executed by others
* invokes catopen(3C)
* depends on the NLSPATH environment variable.
The configuration file, "/etc/default/nlspath" is
introduced to provide the solution. The man page
patch, PHCO_28894, has been delivered for this fix.
The man page patch must be installed to get details
about the new configuration file,
"/etc/default/nlspath", and the changed behavior of
catopen(3C). See nlspath(4) and catopen(3C).
Note for CDE: Few of the CDE products,which are
owned by root and depending on environment variable
NLSPATH are changed not to depend on environment
variable. If customer is using CDE products install
following patches for CDE products after
installing the libc patch.
PHSS_26492 - 11.11 CDE Base Periodic Patch
PHSS_26493 - 11.11 CDE Applications Periodic Patch
PHSS_26494 - 11.11 CDE DevKit Periodic Patch
PHSS_26498 - 11.11 XClients Periodic Patch
PHCO_27910: 8606257150 (JAGae21456) The opendir(3C)
performance benefit requires patch PHKL_26239. Both
PHCO_27910 and PHKL_26239 patches are required to
ensure full performance benefit. Installing any of
these 2 patches alone will not cause any adverse
effects to the system.
PHCO_27910: 8606239772 (JAGae08197) The following patches
are required to ensure full performance benefit.
PHKL_26467, PHKL_26239, PHCO_26242, PHCO_27120, PHCO_26331,
PHCO_26332, PHCO_26333 and PHCO_26334. Any of these
patches may be installed independently with no adverse
effects to the system.
PHCO_26870: 8606257150 (JAGae21456) The opendir(3C)
performance benefit requires patch PHKL_26239. Both
PHCO_26870 and PHKL_26239 patches are required to ensure
full performance benefit. Installing any of these 2 patches
alone will not cause any adverse effects to the system.
PHCO_26870: 8606239772 (JAGae08197) The following patches
are required to ensure full performance benefit.
PHKL_26467, PHKL_26239, PHCO_26242, PHCO_27120, PHCO_26331,
PHCO_26332, PHCO_26333 and PHCO_26334. Any of these patches
may be installed independently with no adverse effects to
the system.
Supersedes:
PHCO_27910 PHCO_27740 PHCO_27434 PHCO_26870 PHCO_26124 PHCO_25452
PHCO_24942 PHCO_24400 PHCO_23772 PHCO_23427 PHCO_23093
Equivalent Patches: None
Patch Package Size: 23860 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 PHCO_28427
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHCO_28427.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHCO_28427. 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 PHCO_28427.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHCO_28427.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHCO_28427.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions:
If you use HP Process Resource Manager (PRM)
version 1.08 or 1.08.2, /opt/prm/bin/prm3d may
core dump at startup if this patch is loaded and
PRM is running.
The following message displays:
Assertion failed:!isLocked_,filedaemon.cc, line232
To solve the problem, load PRM C.02.00 or later
from the September 2001 (or later) Application
Release (AR) media. If you do not experience the
core dump at startup, you will probably not
encounter problems.
If libc patches are installed without rebooting,
applications currently running which are linked shared
against libc will still continue using the former version of
libc. If this presents a problem to any applications, you
should reboot.
PHCO_23427: JAGab20870
The tzset() behaviour have been changed to take default TZ
values from the file/etc/default/tz. A sample file is
released as patch PHCO_24396. The /etc/default/tz included
in the patch contains the earlier default value ie.,
EST5EDT. So unless the user explicitly changes the value
contained in the file the tzset changes are transparent to
the user. The file /etc/default/tz contains the timezone
value set by tzset() when the environment variable TZ is not
set. The format for the file is same as TZ format without
the prefix "TZ=". Please check environ(5) for TZ format.
The order of TZ setting is as follows.
1) if the environment variable TZ is present, it takes the
precedence.
2) if TZ is not present, then the value contained in
/etc/default/tz is used for default.
3) if /etc/default/tz is not set, then the default value is
equivalent to EST5EDT (Eastern Standard Time) of US.
Risks : If the customer already has made some customisations
in /etc/default/tz, installing PHCO_24396 will overwrite
the file.
|