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)

VAXCRTL11_062 VAX V6.2 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, 1998.  All rights reserved.
    
    Modification Date:  27-SEP-1999
    Modification Type:  Made Kit Available Again.  VAXACRT12_062 was placed
                        on Engineering Hold.
    
    PRODUCT:    OpenVMS VAX
    
    COMPONENT:  DEC C RTL - DECC$SHR.EXE
                            LOCALEDEF.EXE
                            CTRL.OBJ           (Updates STARLET.OLB)
                            CRTLMSGDEF.OBJ     (Updates STARLET.OLB)
    
    
    SOURCE:     Digital Equipment Corporation
    
    ECO INFORMATION:
    
         ECO Kit Name:  VAXCRTL11_062
         ECO Kits Superseded by This ECO Kit:  VAXACRT10_062
                                               VAXACRT09_062
                                               VAXACRT08_062
                                               VAXACRT07_062
                                               VAXACRT06_062
                                               VAXACRT05_062
                                               VAXACRT04_062
                                               VAXACRT03_062
                                               VAXACRT02_062
    
         ECO Kit Approximate Size:  3528 Blocks
                        Saveset A:  3492 Blocks
    
         Kit Applies To:  OpenVMS VAX V6.2
         System/Cluster Reboot Necessary:  Yes
         Rolling Reboot Supported: Yes
    
         Installation Rating:  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)  must  be  installed   BEFORE
         installation of this kit:
    
           None
    
    
         In order to receive the all the  corrections  listed  in  this
         kit, the following remedial kits should also be installed:
    
           None
    
    
    ECO KIT SUMMARY:
    
    An ECO kit exists for DEC C RTL on OpenVMS VAX V6.2.  This kit addresses
    the following problems:
    
    Problems Addressed in the VAXCRTL11_062 Kit:
    
      o  Sometimes a call to sigvec function may cause an application to
         hang.   The reason for the hang is that, under some conditions,
         the sigvec function fails to release mutexes.  So, when  called
         the next time, the function is trying to acquire already locked
         mutexes.  This results in  placing  the  process  in  hibernate
         state when running in MULTITHREAD reentrancy mode.
    
      o  The printf function was enhanced to print "(null)" when  passed
         a  null  pointer  to  be  used  with the "%S" format specifier.
         Prior to this, the DEC C RTL would issue  an  access  violation
         error.
    
      o  The setlocale function was enhanced  to  detect  the  situation
         where run-time support for specified locale is not available on
         the system.  Prior to this,  the  function  would  successfully
         load  the  locale,  but a call to mbtowc function, for example,
         would result in access violation.
    
    
    Problems Addressed in the VAXACRT10_062 Kit:
    
      o  Repeatedly calling seek functions involving  files  containing
         fixed  length  records,  whose  length  is  odd, may result in
         incorrect positioning.
    
      o  Except for those created by calling the pipe function, mailbox
         devices  are considered record oriented devices .  This limits
         these solutions to those applications whose child  process  is
         also  a  C program.  The RTL now checks for the presence of an
         environment variable "DECC$MAILBOX_CTX_STM" which, if defined,
         tells the RTL not to add additional data to the mailbox data.
    
      o  The ANSI standard states that streams opened  in  update  mode
         may  read  and  written to.  It also states that reads must be
         followed by a file positioning call prior to  writing  to  the
         stream.   While  devices such as terminals do not allow random
         position, all streams now allow positioning to the  beginning,
         regardless of device type.
    
      o  The access  function  would  incorrectly  examine  the  SYSTEM
         protection  codes and use those codes in determining if access
         would be allowed.
    
    
    Problems Addressed in the VAXACRT09_062 Kit:
    
      o  Customers who installed the previous ECO kit for OpenVMS V6.2
         (VAXACRT08_062), have reported problems accessing VFC (Variable
         Fixed-length Control) files.  The symptom is incorrect data when
         reading the first record of the file.
    
      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.  This problem was
         reported as fixed in the ALPACRT04_062 and VAXACRT04_062, but
         continued testing showed that the problem still exists.
    
      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.
    
         A child process created by exec* function fails to inherit the file
         opened by the parent for shared access.
    
      o  Unlike Digital UNIX, calling the fsync function with a socket
         descriptor results in an access violation.  The correct behavior is
         to set errno to EINVAL (Invalid Value) and return a failure status.
    
      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.
    
         5.6  Control character remains disabled after image exit
    
              5.6.1  Problem Description:
    
      o  The runtime library disables control_y for a process when a call is
         made to the signal function instructing it to ignore SIGINT signals,
         but does not restore control_y state on image exit, so that after
         image rundown they remain disabled.
    
         Note that the during image rundown, the runtime library restores the
         state to that which existed when they were disabled.  Applications
         which make calls to the LIBRTL routines LIB$DIS/ENABLE_CTRL after
         calling signal may have these changes discarded on image exit.
    
    
    Problems Addressed in the VAXACRT08_062 Kit:
    
      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  A user migrating to OpenVMS V6.2 is having difficulty processing
         VFC (Variable Fixed-length Control) files.  Calling the fgetc
         function results in the error RMS-W-RTB which is "record too
         large for user's buffer".  In addition, carriage control
         information in PRINT VFC files is not interpreted correctly
         resulting in superfluous or missing blank lines when the contents
         are displayed to a terminal.
    
    
    Problems Addressed in the VAXACRT07_062 Kit:
    
      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  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 VAXACRT06_062 Kit:
    
      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  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 Runtime 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  A problem in the way the timer functions, such as sleep and alarm,
         was introduced into OpenVMS V6.2.  This family of functions has been
         rewritten to no longer lose Timer Queue Entries.
    
      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  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 MAXSYSGROUP SYSGEN parameter.
    
    
    Problems Addressed in the VAXACRT05_062 Kit:
    
      o  The RAB size for the LRL (longest record length) was incorrectly set
         to -1 when the value was greater than the maximum allowed value -
         greater than 8K.  An invalid fseek was therefore performed.
    
    
    Problems Addressed in the VAXACRT04_062 Kit:
    
      o  Calls to execve with a parameter or environment list larger than 127
         bytes fails.
    
      o  Poor performance or failure when attempting to SORT a Stream_LF file
         with variable length records.
    
      o  DECC$TO_VMS doesn't recognize hyphens in VMS file names resulting in
         an aggravated difficulty to port software to VMS.
    
    
    Problems Addressed in the VAXACRT03_062 Kit:
    
      o  OpenVMS V6.2 STARLET modified two symbols (SYS_ERRLIST and SYS_NERR)
         to have DECC$ prefixes.  These symbols were not able to be accessed.
         The ability to access these symbols via external references was not
         shipped with OpenVMS V6.2 and is included here.
    
    
    Problems Addressed in the VAXACRT02_062 Kit:
    
      o  The DEC C RTL routine chdir fails when passed a logical search list.
    
      o  In the DSNlink and DIA C database, there is an article on how to
         implement non-blocking pipes under OpenVMS.  The article title is:
    
              Example-C Implementing Non-Blocking Pipes Using VAX C RTL
    
         This example fails under OpenVMS V6.2 and was introduced in an
         earlier ECO kit for OpenVMS V6.1.
    
      o  When using fgets to read a remote file using DECnet, you get
         different results than when reading an identical file locally.
    
      o  The function ungetc stopped working in OpenVMS V6.1 for both
         variable and fixed length records.
    
      o  Using VAXC, the curses code fragment:
    
              wmove(win, 1, 2);  wprintw(win, "First line" );
              wmove(win, 2, 2);  wprintw(win, "Second line");
    
         produces the output:
    
              First line
              Second Line
    
         Using the compatible VMS Curses package provided by DECC on both VAX
         and Alpha, the results are:
    
              First lineSecond Line
    
      o  Issuing a call to getenv("TERM") would fail when used from a VT500
         class terminal.
    
      o  If you were to run a program containing the following fragment on
         OpenVMS V6.1, you would notice one file was created (test.file).  A
         second run would append to the file.  If you run it on OpenVMS V6.2,
         it created a new file every time.  It did not append.
    
              fp = fopen("TEST", "a", "dna=SYS$DISK:[].file");
    
      o  On slow systems, the return value from sleep (which is defined to be
         how much of the time we did not sleep) could be a negative number if
         we slept too long.
    
      o  Two locks may be obtained during I/O operations.  In the fclose
         function, lock A was obtained before lock B.  In all other CRTL
         functions lock B was obtained before lock A.  Under adverse
         conditions, deadlock results.
    
      o  The implementation of toupper/tolower was changed to use the value
         supplied by the user to index into the table of lowercase
         characters. DEC C RTL was incorrectly using only 7 bits instead of 8.
    
      o  When using fflush/fsynch with DEC C the "stdout" buffer is NOT
         flushed at the time you call these RTLs.  Eventually the buffers do
         get flushed, but with VAX C the buffer is flushed using the same
         RTLs.
    
      o  The symptoms for this are the following linker errors:
    
              %LINK-W-NUDFSYMS, 2 undefined symbols:
              %LINK-I-UDFSYM,         CC$RMS_XABFHC
              %LINK-I-UDFSYM,         CC$RMS_XABPRO
    
      o  Positioning to the end of file using the fseek function with the
         SEEK_SET option would no longer succeed if the user did not open the
         file with write.
    
      o  Bizarre I/O behavior when the I/O operation involved positioning to
         the last block in the file.
    
      o  A regression was introduced in OpenVMS V6.1 whereby the scanw and
         wscanw routines always access violate.
    
      o  When reading zero length records from a Fortran carriage control
         record file.  The result is that the carriage control from the
         previous read is used and may result in an access violation
         dereferencing the data in the buffer.
    
    
    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: 'VAXCRTL11_062' or 'VAXCRTL'.
    
    
    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 V6.2 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               |%X59D5907F| V6.1-15         | 16-APR-1998  |
      |                                       |                 | 08:57:38.46  |
      +----------------------------+----------+-----------------+--------------+
      | LOCALEDEF.EXE              |%XB60B5EB9| V1.0            | 16-APR-1998  |
      |                                       |                 | 09:01:36.65  |
      +----------------------------+----------+-----------------+--------------+
    
privacy statement using this site means you accept its terms feedback to the webmaster
VMS rules VMS rocks OpenVMS rules OpenVMS rocks