Document revision date: 31 July 2002
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

OpenVMS Alpha Version 7.3--1 Release Notes


Previous Contents Index

4.32 VCC I/O Cache Size Increased

V7.2-2

The maximum I/O data transfer that VCC caches has been increased from 35 blocks to 64 blocks.

4.33 Volume Shadowing for OpenVMS

The following release notes pertain to Volume Shadowing for OpenVMS.

4.33.1 Minicopy Version Required on All Nodes

V7.3

OpenVMS Alpha Version 7.3 introduced minicopy support in Compaq Volume Shadowing for OpenVMS.

To use this volume shadowing feature in an OpenVMS Cluster system, only the versions that support this feature can exist in the cluster. This restriction also pertains to all storage controllers, such as the HS121, that use OpenVMS to serve disks.

4.33.2 Multipath HSG/HSZ Disk Partitions and Volume Shadowing---Problem Corrected

V7.3-1

Previously, a partition of a multipath disk on an HSG80, HSG60, HSZ80, or HSZ70 controller could be used as a member of a host-based volume shadow set (HBVS) if and only if that disk was used exclusively for that partition. Specifically, the remaining space on the partitioned disk could not be used for another logical unit that was accessed concurrently with the partition that was an HBVS member.

Note

This problem does not exist on HSV controllers, regardless of which version of OpenVMS operating system is running on your system.

Previously, failure to adhere to this restriction could result in:

This restriction has been removed.

4.33.3 INITIALIZE/SHADOW Available on Alpha Systems Only

V7.3-1

The /SHADOW qualifier to the INITIALIZE command was introduced in OpenVMS Version 7.3 and is available on OpenVMS Alpha systems only. Currently, the documentation for INITIALIZE/SHADOW qualifier does not say that it applies only to OpenVMS Alpha systems. This omission will be corrected in a future release.

4.33.4 Dismount of Shadow Set Member Using /MINICOPY

V7.3

In an OpenVMS Cluster configuration, if you issue a DISMOUNT command with the /MINICOPY qualifier from a client system to dismount a shadow set member, the command might fail.

Workaround

If the first DISMOUNT command fails, repeat the command, as shown in the following example:


$ SHOW DEVICE DSA5555 
Device                  Device           Error    Volume         Free  Trans Mnt 
 Name                   Status           Count     Label        Blocks Count Cnt 
DSA5555:                Mounted              0  $80$DKA107:    7994646     1  18 
$80$DKA107:    (WILD3)  ShadowSetMember      0  (member of DSA5555:) 
$80$DKA302:    (WILD3)  ShadowSetMember      0  (member of DSA5555:) 
$80$DKA303:    (WILD3)  ShadowSetMember      0  (member of DSA5555:) 
$ 
$ 
$ DISMOUNT/POLICY=MINICOPY $80$DKA302: 
%DISM-W-CANNOTDMT, $80$DKA302: cannot be dismounted 
%DISM-F-SRCMEM, only source member of shadow set cannot be dismounted 
$ 
$ 
$ DISMOUNT/POLICY=MINICOPY $80$DKA302: 
$ 

This problem will be corrected in a future release.

4.33.5 SHADOW_MAX_UNIT Settings

V7.3

OpenVMS Alpha Version 7.3 introduced minicopy support in Volume Shadowing for OpenVMS.

As part of the minicopy functionality, a new volume shadowing system parameter, SHADOW_MAX_UNIT, is provided for specifying the maximum number of shadow sets that can exist on a node. The default value on OpenVMS Alpha systems is 500; on OpenVMS VAX systems, the default is 100. This system parameter is not dynamic; a reboot is required to make the change take effect.

Caution

Review carefully the default settings of SHADOW_MAX_UNIT for your configuration. Dismounted shadow sets, unused shadow sets, and shadow sets with no write bitmaps allocated to them are included in this total. The setting must be equal to or greater than the number of shadow sets you plan to have on a system. Any MOUNT command that attempts to create more than the maximum specified by SHADOW_MAX_UNIT fails.

Note that this parameter does not affect the naming of shadow sets. For example, with the default value of 100, a device name such as DSA999 is still valid.


Chapter 5
Programming Release Notes

This chapter provides release notes about both application and system programming on OpenVMS systems.

5.1 Common Data Security Architecture (CDSA) Considerations

V7.3-1

Installation and Initialization

Installation of CDSA is done automatically when you install the operating system. However, you must be aware of the following considerations:

5.2 Backup API---Journaling Callback Events Restriction

V7.1

If an application registers a callback routine for any of the journaling events, it must register a callback routine for all the journaling callback events. The following is a list of the journaling callback events:

BCK_EVENT_K_JOURNAL_OPEN
BCK_EVENT_K_JOURNAL_WRITE
BCK_EVENT_K_JOURNAL_CLOSE

This is a permanent restriction.

Refer to the Backup API chapter in the OpenVMS Utility Routines Manual for more information on registering callback routines.

5.3 Timer Queue Entries (TQEs)

V7.3-1

Management of Timer Queue Entries has been redesigned for the Version 7.3-1 release of OpenVMS Alpha to provide significantly higher performance for systems using many TQEs. This change is transparent to nonprivileged applications.

Privileged code can no longer manipulate TQEs directly in any form. In particular, directly accessing pointers in the TQE's queue header (TQE$L_TQFL/TQE$L_TQBL) causes an access violation in almost all cases. Privileged code may continue to use the internal routines exe_std$instimq/exe$instimq and exe_std$rmvtimq/exe$rmvtimq to enter or remove Timer Queue Entries.

5.4 Batch and Print Queues Now Can Stop Executing Batch Jobs

V7.3-1

Previously, the DELETE/ENTRY command could fail to stop an executing batch job if:

The DELETE/ENTRY command causes the job to terminate in phases. A delete_process AST routine is given in user mode, supervisor mode, and then executive mode. Because there is a small delay between each mode, it is possible that, in a batch job, a user-mode image may terminate, and the command procedure may continue to execute until the supervisor-mode delete_process AST routine is executed.

The return status of the SYNCHRONIZE command is assumed to contain the termination status of the target batch job. In addition, command procedures would normally execute a command such as $ON ERROR THEN CONTINUE or $SET NOON before issuing the SYNCHRONIZE command. If a DELETE/ENTRY command is issued to the job executing the SYNCHRONIZE command, the JBC$_JOBABORT is interpreted as being the termination status of the target batch job rather than a return status of the SYNCHRONIZE command. The command procedure then continues to execute for a short period with this incorrect assumption and performs an operation such as requeuing the target batch job or incorrectly reporting a failure of the target batch job.

Now, the SYNCHRONIZE command detects this situation and waits in an exit handler for longer than the delay between the user-mode and supervisor-mode termination.

Any other images that would report the job completion status obtained by the SJC$_SYNCHRONIZE_JOB function code of the $SNDJBC system service as the return status of the program should implement logic similar to the following:

  1. Declare an exit handler.
  2. In the exit handler, implement the following logic:


    IF (exit status is JBC$_JOBABORT) 
    THEN 
        Wait 10 seconds 
    ENDIF 
    

5.5 Compaq C Run-Time Library

V7.3-1

The following sections contain release notes pertaining to the Compaq C Run-Time Library (RTL).

5.5.1 strftime Function---Problem Corrected

V7.3-1

Previously, the "V" conversion specifier in the strftime function did not return the correct number of weeks in the year for some boundary dates at the end of December or the beginning of January:

This problem has been corrected.

5.5.2 Threaded Application Hang---Problem Corrected

V7.3-1

Previously, a threaded C application could hang when doing operations that resulted in file I/O. A deadlock condition could arise when file I/O was started and the standard I/O channels had not been initialized. Two mutexes used to synchronize file I/O operations were locked in different orders in two parts of the C run-time library.

This problem has been corrected.

5.5.3 ecvt Function in Kernel Mode---Performance Improvement

V7.3-1

Previously, the ecvt function (convert-to-string) could operate excessively in kernel mode. This function uses thread-specific data. The LIB$AST_IN_PROG function was called to protect the thread-specific data against corruption by an interrupting AST, thus introducing high overhead.

Although the ecvt function was not intended to be AST-safe, handling of thread-specific data was revised in the C RTL for OpenVMS Version 7.1-1, introducing the AST-safe test (LIB$AST_IN_PROG) and consequent overhead.

An alternate implementation that is thread-safe but not AST-safe has now been made the default, improving performance.

You can restore the AST-safe mode by enabling the DECC$THREAD_DATA_AST_SAFE feature logical:


$ DEFINE DECC$THREAD_DATA_AST_SAFE ENABLE 

5.5.4 times Function---Performance Improvement

V7.3-1

Previously, a Compaq C application would become noticeably slower after adding calls to the times function to get performance data. The times function used an asynchronous system call, $GETJPI, adding significant overhead.

This overhead has been substantially reduced by taking advantage of changes in OpenVMS to retrieve values from $GETJPI synchronously.

5.5.5 alarm Function---Problem Corrected

V7.3-1

The alarm function previously did not correctly recognize an unexpired timer and did not always return the correct value for the time remaining.

The alarm function supports a single timer. When another request to alarm is issued, alarm should cancel any pending request, schedule a new alarm, and return the time remaining on the original timer.

The problem with the alarm function was fixed by changing the function to do the following:

5.5.6 Files of Size 2 Gigabytes or Larger---Restriction Removed

V7.3-1

In previous releases of C RTL, all file positions were calculated using 32-bit arithmetic. This restricted certain file operations to file sizes less than 2 gigabytes (2GB).

This restriction has now been removed. File operations using C RTL I/O may now be performed on file sizes up to 2 terabytes.

By default, all applications can only use offsets expressed in 32 bits. The function fgetpos now returns the correct file offset when the file position is beyond 2GB.

Developers can also program their application to express file sizes and positions in 64 bits. This is described in the OpenVMS Alpha Version 7.3--1 New Features and Documentation Overview.

5.5.7 stat Memory-Corruption---Problem Corrected

V7.3-1

Memory corruption occasionally occurred when using stat to access a nonexistent directory.

This problem has been corrected.

5.5.8 decc$to_vms Case-Matching---Problem Corrected

V7.3-1

Regular expression support in decc$to_vms did not match names with lowercase letters.

This problem has been corrected.

5.5.9 Printing Error with Locale Enabled---Problem Corrected

V7.3-1

There was an error printing negative numbers with thousands separators when a locale is enabled. The function call printf ("("%'d", -999) when preceded by a call to set_locale , would incorrectly output " -,999 " instead of " -999 ".

This problem has been corrected.

5.6 Compiling C Programs with case=sensitive Settings

V7.3-1

If you are compiling C programs with the setting case=sensitive , any #include files in your C program specified with the .h file type (lowercase h) will not be seen and executed. In addition, if a system #include file specifies another #include file with a .h file type, the second #include file will not be seen and an error will be generated.

To avoid this behavior, compile with case set to blind. If it is necessary to use case=sensitive , specify any #include files in your C programs either with no file type (for example, #include <stdio> ) or with an uppercase H file type (for example, #include <stdio.H> ).

Note that this does not correct the scenario where system #include files, such as stdlib.h, in turn specify #include files with a .h file type and cause an error to be generated.

5.7 Compaq COBOL Run-Time Library (RTL) for OpenVMS Alpha

V7.3-1

The Compaq COBOL RTL (DEC$COBRTL) has been updated to V2.7-641.

5.7.1 COBOL RTL and RMS RU-Journaling---Problem Corrected

V7.3-1

The RTL now properly handles RMS RU-journaling for files with variable length records.

5.7.2 COBOL RTL and ISAM DELETE---Problem Corrected

V7.3-1

The RTL now properly handles DELETE of the last record in an ISAM file. Previously, the RTL got an internal consistency check failure.

5.7.3 COBOL RTL and Record Locking---Restriction

V7.3-1

In certain circumstances with the START or WRITE statement, COBOL acquires multiple record locks with automatic record locking. If you encounter this situation, you can clear the record locks using either UNLOCK ALL RECORDS or CLOSE followed by OPEN.

5.8 LIBOTS2 Versions

V7.3-1

LIBOTS2 has been updated for OpenVMS Alpha Version 7.3-1. The new version of LIBOTS2 is Version 2.7-48.

The LIBOTS2 library shipped with OpenVMS Version 7.3 (Version 2.6-46 link date 2001) is built incorrectly and can cause wrong results from COBOL programs. Please avoid that version. Instead, use either:

5.9 Compaq Distributed Computing Environment (DCE) for OpenVMS

This section contains important release notes for existing users of Compaq Distributed Computing Environment (DCE) for OpenVMS VAX and OpenVMS Alpha.

Remote procedure call (RPC) functionality was integrated into the operating system beginning with OpenVMS Version 7.2. As of OpenVMS Version 7.2-1, NT Lan Manager (NTLM) security has been available in RPC calls. For more information about RPC functionality, refer to the Compaq DCE for OpenVMS VAX and OpenVMS Alpha Reference Guide.

Caution

Do not install Compaq DCE for OpenVMS Version 1.4 on OpenVMS Version 7.2 or higher. Doing so will overwrite the new RPC files with those from Version 1.4. This problem does not occur with Compaq DCE for OpenVMS Version 1.5 or Version 3.0.

For more information about Compaq DCE for OpenVMS, refer to the following documentation:

5.9.1 DCE System Management Command Procedure

V7.3

With the update of the DCE RPC files in OpenVMS Version 7.2-1, the following changes have been made to the DCE system management command procedure (SYS$MANAGER:DCE$SETUP.COM):

5.9.2 NTLM Authenticated RPC Functionality Now Available

V7.3

The new authenticated RPC functionality in DCE for OpenVMS Version 3.0, including impersonation and authentication with NT Lan Manager (NTLM) protocol, is included as of OpenVMS Version 7.2-1.

The Compaq Distributed Computing Environment for OpenVMS VAX and OpenVMS Alpha documentation that ships with OpenVMS Version 7.2-1 and later provides information about using NTLM.

5.10 DECdtm $TRANS_EVENT

V7.3-1

The C Prototype for the newly documented DECdtm $TRANS_EVENT system service has been changed as follows:

Existing applications that call $TRANS_EVENT or $TRANS_EVENTW system service calls must be recompiled and relinked, because of a change in OpenVMS Starlet.

Note

DECdtm documentation for $TRANS_EVENT has been corrected since its previous version.

5.11 Debugger

This section contains release notes pertaining to the OpenVMS Debugger.

5.11.1 Register View and Debugger Errors

V7.3-1

Debugger errors can occur when registers are selected after the register display list has changed.

5.11.2 Previous Versions of Client/Server Interface Not Supported by Debugger

V7.3

The OpenVMS Version 7.3 debugger does not support previous versions of the client/server interface. You must install the client/server interface found in the kit on the distribution media, as identified in the following table:
CPU Operating System Client Kit
Intel Microsoft Windows 95, 98, NT, Me, 2000, XP [DEBUG_CLIENTS011.KIT]DEBUGX86011.EXE
Alpha Microsoft Windows NT [DEBUG_CLIENTS011.KIT]DEBUGALPHA011.EXE

These client kits are self-extracting .EXE files.

Once the appropriate executable file has been transferred to the PC, you can run the file to install the debug client on the PC. The InstallShield installation procedure guides you through the installation.

By default, the debug client is installed in the \Program Files\OpenVMS Debugger folder. You can also click Browse to select an alternate location.


Previous Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
6652PRO_008.HTML