OBSOLETE Patch-ID# 108828-20
Keywords: security libthread malloc libc libnsl libthread_db libthread
Synopsis: Obsoleted by: 108828-21 SunOS 5.8_x86: /usr/lib/libthread.so.1 patch
Date: Mar/06/2002

Solaris Release: 8_x86

SunOS Release: 5.8_x86

Unbundled Product: 

Unbundled Release: 

Xref: This patch available for SPARC as patch 108827

Topic: SunOS 5.8_x86: /usr/lib/libthread.so.1 patch

Relevant Architectures: i386

BugId's fixed with this patch: 1167742 1239168 1257084 4091466 4160415 4193683 4196528 4225913 4236427 4244731 4279077 4283726 4285623 4288299 4291844 4292683 4298024 4299191 4300228 4302592 4303962 4304367 4305389 4305859 4307551 4307676 4309140 4310353 4311948 4312278 4312667 4314913 4320661 4324788 4324815 4325063 4327396 4332046 4332595 4332614 4334488 4335956 4336332 4336933 4341150 4341290 4343787 4354007 4355205 4355206 4356567 4357266 4357778 4366956 4367192 4367496 4368163 4371624 4372508 4374039 4374142 4375449 4376585 4380494 4381908 4384709 4386274 4390345 4390347 4391115 4393363 4393752 4394576 4395379 4396628 4400361 4401864 4402453 4402909 4403938 4404805 4407002 4408502 4411880 4411929 4413203 4413227 4413363 4413411 4419882 4421186 4421485 4422968 4423126 4424606 4424844 4425090 4425392 4428257 4430473 4433015 4433072 4433373 4438470 4441422 4445697 4445802 4449557 4451547 4452064 4452634 4454327 4455654 4455896 4459797 4464111 4468559 4478852 4484035 4484522 4485436 4488249 4490889 4490965 4491094 4493323 4496617 4497853 4506569 4510302 4512099 4515843 4528665 4614041 4617135

Changes incorporated in this version: 4393752 4617135

Patches accumulated and obsoleted by this patch: 108992-18 109323-09 109462-03 109681-01 110590-02 111178-06 111218-02 111642-01 111922-02 112023-01

Patches which conflict with this patch: 

Patches required with this patch: 

Obsoleted by: 

Files included with this patch: 

/etc/default/nss
/usr/include/nl_types.h
/usr/include/pthread.h
/usr/include/rpc/clnt.h
/usr/include/rpc/clnt_stat.h
/usr/include/rpc/svc.h
/usr/include/rpc/trace.h
/usr/include/synch.h
/usr/include/thread_db.h
/usr/lib/abi/abi_libc.so.1
/usr/lib/abi/abi_libnsl.so.1
/usr/lib/abi/abi_watchmalloc.so.1
/usr/lib/libc.a
/usr/lib/libc.so.1
/usr/lib/libdoor.so.1
/usr/lib/libnsl.a
/usr/lib/libnsl.so
/usr/lib/libnsl.so.1
/usr/lib/libp/libc.a
/usr/lib/libpthread.so.1
/usr/lib/libthread.so.1
/usr/lib/libthread_db.so.0
/usr/lib/libthread_db.so.1
/usr/lib/llib-lc
/usr/lib/llib-lc.ln
/usr/lib/llib-ldoor.ln
/usr/lib/llib-lnsl.ln
/usr/lib/llib-lpthread.ln
/usr/lib/llib-lthread.ln
/usr/lib/lwp/libthread.so.1
/usr/lib/lwp/libthread_db.so.1
/usr/lib/lwp/llib-lthread.ln
/usr/lib/lwp/llib-lthread_db.ln
/usr/lib/nss_nisplus.so.1
/usr/lib/pics/libc_pic.a
/usr/lib/watchmalloc.so.1
/usr/xpg4/lib/abi/abi_libpthread.so.1
/usr/xpg4/lib/abi/abi_libthread.so.1
/usr/xpg4/lib/libpthread.so
/usr/xpg4/lib/libpthread.so.1
/usr/xpg4/lib/libthread.so
/usr/xpg4/lib/libthread.so.1
/usr/xpg4/lib/llib-lpthread.ln
/usr/xpg4/lib/llib-lthread.ln

Problem Description:

4617135 Status error with ROBUST shm mutexes used with an shm condition-variable
4393752 cond_* calls might cause data corruption when used with ROBUST mutexes
 
(from 108828-19)
 
4496617 getgrent_r is not consistent between 5.7 and 5.8
4614041 UNIX98: execvp does not use standards-conforming shell
 
(from 108828-18)
 
4394576 nisgrpadm intermittently fails to update NIS+ group
4484522 Call from HotSpot JavaVM to libthread "T1" thr_suspend hangs calling thread
 
(from 108828-17)
 
4430473 rpc.nisd: svc_getreqset: No transport handle for fd 291
4484035 vxvm - vxlicense and other commands hang when locale is set.
4506569 catgets() function call doesn't return, hang in extract_format()
 
(from 108828-16)
 
4510302 UNIX98: *vsu* getpriority returned EINVAL when ESRCH was expected
4528665 Deadlock between clnt_create_timed and fork1
 
(from 108828-15)
 
4411880 NIS+ cannot handle file descriptors > 1024
4411929 Inter-record timeout for non-blocking COTS RPC results in early disconnects
4512099 The directory server hangs and returns to normal after applying pstack
4493323 thr_getconcurrency() behaves differently for alt. and default libthread
4491094 thread-specific data memory leak in child of fork1()
4490965 pthread_rwlock_rdlock(): allow multiple read locks with writers waiting
4490889 LIBTHREAD_ERROR_DETECTION race malfunction for USYNC_PROCESS mutexes
4488249 lwp_suspend() livelocks with spin_lock_loop() or continue_fork()
 
(from 108828-14)
 
	This patch revision was also generated to accumulate and obsolete
	the feature changes introduced in feature point patch 111922-02,
	and to include these additional fixes:
 
4497853 THR_BOUND THR_DETACHED thread can run and exit before thrp_create has finished.
4515843 fix for bugid 4307676 causes recursion between libthread and ld.so.1
 
(from 108828-13)
 
4393752 cond_* calls might cause data corruption when used with ROBUST mutexes
 
(from 108828-12)
 
4433015 libthread & ld.so.1 should not use crt*.o modules provided by compilers
 
(from 108828-11)
 
4368163 ypserv starts hundreds of ypserv processes all in defunct-status
4300228 threaded process grows tired of receiving signals
 
(from 108828-10)
 
4376585 libthread is abysmal when many threads are awakened from a cond_wait_cancel
 
(from 108828-09)
 
4279077 mutex_unlock is not atomic when thread is signalled
 
(from 108828-08)
 
4335956 msgrcv hangs in multi processor environment due to signal loss.
 
(from 108828-07)
 
4381908 libthread hangs when both SIGPROF and SIGEMT are arriving
4367192 libthread leaves underlying lwp signal mask with SIGEMT (and SIGPROF) blocked
 
(from 108828-06)
 
4236427 Sybase Replication Server crashes on Multi-CPU Ultra Platforms
 
(from 108828-05)
 
4336933 Fix for overflow problem in bug 4145630 is incomplete
 
(from 108828-04)
 
4311948 non-static recursive mutexes do not get unlocked
 
(from 108828-03)
 
4091466 RFE (request for enhancement) to force core dump instead of libthread hang
 
(from 108828-02)
 
4307551 td_sync_get_info() returns incorrect ownership information.
 
(from 108828-01)
 
4288299 Recursive mutexes are not properly released
 
(from 108992-18)
 
4419882 large select(3c) timeout
 
(from 108992-17)
 
4312667 getpriority fails with ESRCH when used on SHR class process.
 
(from 108992-16)
 
4408502 lfmt(3C) calls ctime() which is MT_Unsafe.
4425090 strange files in /var/adm when using utmp library (utmpname())
 
(from 108992-15)
 
4428257 Kernel patch 106541-15 makes application dysfunctional
4459797 catgets sets errno to EBADF for the special message catalog for C locale
 
(from 108992-14)
 
4396628 UNIX98: catopen() does not set errno when it receives a null or empty string
4386274 check_nlspath_env should avoid using strncmp()
4452064 errno handling of catgets is not correct
 
(from 108992-13)
 
	This patch revision was generated to accumulate and obsolete 
       	the feature changes introduced in feature point patch 111218-02.
 
(from 108992-12)
 
1257084 login times out, due to excessive time in group lookup
4357778 PSARC 2000/038 create /etc/default/nss
 
(from 108992-11)
 
4395379 door_return mishandles arguments after EINTR
 
(from 108992-10)
 
4341290 memory leak in regcomp
 
(from 108992-09)
 
      This patch revision was generated to accumulate and obsolete the 
      feature changes introduced in feature point patch 110590-02
 
(from 108992-08)
 
4374039 libc/realpath can still write past end of buffer
 
(from 108992-07)
 
4302592 TLI library is not fork-safe
 
(from 108992-06)
 
4366956 NLSPATH gettext introduces problems when used printf format specifier
4375449 dtmail crashes when calling catgets with NULL default message
 
(from 108992-05)
 
4303962 multi-threaded fork1/execvp can fail because __environ_lock is held in parent
 
(from 108992-04)
 
4291844 strftime and strptime are MT-Unsafe due to use of tzname[]
 
(from 108992-03)
 
4310353 msgids, semids, shmids and msgsnap
 
(from 108992-02)
 
4312278 tasks, projects, extended accounting project
 
(from 108992-01)
 
4193683 malloc() with very big requested array size works incorrectly
4225913 malloc does not set errno to ENOMEM when not enough memory
4314913 fix for Bug 4042527 leaves part of heap unusable, so frees can not combine.
4292683 /usr/ucb/shutdown core dumps in syslog()
 
(from 110590-02)
 
       Patch reved to sync feature gate with patch gate
 
(from 110590-01)
 
4355205 System V semaphores suffer from false sharing
4355206 System V semaphore timeout mechanism
 
(from 109681-01)
 
4244731 initgroups() doesn't return all groups when RFE 4005653 (full table scans can overload NIS+ servers) is on NIS+ server
 
(from 111218-02)
 
	This patch revision was generated to include an escalated fix.
 
(from 111218-01)
 
4400361 Need to add support for sendfilev() system call
 
(from 109323-09)
 
4455896 rpc.nispasswdd failed: RPC: .... NIS+ fatal error: 15
 
(from 109323-08)
 
4356567 multiple system daemons loop in clnt_dg_call
 
(from 109323-07)
 
4283726 fsck hangs in phase 4 in getpwuid() call
4327396 nis_modify_entry(): deadlock in rpc_fd_lock() with MT nis table modification
4354007 : xdrmem_putbytes and xdrmem_putlong emit a syslog error message when the buffer
 
(from 109323-06)
 
4374142 RPC services using RPC_SVC_MT_AUTO can stop listening
 
(from 109323-05)
 
4357266 Bad line syntax in /etc/hosts causes host table lookup to abort early
 
(from 109323-04)
 
4336332 svc_getreqset (t_accept) returns illegal file descriptor in Solaris 7/8
 
(from 109323-03)
 
4302592 TLI library is not fork-safe
 
(from 109323-02)
 
4320661 getipnodebyname hangs on mutex when requesting IPv6 literal
 
(from 109323-01)
 
4305859 libnsl security bug.
 
(from 111178-06)
 
4413227 cond_* calls might cause data corruption when used with ROBUST mutexes
 
(from 111178-05)
 
	This patch revision was generated to accumulate and obsolete the 
        feature changes introduced in feature point patch 111642-01.
 
(from 111178-04)
 
4433015 libthread & ld.so.1 should not use crt*.o modules provided by compilers
 
(from 111178-03)
 
4441422 FP control state lost on thread_create with alt_libthread
 
(from 111178-02)
 
4421186 prex aborts when using /usr/lib/lwp/libthread.so on Solaris 8
 
(from 111178-01)
 
4393363 lwp/libthread_db doesn't work with corefiles
 
(from 109462-03)
 
4407002 UNIX98: *pthread* wrapper needed in /usr/xpg4/lib
4390345 UNIX98: SCHED_FIFO and SCHED_RR threads fail to enter the real time class
4371624 UNIX98: aio_fsync signal arrives before aio_read signal
 
(from 109462-02)
 
4336933 Fix for overflow problem in bug 4145630 is incomplete
 
(from 109462-01)
 
4305389 SIGPROF/SIGEMT erroneously masked for some threads/LWPs
 
(from 111642-01)
 
4423126 pthread_getspecific()/thr_getspecific() can be made up to 4x faster
 
(from 111922-02)
 
	This patch revision was generated to accumulate and obsolete the
	feature changes introduced in feature point patch 112023-01.
 
(from 111922-01)
 
1167742 MUTEX_HELD and similar macros don't do a very good test
1239168 Introduce pthread_cond_timedwait_np() which takes a relative timeout arg
4160415 door_return has evil knowledge of libthread internals
4196528 thr_stksegment() returns incorrect stack information
4285623 libthread siglongjmp should not restore SPARC application globals
4298024 32-bit popen(3S) does not set errno when fd > 255
4299191 alternate libthread needs improvement
4304367 performance problem in SIGPROF handling with alternate libthread
4307676 libthreads (alt and default) need consistent handshake with ld.so.1
4309140 libthread should lazyload librt
4324815 need interface to provide information about recursive mutexes etc
4325063 alternate libthread lock statistics must be aware of the dynamic linker
4332046 alternate libthread: thr_create() is not fork1-safe on x86
4332595 system(3S) and popen(3S) should be made thread-safe
4332614 definitions of DEFAULTRWLOCK and SHAREDRWLOCK are incorrect
4334488 libthread should set and clear the PTHREAD_PRIO_INHERIT mutex lock byte
4341150 private memory allocator inconsistency causes SEGVs
4343787 need an infrastructure to enable OS-NET libraries to become fork1-safe
4367496 restore _sigon/_sigoff until alternative is phased in
4372508 Incorrect field being used for T_TEMPBOUND in libthread/common/disp.c
4380494 nanosleep() isn't acting as a cancellation point for deferred cancellation
4384709 error in <pthread.h>
4390347 UNIX98: pthread_detach() should not be a cancellation point
4391115 alt libthread library clobbers preemption control state
4393752 cond_* calls might cause data corruption when used with ROBUST mutexes
4401864 PTHREAD_MUTEX_ERRORCHECK should work across process boundaries
4402453 thr_create segfaults in child of fork1
4402909 libthread missing mutex_held(), rw_read_held(), rw_write_held(), and sema_held()
4403938 doors cancellation doesn't work with alternate libthread
4404805 /usr/lib/sparcv9/libthread.so.1 doesn't inline curthread()
4413203 lock primitive data types need to be cleaned up and made consistent
4413363 __free_selector() called with wrong argument if sysi86(SI86DSCR) fails
4413411 implement user-level sleep queues in the alternate libthread
4421485 add setcontext() to the libc/libthread jump table
4422968 Need to set the fp of door server to 0 on Intel
4424606 race between sigprocmask and sigacthandler causes assertion failure
4424844 dueling libthreads result in mutual annihilation
4425392 alternate libthread should provide _libthread_sema_wait() function
4433072 alternate libthread_db: td_thr_get_info() returns empty ti_sigmask
4433373 alt. libthread should optimize the case of mutex_unlock() with no waiters
4438470 T2: primordial threads need to have tid and lid of 1
4445697 T2:calling _thr_main() in the middle of init will seg fault
4445802 thr_slot_get()/thr_slot_set() should be ripped out
4449557 improve the speed of uncontended mutex_lock()/mutex_unlock()
4451547 thr_setmutator() returns spurious EINVAL when marking thread as a non-mutator
4452634 old libthread.so.1 fails to build on 32-bit sparc kernel
4454327 libthread should have an option to defer signals within cond_wait()
4455654 there are many problems with thread suspend/continue
4464111 thread cancelled in pthread_cond_wait() consumes condition signal
4468559 Restore tag names of the lock structs for threaded programs in system headers
4478852 libthread assertion failure in sigaction.c with sigsuspend()
 
(from 112023-01)
 
4485436 Require support of oneway asynchronous model to RPC library

Patch Installation Instructions:
--------------------------------
 
For Solaris 2.0-2.6 releases, refer to the Install.info file and/or
the README within the patch for instructions on using the generic
'installpatch' and 'backoutpatch' scripts provided with each patch.
 
For Solaris 7-8 releases, refer to the man pages for instructions
on using 'patchadd' and 'patchrm' scripts provided with Solaris.
Any other special or non-generic installation instructions should be
described below as special instructions.  The following example
installs a patch to a standalone machine:
 
       example# patchadd /var/spool/patch/104945-02
 
The following example removes a patch from a standalone system:
 
       example# patchrm 104945-02
 
For additional examples please see the appropriate man pages.

Special Install Instructions:
----------------------------- 
 
Reboot the system after patch installation.
 
        NOTE 1: To get the complete support for Tasks, Projects and
                Accounting, one needs to install the following patches:
 
                108529-01 (or newer)    kernel update patch
                108994-01 (or newer)    nss and ldap patch
                108990-01 (or newer)    /usr/kernel/sys/acctctl and 
                                        /usr/kernel/sys/exacctsys patch
                108996-01 (or newer)    /usr/lib/libproc.so.1 patch
                109026-01 (or newer)    /usr/bin/i86/truss patch
                109004-01 (or newer)    /etc/init.d/acctadm and 
                                        /usr/sbin/acctadm patch
                109010-01 (or newer)    /etc/magic and /usr/bin/file patch
                109020-01 (or newer)    /usr/bin/priocntl patch
                109028-01 (or newer)    /usr/bin/wracct patch
                108998-01 (or newer)    libexacct and libproject patch
                109008-01 (or newer)    at/atrm/batch/cron patch
                109012-01 (or newer)    /usr/bin/id and /usr/xpg4/bin/id patch
                109014-01 (or newer)    /usr/bin/lastcomm patch
                109016-01 (or newer)    /usr/bin/newtask patch
                109000-01 (or newer)    PAM patch
                109022-01 (or newer)    /usr/bin/projects patch
                109024-01 (or newer)    /usr/bin/i86/ps patch
                109006-01 (or newer)    /sbin/su.static and /usr/bin/su patch
                109036-01 (or newer)    useradd/userdel/usermod patch
                109030-01 (or newer)    perl patch
                109018-01 (or newer)    /usr/bin/pgrep and /usr/bin/pkill patch
                109034-01 (or newer)    /usr/bin/i86/prstat patch
                109038-01 (or newer)    /var/yp/Makefile and 
                                        /var/yp/nicknames patch
                109032-01 (or newer)    projadd/projdel/projmod patch
 
        NOTE 2: To get the complete fix for 4310353 (msgids, semids,
                shmids and msgsnap -- provide all of the System 5 message 
                queue identifiers in the system), one needs to install
                the following patches:
 
                109237-01 (or newer)    msgsys, semsys and shmsys patch
                109239-01 (or newer)    /usr/bin/i86/ipcs patch
 
        NOTE 3: To get the complete fix for
 
                4355205 System V semaphores suffer from false sharing
                4355206 System V semaphore timeout mechanism
 
                one needs to install the following patches:
 
                108529-07 (or newer)    kernel update patch
                109026-02 (or newer)    /usr/bin/i86/truss patch
 
        NOTE 4: To get the complete NCAfs, NCA Proxy and sendfilev()
                feature, please install the following patches:
 
                108529-09 (or newer)    kernel update patch
                109473-06 (or newer)    /kernel/drv/tcp patch
                109235-04 (or newer)    NCA patch
                108996-02 (or newer)    /usr/lib/libproc.so.1 patch
                111296-01 (or newer)    /usr/bin/i86/pstack patch
                109026-04 (or newer)    /usr/bin/i86/truss patch
                111298-01 (or newer)    /usr/lib/libsendfile.so.1 patch
 
        NOTE 5: To get the complete T2 Modifications to alternate Libthread
                in Solaris 8 feature, please install the following patches:
 
                109026-05 (or newer) truss patch
                108996-03 (or newer) libproc patch
                109046-03 (or newer) crash patch
                108529-12 (or newer) KU patch
 
        NOTE 6: To get the complete Sun RPC Library feature, please install 
                the following patches:
 
                112166-01 (or newer) rpcgen patch
 
	NOTE 7: To get the complete fix of:
 
		4411880 NIS+ cannot handle file descriptors > 1024
		4411929 Inter-record timeout for non-blocking COTS RPC results
 			in early disconnects
 
		one also needs to install the usr/sbin/rpc.nisd patch, 
		110512-03 (or newer).
 
	NOTE 8: To get the complete fix for 4394576, please install the
                following patches:
 
                 108828-18 (or newer) /usr/lib/libthread.so.1 patch
                 110512-04 (or newer) rpc.nisd patch  (includes bugid 4471041)
 
        NOTE 9: When responding to the question: 
 
                Do you wish to continue this installation {yes or no} [yes]? 
		(by default, installation will continue in 60 seconds)
 
                A 'kill <pid>' is shown when the default behavior is
                specified (e.g. yes).  This is harmless.
 
        NOTE 10: The fix for 4614041 involves a dependency on 
                 /usr/xpg4/bin/sh which is delivered in the optional
                 package SUNWxcu4. To ensure that libc functions 
                 correctly, this package is automatically installed on
                 the user's system if it does not exist. The stream
                 formatted base FCS SUNWxcu4 package included with this
                 patch is  "SUNWxcu4.stream.pkg".
 
-------------------------------------------------------------------------------
 VERITAS Volume Manager (VxVM) commands may break after installing patch
 108827-15 or above.
 - After installation of 108827-15 or above, a subset of VxVM commands
   may produce error messages which contain the text "referenced symbol
   not found".
 
   For example:
   # vxlicense -c
   ld.so.1: vxlicense: fatal: relocation error: file /etc/vx/slib/libnsl.so.1:
   symbol _libc_register_forkhandler: referenced symbol not found
   Killed
 
   The workaround is to add "usr/lib" to environment variable LD_LIBRARY_PATH
   before running the VERITAS commands.  The full workaround is documented
   in SunAlert document 42797.  VERITAS has committed to fix this problem
   in the next VxVM 3.1.1 and 3.2 patch releases.
 
-------------------------------------------------------------------------------

README -- Last modified date:  Wednesday, March 20, 2002

