DCL V4.0 ECO Kit for VSI OpenVMS Alpha

Release Notes


1. Kit Name

VMS842L2A_DCL-V0400

2. Kit Description

2.1. Installation Rating

INSTALL_1: To be installed by all customers.

This installation rating serves as a guide to which customers should apply this remedial kit.

Reference the Disclaimer of Warranty and Limitation of Liability Statement.

2.2. Reboot Requirement

No reboot is necessary after installation of this kit.

However, there are additional steps that must be performed to use the images provided by this kit on all nodes of a VMSCluster using a common system disk. Refer to Special Installation Instructions for required post-installation actions.

Note

Processes created after installing this kit will pick up the updated images. For interactive processes already logged in, a LOGOUT/LOGIN sequence will be necessary to use these images.

To ensure no exposure to the problem this kit corrects, VSI recommends that you either force all interactive processes to LOGOUT and LOGIN again or reboot the system when convenient.

2.3. Version(s) of VSI OpenVMS to Which This Kit May Be Applied

  • VSI OpenVMS Alpha Version 8.4-2L1
  • VSI OpenVMS Alpha Version 8.4-2L2

The images and files in this kit apply to any of these VSI OpenVMS versions. Because remedial kits are removed by PCSI during upgrades to newer OpenVMS versions, the kit will need to be reinstalled if an upgrade is done from an older listed version to any newer listed version.

3. Kits Superseded by This Kit

  • VMS842L1A_DCL-V0100
  • VMS842L2A_DCL-V0100
  • VMS842L1A_DCL-V0200
  • VMS842L2A_DCL-V0200
  • VMS842L2A_DCL-V0300 (Installs on V8.4-2L1 and V8.4-2L2)

4. Kit Dependencies

VMS842L1A_NOTARY-V0200 (if installing on V8.4-2L1)
VMS842L2A_NOTARY-V0200 (if installing on V8.4-2L2)

All VSI OpenVMS ECO kits now require the Notary V2.0 ECO kit for their respective version of VSI OpenVMS. This is to ensure correct validation regardless of the manifest version in use.

The Notary V2.0 kit named above which matches the version of VSI OpenVMS being updated is required for this kit to install.

5. Problems Addressed in This Kit

5.1. Prevent Stack Corruption in DCL

Problem Description

Mismanagement of the stack in some DCL processing may cause the process to crash.

This issue is corrected with this ECO kit.

Images and/or Files Affected

[SYSEXE]DCL.EXE

VSI Case Identifier

Jira BO-2457

Release Version of VSI OpenVMS That Will Contain This Change

Next VSI OpenVMS Alpha release after V8.4-2L2

6. Problems Addressed From Previous Kits

6.1. From DCL V1.0 Kits

6.1.1. SET COMMAND May Construct Command Tables That Cause a Process Crash

Problem Description

After using SET COMMAND to add a command to your process command table or a command table file, certain malformed commands may later cause a process crash in DCL.

The tests DCL performs to validate the command structures had an error that resulted in a corruption of internal process memory when checking the malformed command. This would then result in a process crash.

DCL has been corrected to gracefully handle malformed command table entries.

Images and/or Files Affected

[SYSEXE]DCL.EXE

Quix and/or Bugzilla Cases Reporting This Problem

VSI Internal Bugzilla 1090

Release Version of VSI OpenVMS That Will Contain This Change

Next VSI OpenVMS Alpha release after V8.4-2L2

6.1.2. SET COMMAND May Cause a Process or Image Crash

Problem Description

Malformed commands used as input for SET COMMAND may cause a subsequent process crash from DCL by producing a malformed command table. In addition, some malformed input to SET COMMAND may cause an image crash within CDU.EXE while building the command tables for use by DCL.

Several missing limit checks were incorrectly allowing broken command tables to be produced. There was no problem with correctly defined commands, but building the malformed commands could cause an access violation in CDU or a subsequent process crash.

The checks have been corrected so that valid tables are created or appropriate errors are returned. In particular, the documented limit of 255 qualifiers per VERB or SYNTAX statement is now enforced. In addition, SET COMMAND will now correctly reject a zero-byte file supplied through the /TABLE qualifier.

Images and/or Files Affected

[SYSEXE]CDU.EXE

Quix and/or Bugzilla Cases Reporting This Problem

VSI Internal Bugzilla 1088

Release Version of VSI OpenVMS That Will Contain This Change

Next VSI OpenVMS Alpha release after V8.4-2L2

6.1.3. F$LICENSE Sometimes Returns FALSE for a Loaded License

Problem Description

For a loaded license with a version number which is less than 7.1, but not zero, F$LICENSE("pak-name","producer") returns FALSE. For loaded licenses with version number 7.1 or higher, or 0.0 (no version number), F$LICENSE correctly returns TRUE.

SHOW LICENSE correctly shows all these licenses as loaded.

The behavior of F$LICENSE has been corrected to return TRUE for all validly loaded licenses regardless of version number.

Images and/or Files Affected

[SYSEXE]DCL.EXE

Quix and/or Bugzilla Cases Reporting This Problem

VSI Internal Bugzilla 995

Release Version of VSI OpenVMS That Will Contain This Change

Next VSI OpenVMS Alpha release after V8.4-2L2

6.1.4. RECALL/ALL May Cause a Process Crash After Using RECALL/INPUT

Problem Description

After using RECALL/INPUT to load the recall buffer, a subsequent RECALL/ALL command may cause a process crash resulting in a display similar to the following and then the process is deleted:

Improperly handled condition, bad stack or no handler specified.
  Signal arguments:   Number = 0000000000000005
                      Name   = 000000000000000C
                               0000000000000000
                               000000007FFC9CD1
                               000000007AF8AFA8
                               0000000000000012

For this problem to occur, the input file must be constructed with embedded NUL characters, which is not a valid command syntax.

With this fix, DCL interprets the first NUL character as the terminator of the input line during a RECALL/INPUT command and does not fail during RECALL/ALL.

Images and/or Files Affected

[SYSEXE]DCL.EXE

Quix and/or Bugzilla Cases Reporting This Problem

VSI Internal Bugzilla 1054

Release Version of VSI OpenVMS That Will Contain This Change

Next VSI OpenVMS Alpha release after V8.4-2L2

Workaround

Verify that any command line supplied to RECALL/INPUT does not contain any NUL characters.

6.2. From DCL V2.0 Kits

6.2.1. DCL Procedures May Encounter %RMS-F-DME Errors When Using F$SEARCH

Problem Description

The VSI OpenVMS Alpha DCL V1.0 ECO kits included a change to work around an error in the behavior of F$SEARCH when using the % character as a wildcard but encountering file names which actually included the % character. This would result in the search operation not finding some files. The description of this change was inadvertently omitted in the DCL V1.0 ECO kit release notes.

An unfortunate side effect of this attempted workaround caused RMS to consume more resources than previously when performing F$SEARCH, which could lead to this error:

%RMS-F-DME, dynamic memory exhausted

The underlying search issue is actually a bug which is now corrected with the VSI OpenVMS Alpha RMS V3.0 ECO kits.

The DCL V2.0 ECO kits remove the workaround code changed in the DCL V1.0 kit, which results in DCL no longer consuming additional resources for F$SEARCH.

Images and/or Files Affected

[SYSEXE]DCL.EXE

Quix and/or Bugzilla Cases Reporting This Problem

  • QXCM1001487902
  • VSI Bugzilla 1736

Release Version of VSI OpenVMS That Will Contain This Change

Next VSI OpenVMS Alpha release after V8.4-2L2

Workaround

The initial change in the DCL V1.0 ECO kit resulted in RMS consuming additional resources for each open context stream when using F$SEARCH. This is the cause of the spurious RMS-F-DME errors. If any of your DCL procedures use a large number of simultaneous search contexts, it may be possible to alleviate the symptom by increasing the system parameter PIOPAGES.

PIOPAGES is dynamic and any subsequent processes will pick up the new value on login.

6.2.2. Exceptionally Long Token Names in CLD Files May Cause CDU to Abort

Problem Description

Command Language Definition (CLD) files with exceptionally long token names may cause the CDU parser to overwrite internal structures, causing the program to abort with an access violation.

This problem has been corrected.

Images and/or Files Affected

[SYSEXE]CDU.EXE

Quix and/or Bugzilla Cases Reporting This Problem

VSI Internal Bugzilla 1197

Release Version of VSI OpenVMS That Will Contain This Change

Next VSI OpenVMS Alpha release after V8.4-2L2

6.3. From DCL V3.0 Kits

6.3.1. DCL Expressions With Very Long Strings May Cause Process Crash

Problem Description

DCL expression parsing, concatenation, and string reduction (e.g., string1string2) involving DCL symbols that resolve to long strings may cause a process crash.

DCL expressions containing long string elements may cause DCL to overrun the supervisor-mode stack resulting in a process crash.

The crash footprint will resemble:

Improperly handled condition, bad stack or no handler specified.
  Signal arguments:   Number = 0000000000000005
                      Name   = 000000000000000C
                               0000000000000004
                               000000007FF8BFFC
                               000000007ADDA300
                               0000000000000012

After displaying the condition information the process will be terminated.

For technical reasons, the effective size of the supervisor-mode stack is smaller on IA-64 systems than on Alpha, causing this problem to occur more often.

With this ECO kit, calculations which would cause a stack overflow now return a warning:

%DCL-W-BUFOVF, command buffer overflow - shorten expression
               or command line

Images and/or Files Affected

[SYSEXE]DCL.EXE

VSI Case Identifier

Bugzilla 3406

Release Version of VSI OpenVMS That Will Contain This Change

Next VSI OpenVMS Alpha release after V8.4-2L2

6.3.2. DCL Procedure Error DOUBLEDEALO Bugcheck and Process Deletion

Problem Description

A DCL command procedure with certain syntax errors may result in a supervisor mode DOUBLEDEALO bugcheck, resulting in the deletion of the executing process.

This issue is corrected with this ECO kit.

Images and/or Files Affected

[SYSEXE]DCL.EXE

VSI Case Identifier

Jiras SPS-1428, SPS-1429, BO-1541

Release Version of VSI OpenVMS That Will Contain This Change

Next VSI OpenVMS IA-64 release after V8.4-2L3

7. Images or Files Replaced

If installing on V8.4-2L1

[SYSEXE]DCL.EXE
Image name:"DCL"
Image file identification:"X-55"
Image build identification:"XE4H-H4N-000192"
Link identification:"A13-04"
Link Date/Time:26-FEB-2026 11:11:54.28
Image Checksum (MD5):05FC1F950BC68A878A27833A79854B06
[SYSEXE]CDU.EXE
Image name:"CDU"
Image file identification:"A01-13"
Image build identification:"XE4H-H4N-000192"
Link identification:"A13-04"
Link Date/Time:21-FEB-2026 06:32:53.41
Image Checksum (MD5):7B23BCC68EF39B87996DC481AE21F923

If installing on V8.4-2L2

[SYSEXE]DCL.EXE
Image name:"DCL"
Image file identification:"X-55"
Image build identification:"XE80-F4N-000192"
Link identification:"A13-04"
Link Date/Time:26-FEB-2026 11:14:16.86
Image Checksum (MD5):AAAE10CD69676B6555EE50B88702E4C4
[SYSEXE]CDU.EXE
Image name:"CDU"
Image file identification:"A01-13"
Image build identification:"XE80-F4N-000192"
Link identification:"A13-04"
Link Date/Time:21-FEB-2026 11:01:15.17
Image Checksum (MD5):80A02F06173D616F5449BD1CDA3215CA

Note

VMS Software, Inc. will only distribute kits in signed form. There is no need for most customers to compare file checksums for security or kit integrity reasons.

However, some sites may require such checking even when using signed kits. The image or file checksums (in MD5 format) are supplied to provide comparisons to the extracted final kit files. To find a file checksum, use:

$ CHECKSUM/ALGORITHM=MD5 filename
$ SHOW SYMBOL CHECKSUM$CHECKSUM

Note

Because a file or image may be replaced by multiple ECO kits over time, a PCSI generation number is used to ensure that the latest version of the file or image is preserved on your system during PRODUCT INSTALL of an ECO kit. Should a particular kit installation discover a newer version of a file or image in place on the system disk, the following message will be displayed:

%PCSI-I-RETAIN, file filename will not be replaced because file from kit has lower generation number

This is a normal occurrence depending on the order of kit installation. The correct version of the file or image will remain on the system after the current kit installation. The %PCSI-I-RETAIN message is informational only and does not indicate a problem.

8. Installation Instructions

8.1. Compressed File

This kit is provided for download within a ZIP archive container file.

The kit files may be extracted on any system with UNZIP and copied to your OpenVMS system, or extracted on your OpenVMS system directly.

Assuming you have created an UNZIP symbol to invoke the UNZIP image, you can invoke UNZIP to unpack the kit on OpenVMS using the command:

$ UNZIP VMS842L2A_DCL-V0400

This will extract the installable PCSI product kit file and its associated signed manifest (_VNC file), used for kit validation during PRODUCT commands.

VSI strongly recommends always using the manifest to validate the kit content during any PRODUCT commands. This will occur automatically if the files are both contained in the same directory.

UNZIP Tool Availability

Most customers likely have already installed a set of ZIP and UNZIP tools on their VSI OpenVMS systems. Should you need these tools, a set of the Info-ZIP freeware ZIP and UNZIP tools for VSI OpenVMS is available for download on the web at this address: https://vmssoftware.com/community/freeware/.

8.2. Installation Command

Install this kit with the POLYCENTER Software Installation Utility by logging into the SYSTEM account and typing the following command at the DCL prompt:

$ PRODUCT INSTALL VMS842L2A_DCL [/SOURCE=location_of_kit]

The kit location may be a tape drive, CD/DVD, or a disk directory that contains the kit. The /SOURCE qualifier is not needed if the PRODUCT INSTALL command is executed from the same directory as the kit location.

This kit requires the use of /RECOVERY_MODE and /SAVE_RECOVERY_DATA and will automatically set them; they do not need to be present on the command line.

The release notes for any kit may be extracted prior to kit installation using the PRODUCT EXTRACT RELEASE_NOTES command.

User-selectable options for installation behavior and scripting are available in this kit, refer to Appendix A, "User-Selectable Control Options and Scripting Considerations" for further details.

Additional help on installing PCSI kits can be found by typing HELP PRODUCT INSTALL at the system prompt.

8.3. Special Installation Instructions

Processes created after installing this kit will pick up the updated images. For interactive processes already logged in, a LOGOUT/LOGIN sequence will be necessary to use these images.

Note

To ensure no exposure to the problem this kit corrects, VSI recommends that you either force all interactive processes to LOGOUT and LOGIN again or reboot the system when convenient.

In a cluster with shared system disk, this same recommendation applies for any system sharing the disk being updated.

If this kit is being installed in a non-clustered environment, the following steps may be ignored. In a VMScluster with a shared system disk, additional steps must be taken so that the other nodes which share the system disk will use the new images.

Execute the following command on each node that is sharing the system disk that has been updated:

$ INSTALL REPLACE SYS$SYSTEM:DCL.EXE
$ INSTALL REPLACE SYS$SYSTEM:CDU.EXE

These same commands should be repeated for other systems sharing the system disk if this ECO kit is removed via a PRODUCT UNDO PATCH operation.

9. Copyright

VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential proprietary software licensed by VMS Software, Inc., and is not authorized to be used, duplicated, or disclosed to anyone without the prior written permission of VMS Software, Inc.

Copyright 2026 VMS Software, Inc.

10. Disclaimer of Warranty and Limitation of Liability

This patch is provided as is, without warranty of any kind. All express or implied conditions, representations, and warranties, including any implied warranty of merchantability, fitness for particular purpose, or non-infringement, are hereby excluded to the extent permitted by applicable law. In no event will VMS Software, Inc. be liable for any lost revenue or profit, or for special, indirect, consequential, incidental or punitive damages, however caused and regardless of the theory of liability, with respect to any patch made available here or to the use of such patch.

11. Patch ID

AXPVMS-VMS842L2A_DCL-V0400--4

Note

The terms "ECO kit" and "patch kit" may be used interchangeably in this document. This also applies for other VSI OpenVMS documentation when describing PCSI kits that provide remedial updates to a particular product.

A. User-Selectable Control Options and Scripting Considerations

A.1. Controlling Kit Behavior for Introductory Questions

This kit provides user-selectable control options for kit dialogue interaction and automated scripting capability as described here in this appendix.

The general form of a VSI OpenVMS ECO kit, when using PRODUCT INSTALL, consists of three initial questions regarding these topics:

  1. System disk backup: A reminder that VSI recommends backing up the system disk before installing updates, followed by a Do you want to continue? YES/NO question, default is YES.

  2. Reboot requirement: A summary of whether the kit being installed requires a system reboot, followed by a Do you want to continue? YES/NO question, default is YES.

  3. Archival of updated files: A description of saving an "_OLD" copy of each image or file updated by the kit, followed by a Do you want to save "_OLD" copies of replaced files? YES/NO question, default is NO.

Other questions may be asked later, depending on the target disk or system environment or other kit-specific requirements.

Note

An initial Do you want to continue? question may be asked directly by the PCSI utility during any PRODUCT command—this has nothing to do with the kit being used. To avoid that question, you must supply sufficient detail to uniquely identify the product you wish to use and specify /OPTIONS=NOCONFIRM on the PRODUCT command.

Control options are available to customize the dialogue for the initial three kit questions. The controls are logical names, which may be defined in the process logical name table with a value of YES or NO.

To modify the behavior of a VSI OpenVMS ECO kit regarding the initial questions, define one or more of the following logical names before issuing the PRODUCT INSTALL command.

  • To skip one or more of the questions, define the corresponding logical name shown here to YES:

    SKIP$BACKUPSkips system backup awareness question.
    SKIP$REBOOTSkips system reboot awareness question.
    SKIP$ARCHIVE_OLDSkips question about saving "_OLD" files. This will take the default, which is NO.
    SKIP$INTROSkips all three of the above questions.
  • To specifically override the default for saving "_OLD" files, define this logical name to YES or NO:

    VSIKIT$ARCHIVE_OLDSets an answer for saving "_OLD" files behavior. This will skip the archive "_OLD" files question regardless of the above SKIP$* logical names.
  • Two additional logical names may be defined as YES to modify the amount of explanatory text displayed for each question:

    VSIKIT$VERBOSEShows all explanatory text for questions.
    VSIKIT$BRIEFSkips some general details in the explanations.

    The default if neither name is defined is VERBOSE. If both names are defined to YES, VERBOSE overrides BRIEF. The BRIEF form is displayed for any questions that are skipped.

For example, to skip all three questions but save an archive "_OLD" copy of each replaced file:

$ DEFINE VSIKIT$ARCHIVE_OLD YES
$ DEFINE SKIP$INTRO YES
$ PRODUCT INSTALL kitname

A.2. Standard Behavior for YES/NO Questions Asked During Kit Installation

Any YES/NO questions asked during kit installation now follow these rules:

  1. Ctrl/Y issued while a question is being asked will force the current PRODUCT operation to terminate. This is completely safe to do while the initial three questions are being asked during PRODUCT INSTALL as no changes have yet been made to the target disk.

  2. Some questions may ignore Ctrl/Y and ask for a specific answer (for example, if aborting the current operation may have side effects for the system). Additionally, note the following:

    • PCSI may trap Ctrl/Y directly for some PRODUCT operations.

    • Ctrl/Y may be disabled during some sensitive kit processing.

  3. The default YES/NO answer is automatically chosen if a kit is installed from a batch job, unless explicitly overridden by a logical name that provides the particular value, such as VSIKIT$ARCHIVE_OLD.

A.3. Installing a Kit From a Batch Job

To install a kit from a batch job, you will need to fully qualify the kit name so PCSI will have enough information to select the kit without asking for confirmation. For example, to install this kit:

$ PRODUCT INSTALL VMS842L2A_DCL/VERSION=4.0/OPTIONS=NOCONFIRM
If the kit is located in a directory other than the current default directory, you will also need to add the qualifier:
/SOURCE=location_of_the_kit

For a batch job, any YES/NO question will automatically select the default answer. Use the control logical names explained above to modify the behavior if necessary. For the system disk backup and reboot questions, the batch behavior is identical to the default. For the save "_OLD" files question, define the VSIKIT$ARCHIVE_OLD logical name to YES if you want to save copies of the files, since the batch default is NO.

A.4. Deprecated Logical Names From HPE ECO Kits

The three names listed below were used by older VSI OpenVMS ECO kits for compatibility with HPE ECO kit behavior. These old names continue to function, but VSI encourages you to modify any scripts you may have to use the new names shown instead:

Old NameNew Name
NO_ASK$BACKUPSKIP$BACKUP
NO_ASK$REBOOTSKIP$REBOOT
ARCHIVE_OLDVSIKIT$ARCHIVE_OLD