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)

VAXACRT06_070 VAX V7.0 DEC C RTL 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

    
    
    Copyright (c) Digital Equipment Corporation 1996, 1997.  All rights reserved.
    
    PRODUCT:    DIGITAL OpenVMS VAX
    
    COMPONENT:  DEC C RTL - SYS$TZDIR:[SOURCES]EUROPE. (New timezone
                                                        source file)
                            SYS$I18N_LOCALE:IW_IL_ISO8859-8.LOCALE
                                                       (New locale file)
                            CRTL.OBJ (Updates STARLET.OLB)
                            CRTLMSGDEF.OBJ (Updates STARLET.OLB)
                            DECC$SHR.EXE
                            ACRT$ECO_DROP.COM (If desired, this command file
                                               may be used to remove the ECO
                                               and restore the original
                                               files and libraries.)
    
    SOURCE:     Digital Equipment Corporation
    
    ECO INFORMATION:
    
         ECO Kit Name:  VAXACRT06_070
         ECO Kits Superseded by This ECO Kit:  VAXACRT05_070
                                               VAXACRT04_070
                                               VAXACRT03_070
                                               VAXACRT02_070 (Never Released)
                                               VAXACRT01_070
         ECO Kit Approximate Size:  3708 Blocks
         Kit Applies To:  OpenVMS VAX V7.0
         System/Cluster Reboot Necessary:  Yes
    
         Installation Rating:  3 - To be installed on all systems running
                                   the listed versions of OpenVMS which
                                   are experiencing the problems described.
    
         NOTE:  In order to receive the full fixes listed in this kit,
                the following remedial kits also need to be installed:
    
                     None
    
    
    ECO KIT SUMMARY:
    
    An ECO kit exists for the DEC C Run-Time Library on OpenVMS VAX V7.0.
    This kit addresses the following problems:
    
    Problems Addressed in the VAXACRT06_070 Kit:
    
      o  The lseek function may position incorrectly when repeatedly
         called to seek in a file containing fixed length records of
         odd length.
    
      o  The interval timer function, setitimer, fails to reset itself
         when used in a multithreaded application.  The result is a
         single firing of the timer as opposed to repeated firing of
         the timer at fixed intervals.
    
      o  A change made in OpenVMS V7.1 and remedial kits to other
         versions cause calls to the mktemp function using templates of
         the form "dumpXXXXXX.txt" to no longer substitute the pattern
         with the process id.  While a change is necessary to prohibit
         substituting the directory portion in a template such as
         "[XX]dumpXXXXXX", the change that was made was overly harsh,
         forcing all substitution to the end of the pattern.
    
      o  The strstr function accesses memory beyond the ends of the
         strings passed.  In cases where the next page is not
         accessible, the result is an access violation.  The problem
         was reported against the ADA compiler, which uses the strstr
         function in this way.
    
      o  Although files in general are correctly inherited after a
         fork/exec function call, files which are opened in any sort of
         sharing mode are not.
    
      o  When accessing files in stream mode, closing the file may
         result in an extra byte being written to the file.  While this
         byte is not seen using the type command, it may be seen when
         using the dump utility.
    
    
    Problems Addressed in the VAXACRT05_070 Kit:
    
      o  The stat function now uses a thread specific buffer to store data.
         Prior to this correction, calling stat from two separate threads
         would interfere with one another.
    
      o  An ISV (Internet Service Provider) reports that extra <lf>
         characters are seen on occasion when using a subprocess which sends
         data back to the parent process using a mailbox.
    
      o  A case was found where the fseek function failed, correctly returned
         a -1 value, but failed to set errno properly.
    
      o  One of the arguments to the DECC$TO_VMS function is "allow_wild"
         which is documented to accept the values zero and one.  If wildcards
         are used in the file specification, they are either rejected or
         expanded into the resultant file specifications.  Passing a value of
         -1 for the allow_wild parameter now returns the file specifications
         with the wildcards intact, but after having prepared to the point of
         doing a SYS$SEARCH.
    
      o  Unlike Digital UNIX, the fsync(socket_id) call results in an access
         violation instead of returning an EINVAL status.
    
      o  A user reports and demonstrates that opening and closing sockets
         does not properly release mutexes eventually causing this resource
         to be exhausted.  This problem was introduced in OpenVMS V7.0.
    
      o  Applications which call opendir and readdir recursively to traverse
         subdirectories may end up in an infinite loop when reading the
         directory which includes returning [000000]000000.DIR.  The readdir
         function no longer returns an entry which is equivalent to the
         directory being read.
    
    
    Problems Addressed in the VAXACRT04_070 ECO Kit:
    
      o  The timezone cache introduced to correct performance problems
         reported with the timezone functions incorrectly frees memory that
         is later used by the cache routines.  If the user's application
         happens to allocate and use this memory, the routines which assume
         the data in the memory was written by the DEC C RTL, may access
         violate.
    
      o  Calling the stat function in a loop shows that memory is being
         leaked.  This problem was introduced in OpenVMS V7.0.
    
      o  Extra <LF> characters may be written to stdout under the conditions
         that the application is reading from stdin and it is not a terminal.
         The extra characters appear random in the output, but in fact are
         written each time a new record is read from stdin.
    
      o  An application which closes either stdin, stdout, or stderr, and
         then reopens it using the dup function may not have the file
         actually closed if I/O is not done using the file descriptor.  A
         workaround is to force I/O on the file by using a function call such
         as sync or flush.
    
    
    Problems Addressed in the VAXACRT03_070 ECO Kit:
    
      o  The ECO kit VAXACRT02_070 correctly added the new rules for GB-EIRE,
         but neglected to add the new rules for the other European countries.
         Additionally, VAXACRT02_070 neglected to terminate the September
         rules to not take affect in 1996.
      o  The ECO kit VAXACRT02_070 attempted to fix a problem with printf
         which resulted in spurious characters being displayed due to an
         uninitialized buffer.  The work to reduce stack usage in printf
         reintroduced this initial problem.
    
    
    Problems Addressed in the VAXACRT02_070 ECO Kit:
    
      o  The time zone file for Europe needs to have a rule added to reflect
         the Seventh Directive of the European Parliament and of the Council
         of 30 May 1994 which defines the start and end dates of summer time
         throughout the EEC, using a new algorithm with effect from 1996.
    
      o  The UTC based time functions, introduced in OpenVMS V7.0, caused the
         performance of these functions or "degrade enormously".
    
      o  A cache for tzfiles has been introduced to improve performance.  The
         size of the cache is determined by the logical name
         DECC$TZ_CACHE_SIZE.  To accommodate most countries having both
         standard and summer time, the default cache size is two.
    
      o  Dates using the Hebrew locale appear in the format MM/DD/YY, instead
         of the format DD/MM/YY.  The problem is in the source of the Hebrew
         locale, in the way the date format is defined.
    
      o  Many DEC C Run-Time Library routines (fwrite in particular) are
         mistakenly REENABLING AST delivery in the case where it was disabled
         on entry to the routine.
    
      o  A change occurred in how fseek works with fixed length odd byte
         record lengths.  The description of fseek in the RTL Reference
         Manual says "The function can position fixed-length record-access
         file with no carriage control or a stream-access file on any byte
         offset, ....".  Using OpenVMS V6.1, the phrase "on any byte offset"
         did not include the pad byte that RMS keeps on disk between records
         of odd length in fixed length record format sequential files.  By
         the time of OpenVMS V6.2, the phrase "on any byte offset" apparently
         includes that pad byte.
    
      o  Processing VFC (Variable Fixed-length Control) files (both writing
         and reading) IN STREAM MODE is broken in OpenVMS V7.0.  This is most
         evident when the number of characters written to or read from the
         file is greater than the size of the internal I/O buffer.
    
      o  The qsort function no longer access violates when sorting a large
         number of records.  This was demonstrated by sorting 1966079 records
         whose values were 1 through 1966079.  The qsort function can now
         sort the maximum number of records.
    
      o  The DEC C Run-Time Library had previously added the ability for users
         to define the logical name DECC$DEFAULT_LRL to change the default
         longest record length value on stream files.  A problem existed such
         that defining this logical name to zero resulted in files which had
         fixed length records instead of stream_lf records.
    
      o  Functions which write records to a file no longer access violate
         when a null record is written.  A test program which issues
         fputs(" ", stdout) followed by fputs("", stdout) can be used to
         demonstrate this problem.
    
      o  The getcwd function does not correctly return the directory name,
         when the third parameter is used to specify UNIX format.  The last
         character of the resultant UNIX file name is incorrect.
    
      o  The tempnam function, when generating a filename, incorrectly
         increments the character "9" to the character ":", resulting in an
         invalid filename.
    
      o  The setvbuf function now limits the buffer size used to 32767 bytes.
         It further limits this value to the SYSGEN parameter MAXBUF when
         associated with a terminal device.
    
      o  The DEC C Run-Time Library does not properly handle all RMS error
         codes that have secondary values returned in the stv fields.  For
         example, after a call to the open function fails, the perror
         function reports the error 'ACP create failed', but does not
         indicate the specific reason available in the secondary RMS status.
    
      o  The fileno function, when called with results of a dup2 file doesn't
         return the file descriptor of the original file.  Applications
         expect that fileno(stdout) will always return one regardless of
         whether stdout was used in a call to dup2.
    
      o  Testing of the printf function showed that the conversion of
         "printf("%.9sn",s)" will access all 9 characters of the string even
         if the null terminator is earlier in the string.  If the terminator
         is at the end of a page and the next page is a protected page, an
         access violation will result.
    
      o  In a UNIX file system, passing "." refers to the current directory.
         The opendir function does not accept "." as the directory name.
    
      o  The opendir function now accepts directory names specified in UNIX
         format which end in a "/" character.
    
      o  The ftw function has been corrected to accept both OpenVMS and UNIX
         style path arguments.
    
      o  The translation of OpenVMS to UNIX file specifications should
         consistently lowercase the resultant name.
    
      o  The translation of [xxx,yyy]zzz should result in /xxxyyy/zzz,
         treating both xxx and yyy as decimal characters.  The translation of
         [1,9] should not generate a numeric conversion error.
    
      o  The documentation for the readdir function states that the ".dir"
         extension is removed from directory specifications, but it is not.
    
      o  The DEC C Run-Time Library functions do not correctly interpret the
         standard UNIX escape character (backslash).  These characters are
         now removed from the file specification.
    
      o  In contrast to what is said in the DEC C RTL Reference Manual, the
         pipe function does not ignore the second parameter.  The function
         has been corrected to ignore all values except O_NDELAY and
         O_NONBLOCK.  The documentation for this second argument will be
         changed as follows:
    
              flag
    
              An optional argument used as a bitmask.  If either O_NDELAY
              or O_NONBLOCK bit is set, the I/O operations to the mailbox
              via array_fdscptr file descriptors terminate immediately,
              rather than waiting for another process.
    
              If, for example, the O_NDELAY bit is set and the child
              issues a read request to the mailbox before the parent has
              put any data into it, the read terminates immediately with
              zero status.  If neither O_NDELAY nor O_NONBLOCK bit set,
              the child will be waiting on the read until the parent
              writes any data into the mailbox.  This is the default
              behavior if no flag argument is specified.
    
              The values of O_NDELAY and O_NONBLOCK are defined in the
              <fcntl.h> header file.  Any other bits in the flag argument
              are ignored.  You must specify this argument if the second
              optional, positional argument bufsize is specified.  If the
              flag argument is needed only to allow specification of the
              bufsize argument, specify flag as zero.
    
      o  The function strnlen is marked as being an ANSI function, even
         though it is not defined by the standard.  This is important for
         customers who restrict name prefixing using /prefix=ansi.  The
         correction is to not prefix usages of strnlen when compiling with
         this qualifier.
    
    
    Problems Addressed in the VAXACRT01_070 ECO Kit:
    
      o  The sleep function, when passed an argument of zero, now correctly
         returns to the calling program without sleeping.
    
      o  The sleep function restricts the duration of a sleep request to 9999
         days.
    
      o  The mktemp function generates unique file specifications by
         replacing Xs found a user-supplied string with a derivative of the
         process id.  The problem is that only trailing Xs are to be replaced
         as opposed to Xs found throughout the string.
    
      o  Files defined as having Fortran carriage control are expected to
         have control information in each record of the file.  The Run-Time
         Library now correctly defaults to space carriage control when zero
         length records are encountered.
    
      o  The read function fails to load characters that have been used in
         calls to the ungetc function.
    
      o  The read function was not loading characters from the unget buffer
         before reading from the disk.
    
      o  A problem was introduced into the Run-Time Library such that the
         calculations of the end of file position were incorrect when the
         entire file fit into a single i/o buffer.
      o  Prior to extending a file, the Run-Time Library ensures that the user
         has opened the file with write access.  A boundary condition existed
         such that this test was incorrectly done when positioning to the end
         of the file, but not beyond it.
    
      o  In the access function, the user_group  and  user_member components
         are no longer truncated when they are larger than 255.  In addition,
         the system group now abides by the SYSGEN parameter, MAXSYSGROUP.
    
      o  The truncate function has been corrected to return unused blocks to
         the file system.  Prior to this change, the number of blocks
         allocated to the file were not changed.
    
      o  The printf function has been corrected to properly initialize a work
         buffer during the format string processing.  Prior to this change,
         the processing of a format specifier could result in data from the
         last specifier processed remaining in the buffer.
    
      o  The functions sleep, alarm, setitimer, and usleep have been
         rewritten to make better use of Timer Queue Entries (TQEs).  Prior
         to this change, the Run-Time Library made liberal use of the
         SYS$CANWAK system service in these functions.
    
      o  The readdir function returns file names to the application in either
         OpenVMS or UNIX format.  The UNIX format lowercases the name, but
         inadvertently used a locale-sensitive lowercase routine.  This was
         quite apparent using the Far East locales.
    
      o  The exec functions have the ability to pass environment strings to
         the child process.  Prior to this change, a coding error prevented
         these strings from exceeded 127 bytes.  These strings can now be up
         to 255 bytes in length.
    
      o  Since changing the default LRL value for stream files from 0 to
         32767, we've been informed that this change has a dramatic affect on
         sort times and workfile size.  We now look for a logical
         DECC$DEFAULT_LRL for this value, using 32767 if not defined.
    
      o  The rewind function is documented to write all buffered output and
         discard all buffered input prior to rewinding the file.  Under
         certain situations, the buffer was not being flushed to disk.
    
      o  The function DECC$TO_VMS, has been corrected to allow file
         specifications of the form "./aaa.-bbb" to be converted to OpenVMS
         file specification format.
    
      o  The amount of stack space used by the printf functions has been
         reduced.  Prior to this change, using printf within a threaded
         application would likely exhaust the stack space.
    
      o  The lseek function may position incorrectly when given the SEEK_END
         option.  Typically this occurs when the internal buffer is full and
         the last operation done to the file is flush or sync.
    
      o  The fsync and flush functions will leave the file positioned at the
         end, as opposed to the original position, under certain conditions.
         These functions are not intended to move the current position.
    
    
    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:  'VAXACRT06_070', 'VAXCRTL' or 'VAXACRT'.
    
    
    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:
    
    In order for the corrections in this kit to take effect, the system must
    be rebooted.  If the system is a member of a VMScluster, the entire
    cluster should be rebooted.
    
    During installation you may see the following message:
    
      %INSTALL-E-NODELSHRADR, unable to delete image with shareable
                              address data
      -INSTALL-I-PLSREBOOT, please reboot to install a new version of
                            this image
    
    This is not a cause for concern.  It simply means that DECC$SHR.EXE was
    installed as a resident image, which is the standard configuration for
    OpenVMS VAX V7.0 systems.  The new image will not take effect until the
    system is rebooted.
    
    
    REMOVAL INSTRUCTIONS:
    
    Remove this kit and restore the original files and libraries by logging
    into the SYSTEM account, and typing the following DCL prompt:
    
         @SYS$UPDATE:ACRT$ECO_DROP
      
      ==========================================================================
      |                     Table of Kit Image Information                     |
      +----------------------------+----------+-----------------+--------------+
      |                            | Overall  | Image File      | Image Link   |
      | Image Name                 | Checksum | Identification  | Date/Time    |
      +----------------------------+----------+-----------------+--------------+
      | DECC$SHR.EXE               |%XFA90C345| X7.1-1          | 21-MAY-1997  |
      |                                       |                 | 16:15:55.20  |
      +----------------------------+----------+-----------------+--------------+
    
privacy statement using this site means you accept its terms feedback to the webmaster
VMS rules VMS rocks OpenVMS rules OpenVMS rocks