Jump to content
 English      
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
        More options        
HP.com Home
patch database

patch details: PHCO_19666

» 

IT Resource Center

» Login
» Register
» My profile
» Search knowledge base
» Forums
» Patch database
» Download drivers, software and firmware
» Warranty check
» Support Case Manager
» Software Update Manager
» Training and Education
» More maintenance and support options
» Online help
» Site map
Content starts here
» view selected patch list
The recommended patch is :  PHCO_26960
The most recent patch is :  PHCO_29959

   useful links
» Patch Family Tree

You may provide feedback on this document.
» patch name » patch description » creation date » post date » hardware platforms - os releases » products » filesets » automatic reboot? » status » critical » category tags » path name » symptoms » defect description » sr » patch files » what(1) output » cksum(1) output » patch conflicts » patch dependencies » hardware dependencies » other dependencies » supersedes » equivalent patches » patch package size » installation instructions » special installation instructions


Patch Name: PHCO_19666

Patch Description: s700_800 11.00 libpthreads cumulative patch

Creation Date: 99/08/31

Post Date: 99/10/13

Hardware Platforms - OS Releases: 
	s700: 11.00
	s800: 11.00

Products: N/A

Filesets: 
	OS-Core.C-MIN-32ALIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP
	OS-Core.CORE-SHLIBS,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP
	OS-Core.C-MIN-64ALIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP
	OS-Core.CORE-64SLIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP

Automatic Reboot?: No

Status: General Superseded

Critical: 
	No (superseded patches were critical)
	PHKL_17935: ABORT
		This defect could result in an application core
		dump.
	PHKL_17709: ABORT
		This defect could result in an application hang.

Category Tags: 
	defect_repair enhancement general_release critical
	halts_system

Path Name: /hp-ux_patches/s700_800/11.X/PHCO_19666

Symptoms: 
	PHCO_19666:
	Libc was unable to use thread callbacks, which are needed
	for multithreaded performance enhancements.
	JAGab19980

	PHKL_17935:
	SR: 1653296962  CR: JAGaa94129
	An application that calls pthread_create() can terminate
	with the following error when running on a system with heavy
	memory usage:
	    Pthread internal error:  message: __alloc_stack()

	PHKL_17709:
	When calling pthread_[cond,mutex,rwlock]_init(), subsequent
	use of these objects can cause the process or thread to hang
	if the error is not properly checked, or structures
	associated with these routines are not properly initialized.

	PHKL_17294:
	If you have installed Patch PHKL_17390 and you use java and
	the pthread asynchronous cancellation feature you may
	experience incorrect program behavior -- possible program
	aborts, hangs, etc.

	If you do not use the pthreads asynchronous cancellation
	feature, this patch is not required.

	PHKL_16239:
	SCHED_TIMESHARE thread priorities degrade over time and with
	cpu usage.  SCHED_NOAGE provides a scheduling policy where
	the priority does not degrade.

	In order to utilize the SCHED_NOAGE feature, patch
	PHKL_16236 must be installed along with PHKL_16239.  The
	order of installation is not important.  If this feature
	will not be used, PHKL_16236 is not necessary.

	PHKL_16368:
	System peformance degrades when thread spinlock contention
	occurs.

	libpthread enhancement to improve thread spinlock
	performance and overall system performance by lowering the
	amount of bus traffic during spinlock contention.

Defect Description: 
	PHCO_19666:
	Multithreaded performance enhancement
	JAGab19980

	PHKL_17935:
	SR: 1653296962  CR: JAGaa94129
	The pthread_create() path uses mmap() to allocate a stack.
	pthread_create() checks for a NULL return.  However, mmap()
	returns MAP_FAILED if it cannot perform the allocation.
	Typically what happens is that the subsequent mprotect()
	will fail to setup the guard page, then munmap() fails when
	trying to clean up on the error return path, generating an
	"INTERNAL ERROR" message and a core dump from the library.

	Also, since the mmap() failure check passes even if it fails
	(we're not looking for the correct return value),
	pthread_create() doesn't return an error.  Instead, it
	terminates with "INTERNAL ERROR."

	Resolution:
	pthread_create() now checks for MAP_FAILED and returns the
	error instead of failing with "INTERNAL ERROR.".

	PHKL_17709:
	Structures associated with
	pthread_[cond,mutex,rwlock]_init() are not being initialized
	correctly.  This causes a call to these routines to return
	EBUSY.

	Resolution:
	We no longer check for "cookie" values to validate these
	objects.  We unconditionally initialize them.

	PHKL_17294:
	A kernel interface change required that we save a register
	in a new location when the application enters the kernel via
	the trap path.  The kernel change was made in patch
	PHKL_17390.

	Resolution:  The pthreads library must now look in the new
	location for the register value in this case.

	PHKL_16239:
	The SCHED_NOAGE scheduling policy has approximately the same
	priority range as SCHED_TIMESHARE.  However, the priority
	does not degrade with time or cpu usage.  It provides an
	alternative to real time processes which always run first
	and have the possibility of taking over the system.

	PHKL_16368:
	The thread library spinlock did not take advantage of the
	cached lock value.  In addition, it performed an unnecessary
	fetch each time through the 'spin' loop while waiting for
	the lock to be free.  These conditions caused a large amount
	of unnecessary bus traffic.

SR: 
	1653294868 1653296962 4701398123 5003360446 5003451591

Patch Files: 
	
	OS-Core.C-MIN-32ALIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/lib/libpthread.a
	/usr/lib/libpthread_tr.a

	OS-Core.CORE-SHLIBS,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/lib/libpthread.1
	/usr/lib/libpthread_tr.1

	OS-Core.C-MIN-64ALIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/lib/pa20_64/libpthread.a
	/usr/lib/pa20_64/libpthread_tr.a

	OS-Core.CORE-64SLIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/lib/pa20_64/libpthread.1
	/usr/lib/pa20_64/libpthread_tr.1

what(1) Output: 
	
	OS-Core.C-MIN-32ALIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/lib/libpthread.a:
		libpthread.c $Date: 1999/08/26 11:53:50 $Revision: r
			11ros/6 PATCH_11.00
		(PHCO_19666)
		Pthread Interfaces
		libpthread HP-UX (Release B.11.00): Tue Aug 31 15:32
			:17 PDT 1999
	/usr/lib/libpthread_tr.a:
		libpthread.c $Date: 1999/08/26 11:53:50 $Revision: r
			11ros/6 PATCH_11.00
		(PHCO_19666)
		Pthread Interfaces
		libpthread HP-UX (Release B.11.00): Tue Aug 31 15:37
			:03 PDT 1999

	OS-Core.CORE-SHLIBS,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/lib/libpthread.1:
		libpthread.c $Date: 1999/08/26 11:53:50 $Revision: r
			11ros/6 PATCH_11.00
		(PHCO_19666)
		Pthread Interfaces
		libpthread HP-UX (Release B.11.00): Tue Aug 31 15:35
			:32 PDT 1999
	/usr/lib/libpthread_tr.1:
		libpthread.c $Date: 1999/08/26 11:53:50 $Revision: r
			11ros/6 PATCH_11.00
		(PHCO_19666)
		Pthread Interfaces
		libpthread HP-UX (Release B.11.00): Tue Aug 31 15:37
			:59 PDT 1999

	OS-Core.C-MIN-64ALIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/lib/pa20_64/libpthread.a:
		libpthread.c $Date: 1999/08/26 11:53:50 $Revision: r
			11ros/6 PATCH_11.00
		(PHCO_19666)
		Pthread Interfaces
		libpthread HP-UX (Release B.11.00): Tue Aug 31 15:40
			:42 PDT 1999
	/usr/lib/pa20_64/libpthread_tr.a:
		libpthread.c $Date: 1999/08/26 11:53:50 $Revision: r
			11ros/6 PATCH_11.00
		(PHCO_19666)
		Pthread Interfaces
		libpthread HP-UX (Release B.11.00): Tue Aug 31 15:42
			:00 PDT 1999

	OS-Core.CORE-64SLIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/lib/pa20_64/libpthread.1:
		Pthread Interfaces
		libpthread HP-UX (Release B.11.00): Tue Aug 31 15:41
			:20 PDT 1999
		libpthread.c $Date: 1999/08/26 11:53:50 $Revision: r
			11ros/6 PATCH_11.00
		(PHCO_19666)
	/usr/lib/pa20_64/libpthread_tr.1:
		Pthread Interfaces
		libpthread HP-UX (Release B.11.00): Tue Aug 31 15:42
			:57 PDT 1999
		libpthread.c $Date: 1999/08/26 11:53:50 $Revision: r
			11ros/6 PATCH_11.00
		(PHCO_19666)

cksum(1) Output: 
	
	OS-Core.C-MIN-32ALIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	3506376721 222138 /usr/lib/libpthread.a
	2155296928 252618 /usr/lib/libpthread_tr.a

	OS-Core.CORE-SHLIBS,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	1804357906 139264 /usr/lib/libpthread.1
	2907718909 163840 /usr/lib/libpthread_tr.1

	OS-Core.C-MIN-64ALIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	3443215799 366554 /usr/lib/pa20_64/libpthread.a
	2051608600 421224 /usr/lib/pa20_64/libpthread_tr.a

	OS-Core.CORE-64SLIB,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	3704401038 130872 /usr/lib/pa20_64/libpthread.1
	2306064447 160184 /usr/lib/pa20_64/libpthread_tr.1

Patch Conflicts: None

Patch Dependencies: 
	s700: 11.00: PHKL_17390
	s800: 11.00: PHKL_17390

Hardware Dependencies: None

Other Dependencies: None

Supersedes: 
	PHKL_17709 PHKL_17294 PHKL_16368 PHKL_16239 PHKL_17935

Equivalent Patches: None

Patch Package Size: 1860 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_19666

	5. Run swinstall to install the patch:

		swinstall -x autoreboot=true -x patch_match_target=true \
			  -s /tmp/PHCO_19666.depot

	By default swinstall will archive the original software in 
	/var/adm/sw/save/PHCO_19666.  If you do not wish to retain a
	copy of the original software, use the patch_save_files option:

		swinstall -x autoreboot=true -x patch_match_target=true \
			  -x patch_save_files=false -s /tmp/PHCO_19666.depot

	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_19666.text file is 
	available in the product readme:

		swlist -l product -a readme -d @ /tmp/PHCO_19666.depot

	To put this patch on a magnetic tape and install from the
	tape drive, use the command:

		dd if=/tmp/PHCO_19666.depot of=/dev/rmt/0m bs=2k

Special Installation Instructions: None




» top of page
Printable version
Privacy statement Using this site means you accept its terms
© 2009 Hewlett-Packard Development Company, L.P.