Australia - Updated: 24-SEP-2003
hp.com home products and services support and drivers solutions how to buy
» contact hp
hp.com home hp OpenVMS ECOs

IMPORTANT NOTICE

The online distribution of OpenVMS and related product patches is being migrated to the HP ITRC (Information Technology Resource Center) patch distribution site. The new ITRC patch server will allow OpenVMS customers to take advantage of many enhanced features for patch searching and distribution.

Beginning August 1, 2003, OpenVMS and related Layered Product, publicly available patches will be available from the HP ITRC web site at

http://itrc.hp.com/service/patch/mainPage.do

The same patches will still be available from the existing patch server in Colorado Springs (http://www.support.compaq.com/patches/) through the end of October 2003, to give customers sufficient time to update their bookmarks and make the transition to the HP ITRC web site.

ECO kits will also be available by raw FTP from (ftp://ftp.itrc.hp.com/).

PLEASE UPDATE YOUR BOOKMARKS AND REGISTER ON THE NEW SITE NOW

Note: if you're having trouble connecting to the ITRC site, please delete any cookies for "itrc.hp.com" from your browser and try again. Report any difficulties with or suggestions to MrVMS

» Sydney CSC home page

Navigation
» ECOinfo main index
» Search ECOs
» Search FTP site
» Browse FTP site

ECO Indexes
» Chronological Index
» Indexed by Version
» Indexed by Rating
» Alpha Indexed by Name
» VAX Indexed by Name
» On Hold List

Associated Links
» OpenVMS Home Page
» OpenVMS News
» DIA/WIS Web Service

Feedback
» mail to CSC
.
Sydney Customer Support Centre OpenVMS ECO information
    Updated: 24-SEP-2003 (Use your browsers' Reload button to ensure you're viewing the most recent version)

VMS73_PTHREAD-V0300 (Alpha V7.3) PTHREAD ECO Summary

To obtain this kit please call the Customer Support Centre or use the FTP site

Search for this ECO kit and dependencies
Search the Compaq FTP web site this kit (exact match)
Search the Compaq FTP web site this or related ECOs

    
    
    *OpenVMS] VMS73_PTHREAD-V0300 (Alpha V7.3) PTHREAD ECO Summary
    
    New Kit Date:       12-AUG-2002
    Modification Date:  Not Applicable
    Modification Type:  NEW KIT
    
    Copyright (c) Compaq Computer Corporation 2001, 2002.  All rights reserved.
    
    PRODUCT:    OpenVMS Alpha
    
    COMPONENT:  PTHREADs
    
    SOURCE:     Compaq Computer Corporation
    
    ECO INFORMATION:
    
         ECO Kit Name:  VMS73_PTHREAD-V0300
                        DEC-AXPVMS-VMS73_PTHREAD-V0300--4.PCSI
         ECO Kits Superseded by This ECO Kit:  VMS73_PTHREAD-V0200
         ECO Kit Approximate Size:  7280 Blocks
         Kit Applies To:  OpenVMS Alpha V7.3
         System/Cluster Reboot Necessary:  No
         Rolling Re-boot Supported:  N/A
         Installation Rating:  INSTALL_3
                               3 - To be installed on all systems running
                                   the listed versions of OpenVMS which
                                   are experiencing the problems described.
    
         Kit Dependencies:
    
           The following remedial kit(s), or later, must be installed BEFORE
           installation of this, or any required  kit:
    
             VMS73_UPDATE-V0100
    
           In order to receive all the corrections listed in this
           kit, the following remedial kits should also be installed:
    
             None
    
    
    ECO KIT SUMMARY:
    
    An ECO kit exists for PTHREADS on OpenVMS Alpha V7.3.  This kit addresses
    the following problems:
    
    PROBLEMS ADDRESSED IN VMS73_PTHREAD-V0300 KIT
    
         o  On multi-processor  systems,  the  EXEC  uses  the  Inner-Mode
            Semaphore   (IMS)   to  serialize  execution  of  many  system
            services.  Upcalls are used to allow the  threads  library  to
            execute  one  thread  while another is blocked waiting for the
            IMS.  The services which the threads library  uses  to  switch
            threads  are  themselves  users  of  the  IMS.   Under certain
            conditions, the result is recursion of IMS-free  upcalls.   If
            the recursion persists long enough, a stack overflow can occur
            in a null thread which terminates the process.  This can  only
            happen  on  a  multiprocessor  system  when use of upcalls and
            multiple kernel threads are enabled.
    
              Images Affected:[SYSLIB]PTHREAD$DBGSHR.EXE
                              [SYSLIB]PTHREAD$RTL.EXE
    
    
         o  The   threads    library    uses    $SETIMR    to    implement
            pthread_cond_timedwait  and  pthread_delay_np operations.  The
            library starts a timer for a given wake-up time,  and  expects
            to be awoken at that timer (or perhaps later, if the system is
            busy).  At one customer site, we observed  that  occasionally,
            the  wake-up  appeared  to arrive too early (at a system clock
            time which was less than the requested wake-up  time).   Under
            certain  conditions these early wake-ups caused the process to
            hang.  The cause of the early wake-ups is thought to be use of
            NTP  which  was configured to allow backward time jumps (which
            is not recommended).  If such a backward jump  occurs  between
            when  the timer's target time is reached, and when the library
            runs and reads the system clock, the effective  result  is  an
            early wake-up.
    
            The  library  has  been  enhanced  to  defend  against   early
            wake-ups,  by  requesting  a new timer for the original target
            time.
    
              Images Affected:[SYSLIB]PTHREAD$DBGSHR.EXE
                              [SYSLIB]PTHREAD$RTL.EXE
    
    
         o  The public C  language  header  file  PTHREAD_EXCEPTION.H  was
            using  the  symbol NULL, without ensuring that this symbol was
            defined.  If a user program is compiled with this  header,  in
            an  environment which happens to not cause NULL to be defined,
            the following compiler diagnostic will appear:
    
              %CC-E-UNDECLARED, In this statement, "NULL" is not
              declared.
    
            The header file has been changed to not use the NULL symbol.
    
              Images Affected:[SYSLIB]SYS$STARLET_C.TLB
    
    
         o  Fix a locking problem which could cause a threads bugcheck  at
            context-switch.   The  threads  library uses internal locks to
            protect shared data.  A thread can context-switch  away  while
            holding  certain  locks.   The  internal  lock  environment is
            generally restored when the thread is  later  context-switched
            back  in.   A  bug caused the incorrect lock environment to be
            restored under certain conditions.  The result is most often a
            threads  bugcheck  "selected  a  non-ready  thread," but other
            types of process crashes could result.
    
            Following is the introductory part of the bugcheck report:
    
              %DECthreads bugcheck (version V3.17-019), terminating
               execution.
              %Reason:  selected a non-ready thread 8 (0x000000001E945740)
                        state running
              %Running on OpenVMS V7.3 on AlphaServer 8400 5/625,
               2048Mb; 10 CPUs
              % The bugcheck occurred at 29-MAY-2001 22:45:06.03, running
              % image DSA0:[DB22X.]<EXEC>SERVER.EXE;1 in process 202014EC
              % (named "MCR Srv"), under username "SYSTEM". AST delivery
              % is enabled for all modes; no ASTs active. Upcalls are
              % enabled. Multiple kernel threads are enabled.  The current
              % thread sequence number is 1, at 0x7BC34908
    
              Images Affected:[SYSLIB]PTHREAD$DBGSHR.EXE
                              [SYSLIB]PTHREAD$RTL.EXE
    
         o  Fix a problem seen in Java that caused  process  hangs.   This
            requires  an  application AST to arrive while the Java garbage
            collector is running under certain  conditions.   The  threads
            library  uses  the  default  thread  to  service the AST (when
            upcalls  are  enabled,  which  Java  requires).   If   garbage
            collection  is  happening at the same time, the default thread
            can be left in an incorrect state, causing  a  hang.   To  fix
            this, AST delivery is now deferred while the garbage collector
            is running.
    
              Images Affected:[SYSLIB]PTHREAD$DBGSHR.EXE
                              [SYSLIB]PTHREAD$RTL.EXE
    
    
    PROBLEMS ADDRESSED IN VMS73_PTHREAD-V0200 KIT:
    
      o  The  pthread_cond_timedwait()  and  pthread_delay_np()   timed
         operations  could  wait  too long before timing out.  This can
         happen if the  operating  system's  Time  Differential  Factor
         (TDF)  is  changed,  e.g., due to a Daylight Saving Time (DST)
         adjustment.  Documentation for these timed  operations  states
         that  they  may  in  fact  return late.  However, that was not
         meant to cover a, for example, one hour delay due to a  switch
         of DST.
    
         With this change, system-time alterations due to  general  TDF
         changes  (such  as  a  DST switch) now have no effect on timed
         thread operations.
    
              Images Affected:  [SYSLIB]PTHREAD$DBGSHR.EXE
                                [SYSLIB]PTHREAD$RTL.EXE
    
    
      o  This correction fixes a race  condition  on  a  multiprocessor
         system,  where  thread  scheduling states can become confused.
         This is a rare condition, and only happens  when  upcalls  and
         multiple   kernel   threads   are  in  use.   The  only  known
         manifestation of the  problem so far is an  application  hang.
         One  kernel thread is seen to be in an AST in HIB state, while
         that kernel thread  is  running  a  threads  library  internal
         "null" thread.  Because an AST is active, no more ASTs will be
         delivered.   If  further  application  progress   depends   on
         servicing subsequent ASTs, the application is hung.
    
              Images Affected:  [SYSLIB]PTHREAD$DBGSHR.EXE
                                [SYSLIB]PTHREAD$RTL.EXE
    
      o  A process can crash  (probably  in  PTHREAD$RTL,  possibly  in
         user-mode).   This problem requires the use of multiple kernel
         threads (and thus upcalls) on a multiprocessor system, and AST
         delivery.   Upon completion of an application AST, the threads
         library can mistakenly try to run the default  thread  on  two
         CPUs  concurrently.   If  this  occurs,  the  application will
         probably ACCVIO quickly.
    
              Images Affected: [SYSLIB]PTHREAD$DBGSHR.EXE
                               [SYSLIB]PTHREAD$RTL.EXE
    
    
    RELATED ARTICLES:
    
    Detailed articles describing the problems listed above may exist in the
    OPENVMS database.  To view these articles, open the appropriate product
    database and perform a query using either of the following search
    strings: 'VMS73_PTHREAD-V0300', 'VMS73_PTHREAD' or 'PTHREAD'.
    
    
    ECO KIT ORDERING INSTRUCTIONS:
    
    If after an evaluation you wish to obtain this kit, request it
    electronically using the appropriate Advanced Electronic Services
    (AES) Service Tool.  If you are not familiar with how to request
    kits electronically, open the DIA, WIS or DSNLINK database and
    review the article entitled:
    
         [AES] How To Electronically Request ECO Kits Using Service Tools
    
    
    INSTALLATION NOTES:
    
    No reboot is necessary after successful installation of the kit.
    
    INSTALLATION INSTRUCTIONS:
    
    Install this kit with the POLYCENTER Software installation  utility
    by logging into the SYSTEM account, and typing the following at the
    DCL prompt:
    
    PRODUCT INSTALL VMS73_PTHREAD /SOURCE=[location of Kit]
    
    The kit location may be a tape drive, CD, or a disk directory that
    contains the kit.
    
    Additional help on installing PCSI kits can be found by typing
    HELP PRODUCT INSTALL at the system prompt
    
    SPECIAL INSTALLATION INSTRUCTIONS:
    
      o  Scripting of Answers to Installation Questions
    
         During installation,  this  kit  will  ask  and  require  user
         response  to  several  questions.  If you wish to automate the
         installation of this kit and avoid having to provide responses
         to  these  questions,  you must create a DCL command procedure
         that includes the following definitions and commands:
    
           -  $ DEFINE/SYS NO_ASK$BACKUP TRUE
    
           -  Add  the  following  qualifiers  to  the  PRODUCT  INSTALL
              command and add that command to the DCL procedure.
    
                 /PROD=DEC/BASE=AXPVMS/VER=V3.0
    
           -  De-assign the logicals assigned
    
         For  example,  a  sample   command   file   to   install   the
         VMS73_PTHREAD-0200 kit would be:
    
              $
              $ DEFINE/SYS NO_ASK$BACKUP TRUE
              $!
              $ PROD INSTALL VMS73_PTHREAD/PROD=DEC/BASE=AXPVMS/VER=V1.0
              $!
              $ DEASSIGN/SYS NO_ASK$BACKUP
              $!
              $ exit
    
    
    All trademarks are the property of their respective owners.
      
      ==========================================================================
      |                     Table of Kit Image Information                     |
      +----------------------------+----------+-----------------+--------------+
      |                            | Overall  | Image File      | Image Link   |
      | Image Name                 | Checksum | Identification  | Date/Time    |
      +----------------------------+----------+-----------------+--------------+
      | PTHREAD$DBGSHR.EXE         | 8B24DFAC | V3.17-034       | 25-JUL-2002  |
      |                                       |                 | 00:18:47.51  |
      +----------------------------+----------+-----------------+--------------+
      | PTHREAD$RTL.EXE            | C6439D03 | V3.17-034       | 25-JUL-2002  |
      |                                       |                 | 00:18:00.51  |
      +----------------------------+----------+-----------------+--------------+
    
    
privacy statement using this site means you accept its terms feedback to the webmaster
VMS rules VMS rocks OpenVMS rules OpenVMS rocks