DECset________________________________________ Release Notes for CMS Version V3.9-2 August 1997 These release notes for DIGITAL Code Management System Version 3.9 for DIGITAL OpenVMS VAX and DIGITAL OpenVMS Alpha contain important general information, new and changed features, current restrictions and documentation notes. Operating System and Version: OpenVMS VAX, Versions 6.0 - 7.1 OpenVMS Alpha, Versions 6.1 - 7.1 DECwindows Motif, Versions 1.1 - 1.2 Software Version: DECset for OpenVMS, Version V12.2 Software Version: DIGITAL Code Management System for OpenVMS Systems, Version 3.9 Digital Equipment Corporation Maynard, Massachusetts __________________________________________________________ August 1997 While DIGITAL or EDS believes the information included in this publication is correct as of the date of publication, it is subject to change without notice. Possession, use, or copying of the software described in this publication is authorized only pursuant to a valid written license from DIGITAL, an authorized sublicensor, or the identified licensor. Digital Equipment Corporation or EDS makes no represen- tations that the interconnection of its products in the manner described in this publication will not infringe existing or future patent rights, nor do the descriptions contained in this document imply the granting of licenses to make, use, or sell equipment or software in accordance with the description. © Digital Equipment Corporation 1994, 1997. All rights reserved. © Electronic Data Systems Limited 1995, 1997. The following are trademarks of Digital Equipment Corporation: DEC Ada, DEC BASIC, DEC C, DEC COBOL, DECdocument, DECnet, DEC Pascal, DECset, DECwindows, DIGITAL, DIGITAL Fortran, eXcursion OpenVMS, VAX, VAX BLISS-32, VAXcluster, VAX COBOL, VAX DOCUMENT, and the DIGITAL logo. All other trademarks and registered trademarks are the property of their respective holders. This document was prepared using VAX DOCUMENT, Version 2.1. ________________________________________________________________ Contents Preface.................................................. v 1 General Information 1.1 Introduction.................................... 1-1 1.2 CMS Client for Windows.......................... 1-1 1.3 Installation Requirements....................... 1-1 2 New Features 2.1 Librarywide Defaults for CONCURRENT and KEEP.... 2-1 2.2 SHOW GENERATION /BEFORE or /SINCE............... 2-3 2.3 Full Support for DECnet/OSI Phase V Specifications.................................. 2-5 2.4 Enhancements from Version 3.8................... 2-5 2.4.1 Auto-Create Directory for Create Library ..... 2-6 2.4.2 CMS/LSE Integration .......................... 2-7 2.5 Enhancements from Version 3.7................... 2-8 2.5.1 Small Screen Support ......................... 2-8 3 Problems Fixed 4 Known Problems 4.1 DECwindows Problems............................. 4-7 4.2 Documentation Problems.......................... 4-10 iii 5 Restrictions 6 Reporting Problems and Suggestions Tables 1 Conventions .................................. vi iv ________________________________________________________________ Preface These release notes characterize the Version 3.9 release of DIGITAL Code Management System for DIGITAL OpenVMS systems. These notes contain information that either supplements or supersedes the information in the DECset documentation set. Intended Audience These release notes are intended for any user or system manager who needs information on CMS for the OpenVMS platform. Document Structure These release notes are organized as follows: o Chapter 1 contains general information about this release. o Chapter 2 contains a description of the new features. o Chapter 3 describes all problems resolved by the current release. o Chapter 4 describes all known problems in the current release. o Section 4.2 describes all documentation problems. o Chapter 5 describes all restrictions. o Chapter 6 describes how to report problems. v Associated Documents For more information on CMS, refer to the following documents o DECset OpenVMS VAX V12.2 Software Product Description o DECset OpenVMS Alpha V12.2 Software Product Description o DECset Guide to Detailed Program Design for OpenVMS Systems o Using DECset for VMS Systems o Guide to DEC Code Management System for OpenVMS Systems o DEC Code Management System Reference Manual o DEC Code Management System Callable Routines Reference Manual Sending DIGITAL Your Comments We welcome your comments on these release notes or on any other pieces of documentation. See Chapter 6 for details on how to contact DIGITAL with your comments. Conventions Table 1 lists the conventions used in these notes. Table_1_Conventions_______________________________________ Convention__________Description___________________________ $ A dollar sign ($) represents the OpenVMS DCL system prompt. Ctrl/x The key combination Ctrl/x indicates that you must hold down the key labeled Ctrl while you press another key, for example, Ctrl/Y or Ctrl/Z or a pointing device button. boldface text Boldface text represents the introduction of a new term. (continued on next page) vi Table_1_(Cont.)_Conventions_______________________________ Convention__________Description___________________________ monospace boldface Boldface monospace text represents text user input in interactive examples. italic text Italic text represents book titles, parameters, arguments, and information that can vary in system messages (for example, Internal error number). UPPERCASE Uppercase indicates the name of a command, routine, the name of a file, the name of a file protection code, or the abbreviation of a system privilege. lowercase Lowercase in examples indicates that you are to substitute a word or value ____________________of_your_choice._______________________ vii 1 ________________________________________________________________ General Information The information in these release notes pertain to DIGITAL Code Management System Version 3.9. DIGITAL suggests that you upgrade your environment incrementally with each new release, but there is no technical requirement to do so. It is recommended that you review the release notes for each version because they capture important release- oriented information and advise you of changes between versions. 1.1 Introduction DIGITAL Code Management System Version 3.9 is a mainte- nance release. 1.2 CMS Client for Windows DIGITAL CMS Client for Windows provides access from a desktop PC to CMS libraries residing on DIGITAL OpenVMS systems. DIGITAL CMS Client for Windows is a separate product which communicates with CMS via a server. At this time, the Server ships as part of the Client kit. Additional information on DIGITAL CMS Client for Windows can be found on the DIGITAL OpenVMS WEB pages: http://www.openvms.digital.com/commercial 1.3 Installation Requirements For a new installation of CMS the following is required: General Information 1-1 OpenVMS Alpha Systems Global Pages 3500 Global Sections 10 Disk Blocks 23000 OpenVMS VAX Systems Global Pages 1500 Global Sections 15 Disk Blocks 10000 1-2 General Information 2 ________________________________________________________________ New Features The following enhancements were added to DIGITAL Code Management System Version 3.9. 2.1 Librarywide Defaults for CONCURRENT and KEEP The /[NO]CONCURRENT and /[NO]KEEP qualifiers have been added to the CREATE LIBRARY and MODIFY LIBRARY commands to allow users to establish the default attributes(s) for elements in the library. The /[NO]CONCURRENT qualifier specifies whether new elements created in this library can have multiple reservations. This qualifier does not affect any current elements for that library. The /[NO]KEEP qualifier controls whether CMS, by default, deletes all versions of a file used to create a new element or replace a generation. For the DECwindows interface, Concurrent and Keep buttons have been added to the New Library and Modify Library dialog boxes. The new calling sequence for CMS$CREATE_LIBRARY is as follows: New Features 2-1 CMS$CREATE_LIBRARY (library_data_block, directory, [remark], [reference_copy_dir], [msg_routine], [confirm_routine], [output_routine], [width], [position], [positional_dir_spec], [auto_create], [concurrent], [reserved], [keep]) Argument . . . concurrent Type: longword_signed Access: read Mechanism: by reference Specifies a flag indicating the access to the elements. By default, the flag is set to 1, and CMS allows concurrent reservations of the elements. Set the concurrent flag to 0 to prohibit concurrent reservations. keep Type: longword_signed Access: read Mechanism: by reference Specifies a flag that prevents CMS from deleting copies of the input file after the element is created. By default, the flag is set to 0, indicating that CMS should delete all the copies of the file in your default directory (or the area indicated by the input_file argument) after creating the new element. Set the flag to 1 to prevent CMS from deleting the copies of the input file. 2-2 New Features The new calling sequence for CMS$MODIFY_LIBRARY is as follows: CMS$MODIFY_LIBRARY (library_data_block, [remark], [reference_copy_dir], [msg_routine], [concurrent], [reserved], [keep]) Argument . . . concurrent Type: longword_signed Access: read Mechanism: by reference Specifies a flag indicating the access to the elements. By default, the flag is set to 1, and CMS allows concurrent reservations of the elements. Set the concurrent flag to 0 to prohibit concurrent reservations. keep Type: longword_signed Access: read Mechanism: by reference Specifies a flag that prevents CMS from deleting copies of the input file after the element is created. By default, the flag is set to 0, indicating that CMS should delete all the copies of the file in your default directory (or the area indicated by the input_file argument) after creating the new element. Set the flag to 1 to prevent CMS from deleting the copies of the input file. 2.2 SHOW GENERATION /BEFORE or /SINCE The /BEFORE and /SINCE qualifiers have been added to the SHOW GENERATION command. These qualifiers allow the user to display information about the element generations in a CMS library before and/or since specified dates. New Features 2-3 The complete syntax for specifying these qualifiers follows: /BEFORE=date-time /SINCE=date-time Where "date-time" is an OpenVMS date and time. For more information on specifying an OpenVMS date and time, see the OpenVMS User's Manual. If the /SINCE qualifier is specified without a value, CMS defaults to /SINCE=TODAY. For the DECwindows interface, the dialog box that appears from the Restrict... pull-down menu in the element view dialog box has been modified to allow before and since date-time fields to be specified. Two new optional arguments have been added to the CMS$SHOW_GENERATION argument list. The new calling sequence for CMS$SHOW_GENERATION is as follows: CMS$SHOW_GENERATION (library_data_block, [output_routine], [user_arg], [element_expression], [generation_expression], [from_generation_expression], [ancestors], [descendants], [member_list], [msg_routine], [before], [since]) 2-4 New Features Argument . . . before Type: date_time Access: read Mechanism: by reference Specifies the quadword date and time value that CMS uses to select generation information for output. CMS outputs information about element generations that occurred before the specified date and time. This value must be specified in the absolute time value format. If a date and time value of 0 is specified, CMS outputs a list of element generations up to the present date and time. since Type: date_time Access: read Mechanism: by reference Specifies the quadword date and time value that CMS uses to select generation information for output. CMS outputs information about element generations that occurred after the specified date and time. This value must be specified in the absolute time value format. If a date and time value of 0 is specified, CMS outputs a list of element generations after the present date and time. 2.3 Full Support for DECnet/OSI Phase V Specifications CMS fully supports DECnet/OSI Phase V file and node specifications. Note, however, that CMS still does not allow network access of CMS libraries. 2.4 Enhancements from Version 3.8 The following enhancements were added in DIGITAL Code Management System Version 3.8. New Features 2-5 2.4.1 Auto-Create Directory for Create Library The /CREATE_DIRECTORY qualifier is added to the CREATE LIBRARY command to allow the user to force the creation of a library by causing the directory to be created automatically if it does not exist. The /CREATE_DIRECTORY qualifier is optionally placed after the LIBRARY keyword in the CREATE LIBRARY command in order to force the creation of the specified directory if that directory does not exist. An appropriate error message is displayed if the directory cannot be created. In the DECwindows version, a toggle button in the New Library dialog box mimics the behavior of the /CREATE_ DIRECTORY qualifier. If the button is toggled to the ON position, the directory will be automatically created if it does not exist; the button is in the OFF position by default. An optional argument has been added to the end of the calling sequence for the CMS callable routine CMS$CREATE_ LIBRARY. If the optional argument is not present, existing calls to CMS$CREATE_LIBRARY will continue to function as before. The new calling sequence for CMS$CREATE_LIBRARY is as follows: CMS$CREATE_LIBRARY (library_data_block, directory, [remark], [reference_copy_dir], [msg_routine], [confirm_routine], [output_routine], [width], [position], [positional_dir_spec], [auto_create]) Argument 2-6 New Features auto_create Type: longword_aligned Access: read Mechanism: by reference Specifies a flag that directs CMS to automatically create the library directory. If the flag is set to 1, CMS automatically creates the library directory. If the flag is set to 0, CMS will not automatically create the library directory. 2.4.2 CMS/LSE Integration CMS is integrated with LSE to provide source code management. From within LSE, commands are entered that direct how to obtain a CMS element. For example, from within LSE a source file may be retrieved from the CMS library, edited in an LSE buffer, and returned to the library. CMS/LSE integration facilitates the flow of source code between CMS and LSE. This is implemented by performing CMS operations on the contents of LSE edit buffers. Information that is retrieved from CMS is put into LSE edit buffers, and information that is put into CMS is retrieved from LSE edit buffers. This capability is provided from CMS via a DECwindows menu interface. CMS/LSE integration allows the user to do the following: - Create an element in the CMS library via the CMS graphical user interface from the contents of the current LSE buffer. - Fetch a generation of an element from the CMS library via the CMS graphical user interface into an LSE buffer. - Reserve an element in the CMS library via the CMS graphical user interface into an LSE buffer. - Replace element into the CMS library via the CMS graphical user interface from an LSE buffer. - Perform CMS differences between two generations of elements via the CMS graphical user interface, putting the results into an LSE buffer. New Features 2-7 2.5 Enhancements from Version 3.7 The following enhancement was added in DIGITAL Code Management System Version 3.7. 2.5.1 Small Screen Support The DECwindows interface to CMS has been modified to use X/Motif resource files to specify default values for DECwindows resources. These resources include text fonts, main window sizes, and other X/Motif window resources. Using a resource file allows the DECwindows interface to be customized for various video displays. An example of this is when using eXcursion to display the DECwindows interface to CMS on a PC. Sometimes the PC screen is not large enough to display totally all the windows for the CMS DECwindows interface. In this case, the sizes of the windows and the fonts used by CMS can be modified by specifying new values for the resources in the X/Motif resource file. The resource file modified for CMS is CMS$DW_DEFAULTS.DAT. This file is installed in the directory DECW$SYSTEM_ DEFAULTS. A user can override the resource file in the DECW$SYSTEM_DEFAULTS directory by creating a local copy of the resource file in the directory DECW$USER_DEFAULTS. This local copy can then be modified to tailor the DECwindows interface to the user's requirements. Refer to the resource file for a list of the various resources that can be modified for CMS. 2-8 New Features 3 ________________________________________________________________ Problems Fixed The following bugs were fixed and restrictions were removed in CMS Version 3.9: o Bug 68 - A CMS library's subdirectories are no longer accepted as a valid default directory. o Bug 74 - Alpha LIB-F-BADBLOADR, bad block address. The problems CMS on Alpha OpenVMS had fetching and reserving index files have been resolved. o Bug 82 - Alpha, REPLACE/IF_CHANGED may fail if element has the history attribute set. The problem which caused the REPLACE/IF_CHANGED command to fail to unreserve an unmodified element on Alpha OpenVMS has been fixed. o Bug 83 - CMS-E-NOCONRES, element !AS!AS is reserved with NOCONCURRENT access. CMS no longer returns the spurious error message when an attempt is made to reserve a nonconcurrent element that has an outstanding reservation. Problems Fixed 3-1 4 ________________________________________________________________ Known Problems The following known problems exist for CMS Version 3.9: o Bug 11 - CMS-E-BADREF, reference copy for element. Using a reference copy directory with the /HISTORY and /REFERENCE attributes set on a particular type of file will cause CMS to think the reference copy file is bad and ask if the file should be recreated. After recreating the file, CMS confirms that the reference copy file has been repaired, but a subsequent verify shows the reference copy file to still be bad. The only workaround is either to set the /NOHISTORY attribute or set the /NOREFERENCE attribute. o Bug 14 - CMS differences on VFC files shows incorrect line numbers. An attempt to perform a comparison of two VFC files using the DIFFERENCES command can generate incorrect line numbering in the differences output. As the files are different, a difference file is created, but the line numbers in the difference file are not correct. Instead of the correct line number, the line number is 36097/1. The problem only occurs with VFC files. o Bug 15 - CMS reports a bogus conflict during variant merge. In certain circumstances, where there are a large number of generations and deleted lines in a relatively small region of a large CMS element file, the comparison algorithm fails to correctly track the deletion information in the element during merges. This can cause attempts to merge a variant (gen 28p1) and the main line of descent (gen 31) with a common ancestor (gen 28) via FETCH/MERGE or RESERVE/MERGE Known Problems 4-1 to result in a bogus first conflict. The lines in the conflict do not match the lines that are different. o Bug 23 - DIFFERENCES/SENTINEL on identical files can find differences. CMS DIFFERENCES can find two files identical. However, with the /SENTINEL switch, CMS may start to report differences. o Bug 25 - CMS merges incorrectly. Deleted lines may not stay deleted in a merge operation. o Bug 26 - MERGE is inconsistent in finding conflicts. MERGE may produce different results depending on the order new generations or variants are inserted into the CMS library. For example, the same second generation and variant are placed into a CMS library but in different orders. In one case, the files merge; in another case they only merge with conflicts. o Bug 34 - Problem with FETCH/GENERATION=no *.* and ACLs. Errors may be reported while fetching a class containing some elements that are protected by CMS ACLs. For example, where one of the elements has a CMS ACL that states that the user has no access to the element and another element has no ACL, the class is fetched with no privileges turned on. The one element is fetched as expected, but CMS attempts to fetch the other element and the following errors occur: %CMS-E-NOFETCH, error fetching element DISK:[DIR]BOGUS.DAT -CMS-E-NOACCESS, no FETCH access to element BOGUS.DAT When BYPASS privilege is turned on, the errors do not occur. o Bug 40 - RMS-E-ISI errors performing wildcard CREATE ELEMENT with mixed files. Wildcarded CREATE ELEMENT commands can fail if non- DDIF files follow DDIF files. The following errors are produced: 4-2 Known Problems %RMS-E-ISI, invalid internal stream identifier (ISI) value -RMS-E-EXTNOTFOU, RMS Extension not found %CMS-F-BUG, there is something wrong with CMS ... -CMS-F-SYSFAIL, LIB$FREE_VM system service request failed -LIB-F-BADBLOSIZ, bad block size DDIF files later in the list will be created without errors. The only known workaround is to avoid a wildcard CREATE of non-DDIF files after DDIF files. o Bug 53 - REMOVE GENERATION/IF_CHANGED returns the wrong status. If REMOVE GENERATION/IF_CHANGED is used to remove a generation that does not exist from a class, the status %X10000000 is returned rather than CMS$_NORMAL. o Bug 54 - Merge conflict record delimiters are too long. Conflict record delimiters are now 512 characters long. o Bug 60 - Review state altered after REPLACE/IF_CHANGED on unchanged elements. The review state of element generations is incorrectly altered after a REPLACE/IF_CHANGED of an unmodified element. o Bug 61 - FETCH/MERGE/NONOTES does not remove notes. If a CMS element has the notes attribute set, doing a FETCH/MERGE on that element with /NONOTES does not remove the notes string. o Bug 63 - DIFFERENCE/OUTPUT=directory-spec fails to parse the file name. The CMS DIFFERENCE/OUTPUT=directory-specification does not default the output file's name correctly. o Bug 66 - CMS$DIFFERENCES may fail if element is not in first search listed library. If an attempt is made to use CMS differences to compare a file with an element contained in a CMS library that is not the first in a library search list, CMS will report an error for any earlier libraries in the list before performing the comparison. Known Problems 4-3 o Bug 70 - Merging main-line generation into variant produces different result: CMS> FETCH element-name/GENERATION=2x1/MERGE=3 "" In relatively rare cases merging a main-line generation into a variant will produce an invalid and different result from merging the same variant into the same main-line generation: CMS> FETCH element-name/GENERATION=3/MERGE=2x1 "" When particular lines have been removed in the main-line generation, in a variant of an earlier generation, and then in an unrelated variant of the common ancestor's (generation 2 for the previous example), but not in the common ancestor, the lines are incorrectly included in the merged result when the main-line generation is merged into the variant. *3D <--- deleted in main-line generation *1V1D <--- deleted in an earlier variant *2V1D <--- deleted in unrelated variant of ancestor the deleted line *2V1E <--- delete is the ONLY change (i.e. no inserts) *1V1E *3E When the variant is merged into the main-line generation, or the generations are created in different order then the lines remain deleted. *3D <--- deleted in main-line generation *2V1D <--- deleted in unrelated variant of ancestor *1V1D <--- deleted in an earlier variant the deleted line *1V1E *2V1E <--- delete is the ONLY change (i.e. no inserts) *3E The problem can be avoided by always merging the variant in the main-line generation. For example: CMS> FETCH element-name/GENERATION=3/MERGE=2x1 "" Or: CMS> FETCH element-name/MERGE=2x1 "" o Bug 71 - A plus in the /FORMAT string confuses CMS. 4-4 Known Problems CMS gets confused if the /FORMAT string contains a plus sign "+". $ CMS SHOW ELEMENT *.* /FORMAT="$ cms diff #e/gen=1 #e" - _$ /OUTPUT=differ.com ! Works $ CMS SHOW ELEMENT *.* /FORMAT="$ cms diff #e/gen=1+ #e" - _$ /OUTPUT=differ.com ! Fails %CMS-E-ERRPAREXP, error parsing element expression -CMS-E-ILLCHAR, illegal character in group name o Bug 72 - /FORMAT splits long lines. CMS splits long output lines. For example: $ CMS SHOW ELEMENT *.* /OUTPUT=sys$scratch:x.tmp - _$ /FORMAT="$ IF F$SEARCH(""#e"") .NES. """" THEN - _$ CMS DIFFERENCE #e/GEN='p1 #e" If the library contains elements with long names, the output lines for these files can also be split by CMS. o Bug 73 - CMS subsystem quietly ignores lines starting with an at sign "@". The CMS subsystem quietly ignores lines starting with "@". For example: $ CMS CMS> @x.x CMS> o Bug 79 - A plus sign "+" in a /SINCE date-time string may confuse CMS. CMS may report an unrecognized keyword error in the /TRANSACTIONS qualifier of the SHOW HISTORY command if a "+" is used after the date-time string of the /SINCE or /BEFORE qualifier. For example: CMS> SHOW HISTORY - _CMS> /TRANSACTIONS=(CREATE)/BEFORE="15-AUG-1996 + 00:00:00" %CLI-W-IVKEYW, unrecognized keyword - check validity ... \(CREATE)\ Although the problem only occurs when the /TRANSACTIONS keywords are specified within parentheses, it is triggered by the "+" in the date-time string. Known Problems 4-5 The problem can be avoided by removing the plus from the date-time string: CMS> SHOW HISTORY - _CMS> /TRANSACTIONS=(CREATE)/BEFORE="15-AUG-1996 00:00:00" o Bug 84 - Attempts to delete a reserved element cause the reference copy to be removed. If an attempt is made to delete an element that is currently reserved, an error is correctly reported but the reference copy of the element will be removed from the reference directory: $ CMS DELETE ELEMENT element.name "" Delete element ELEMENT.NAME? [Y/N] (N): y %CMS-E-NODELETE, error deleting element ...ELEMENT.NAME -CMS-E-ISRESERVED, a generation of this element is reserved %CMS-E-ERRDELETIONS, 0 deletions completed and 1 error ... When this problem occurs, use: CMS> VERIFY/REPAIR element.name o When a group and an element have almost the same name, for example group FOO and element FOO.BAR, the command CMS SHOW HISTORY F*.BAR will not resolve the wildcard correctly. The command will show the history for both the group and element. o CMS$FETCH_OPEN, the callable routine that begins a line-by-line fetch transaction, cannot be used with a library search list. The directory argument cannot not contain wildcard characters, cannot be a comma separated list of directory specifications, and cannot be a search list logical name. o If the remark field of the CMS MODIFY GENERATION command contains the exclamation point character "! ", CMS generates the following message: %CMS-F-BUG, there is something wrong with CMS ... -CMS-F-SYSFAIL, $FAOL system service request failed -SYSTEM-F-BADPARAM, bad parameter value 4-6 Known Problems o If CMS is unable to delete the input file after a CREATE ELEMENT or REPLACE operation, no message will be issued to inform the user of the problem. The element is created or replaced without the file being deleted. o When using the SET ACL/DELETE command to delete a list of ACEs from an ACL, the operation will terminate if it encounters an identifier that does not exist on the system. The correct behavior is to continue the operation with the remaining ACEs specified. o Certain syntax errors are not detected by the command parser in the SET ACL and SHOW ACL commands. This may result in the repetitious display of the illegal syntax error message for each object specified for the operation. o Certain qualifiers that should only accept parameters in their non-negated form are also accepting them in their negated form, and the qualifier is then treated as if it were not negated. For example, the qualifier /NOHISTORY="#H" should be disallowed, but is being treated as /HISTORY="#H". o As an example, trying to Fetch the elements denoted by: "a.a,,b.b" will result in elements A.A and B.B being fetched, followed by a caution box stating: "Error fetching element a.a,,b.b Group not found." 4.1 DECwindows Problems o Bug 19 - The DECwindows interface ignores accelerator keys. The DECwindows accelerator keys Ctrl/O (open), Ctrl/C (close view) and Ctrl/E (exit) have no affect in the DECwindows interface. o Bug 35 - DECwindows CREATE ELEMENT claims work in progress when it is not. Known Problems 4-7 Under certain circumstances, the CMS DECwindows CREATE ELEMENT function will pop up an erroneous work-in- progress box. It can be ignored. o Bug 50 - DECwindows element view with search-listed libraries incorrectly causes all the elements in subsequent libraries to be displayed. o Bug 51 - DECwindows element view can cause a problem with the vertical scroll bar. When an element view expands beyond the confines of the window, for example after expanding all the details of on a library (View - Expand - All), the vertical scroll fails to function. o Bug 55 - Error fetching element in DECwindows class view. When attempting to fetch an element from the class view in the DECwindows interface, the element is not fetched, and the error "Error fetching element " occurs. o Bug 57 - Elements fetched from CMS should not always be placed in LSE buffer. If a DECwindows LSE is accessible, all CMS elements fetched or reserved from the CMS DECwindows interface are placed into buffers in the LSE session. o Bug 58 - LSE error is reported when groups are fetched with CMS DECwindows. If a DECwindows LSE is accessible, any attempts to fetch or reserve groups (or classes) using the CMS DECwindows interface will cause LSE to report a file not found error. o Bug 76 - DECwindows and filespecs greater than 255 characters. The DECwindows interface may produce strange results if the user inputs a filespec that is greater than 255 characters. DECwindows does not check the size and blindly passes this on to the low-level routines, which blindly moves the size into a byte field before processing. Thus, a 256-character filespec, is exactly like providing none. 4-8 Known Problems o In the case of virtual memory being exhausted when updating the contents of a CMS View, if the view is iconified, an access violation will occur when CMS attempts to bring up a caution box. If the view is not iconified, after acknowledging the box, the cursor will remain in a "watch" shape and attempting to bring up a dialog box can result in an access violation. The problem can be avoided through the use of the Customize Restrict functionality. For example, by default RESTRICT HISTORY will display only the previous 30 days' history. o In order for a "push" of the Cancel Operation button to be detected, DECwindows events must be processed and once a call has been made to the CMS Callable interface, this won't occur until CMS emits a message for any reason. If message logging has been customized to None, the Cancel Operation button may not be recognized until after the operation has been completed. o Modify Library has a text widget to hold a library name. The library name is not written into this field. o A maximum of 65,536 characters can be copied from a CMS view to the DECwindows Clipboard. o Some informational messages resulting from opening or closing libraries will appear on the terminal where the CMS DECwindows interface was invoked rather than in the output window. This also occurs when manipulating a reserved element or an element under review. o When the CANCEL button is selected to cancel the CLOSE LIBRARY action, the action is not aborted and the library is closed. o When VIEW RESERVATIONS is selected and the user double- clicks on a particular reservation, then selects CONCURRENT REPLACEMENTS, VIEW, EXPAND, ALL - an incorrect error message is reported. Known Problems 4-9 4.2 Documentation Problems The following known problems exist in the CMS Version 3.9 documentation: o Bug 45 - Remark "'/'str1'='str2'+'" not allowed. If a remark of the form "/str1=str2+" is used, the plus sign (+) must be preceded by an additional double quote. The correct syntax for the preceding example is "/str1=str2"+". o Bug 59 - CMS$_NOCHANGES missing from CMS$REPLACE list of return codes. The informational return code CMS$_NOCHANGES is missing from the list of return codes for the CMS$REPLACE callable interface routine. o Bug 65 - CMS COPY ELEMENT online help is misleading about history. History file information is not copied to a new element (or library). The history being referred to in the help text is the generation history. o Bug 69 - Appendix B CMS Library storage method example and explanation is incorrect. The example of how CMS stores an element in a delta file is incorrect: The following example shows a file in a CMS library: . . . (1,2,3) APPLES The correct explanation follows: 4-10 Known Problems APPLES BANANAS CHERRIES *2D POOCHES *2E *2I *3D PAUNCHES *3E *3I PEACHES *3E *2E ELDERBERRIES The explanation contains details on what the two types of record grouped in begin-end pairs mean. For example: 1. *xD lines of source *xE All the lines between *xD and *xE were removed in generation x. 2. *xI lines of source *xE All the lines between *xI and *xE were inserted in generation x. o Bug 80 - /REVISION_TIME should be in the callable documentation. The /REVISION_TIME switch available in CREATE LIBRARY and MODIFY LIBRARY is also available to the callable interface. However, this is not covered in the documentation. See DEC Code Management System Callable Routines Reference Manual. o The severity of CMS success summary messages may be different from the documented value of SUCCESS to INFORMATIONAL. Known Problems 4-11 5 ________________________________________________________________ Restrictions The following restrictions apply to CMS Version 3.9: o Rarely, when using CMS, the following error is encountered: %CMS-F-BUG, there is something wrong with CMS ... -CMS-F-NOMAP, Cannot map the appropriate control structure -CMS-F-TEXT, dynamic buffer space exhausted. Reenter CMS. This error is caused by a design limitation in CMS. Under extreme conditions, CMS does not have enough buffer space allocated to complete an operation and it cannot deallocate the exhausted buffer and reallocate it again. This error should only occur when using the COPY ELEMENT command, and only for attempts to copy elements with hundreds of generations (typically more than 500-600). This problem has nothing to do with the number of elements being copied, it only depends on the number of generations within any particular element. If the problem is encountered, the primary workaround is to reduce the number of generations in the element that caused the error. Typically, elements with this many generations have been automatically created or altered, and in many cases, the generation history isn't uniformly interesting. Judicious use of DELETE GENERATION could get the number of generations down to a manageable number. o When using CMS library reference copies, certain file system related messages, such as RMS-F-DEV or RMS-E- PRV, may refer to the reference copy directory. The CMS messages do not make this explicit in some cases. When such problems are encountered, check the protections on reference copy. Restrictions 5-1 o Using VERIFY/RECOVER on a library that does not need recovery, fails with an error diagnostic, RECNOTNEC, stating that the library does not need recovery: $ CMS VERIFY/RECOVER %CMS-E-NORECOVER, error recovering library -CMS-E-RECNOTNEC, recovery is not necessary; the library is in a safe state o Use of CMS/LSE integration features. To use the CMS/LSE integration features, introduced in CMS V3.8, LSE V4.3 is required. If a lower version of LSE is used, the CMS/LSE integration features will not be available. No other features are effected by using a version of LSE prior to V4.3. o The following restrictions apply to the CMS DIFFERENCES command when used with a CMS library search list. If both file_1 and file_2 are element generation specifications, then both of the elements must reside in the same library of the library search list. CMS DIFFERENCES will emit CMS-E-NOFETCH (or other messages returned by CMS$FETCH_OPEN) if it cannot locate a specified element generation. In a library search list, this may occur if one or both of the specified elements do not exist in the first library. These messages will be issued for each library of the library search list in which the element is not found. The exact sequence of such messages depends on the values of the /OCCLUDE qualifier. In such cases, a CMS-E-NOFETCH message may be followed by a CMS-S- IDENTICAL or CMS-W-DIFFERENT message. These messages indicates the actual status of the operation, whereas the intervening CMS-E-NOFETCH messages are a side- effect of the library search list traversal. The same considerations apply to the callable routine CMS$DIFFERENCES. CMS$DIFFERENCES uses the callable fetch routines CMS$FETCH_OPEN, CMS$FETCH_GET, and CMS$FETCH_CLOSE. Conditions may be signaled from these routines during the operation of CMS$DIFFERENCES. 5-2 Restrictions o The DECwindows Options.Save_Options feature overwrites the current CMS resource data file in the DECW$USER_ DEFAULTS directory. If a version of the CMS resource data has been placed in this directory for customizing the interface for eXcursion small screen support, it will be overwritten if this option is used. The customized values will not be copied into the new version of the resource data file and will no longer have any effect on the CMS DECwindows interface. o There have been several reports that CMS is corrupting source files via the use of the /NOTES qualifier. This occurs because CMS is strictly syntax driven when /NOTES is involved. During a CMS Replace, it will look at any information contained at the end of each line and remove this information if it looks like a valid notes field. (A notes field is parsed as a "left part" followed by a generation number followed by a "right part".) A notes field NOT containing any "left part" or "right part" contextual information and containing only a generation number field (most examples supplied with the reports specified that they used the /NOTES="#G" form) is especially vulnerable since the format of the generation number is, for many of its valid forms, exactly the same format as a numeric constant which commonly may show up at the end of a line in most programming languages. CMS does not (and probably cannot, in general) keep track of which specific lines it placed notes on. Thus when CMS replaces a file back into an element, it scans all input lines for notes information to be removed. The problem of remembering which lines had notes placed on them seems simple until you remember that the files have probably been edited so that the original context is relatively hard to recover except for the simplest cases. Even trying to depend on the /POSITION qualifier value to determine the "validity" of a particular string as a note is not trustworthy. Restrictions 5-3 To avoid this problem, take full advantage of the complexity allowed in the notes string syntax and define the notes string to have a form that would be very unlikely to be encountered using your normal coding styles. For example: /NOTES="/*--#G--*/" This syntax would probably be acceptable to a C programmer whose coding style did not typically include the "-" prefix and "-" suffix in comments. A side note: One of the COBOL examples received demonstrates this problem in a more subtle fashion. Specifically, when an element is reserved using /NONOTES, a subsequent REPLACE does not remember that it was reserved using /NONOTES and thus tries to remove the notes it finds (thus corrupting the file for the example received). The unfortunate part of this problem is that if we modify REPLACE to honor the state of the notes qualifier as reserved and NOT try to remove the notes from the file for this case, we now have a time bomb. The next time a RESERVE and REPLACE of the element is done WITH notes, the information will then likely be stripped off. In summary, when using /NOTES be careful when picking the notes prototype string to avoid colliding with otherwise legal syntax in the language being used. o CMS does not perform correctly when run from a detached process where no CLI present. Errors like LIB-F-NOCLI will occur. o Callable CMS allows a command string to contain a maximum of 256 characters, where interactive CMS allows a maximum of 1024 characters. The workaround is to provide an input routine and use the continuation line when the library is set up. o CMS libraries cannot be in 8th-level directories, since the first CREATE ELEMENT attempt will be unable to create a subdirectory. CREATE LIBRARY will detect this condition and signal an error. 5-4 Restrictions o The history line sent to the CMS event handler and seen in notification messages will contain the letter 'W' after the transaction time field if the transaction resulted from a wildcard operation. This information should be suppressed, as it is by the SHOW HISTORY command. o CMS V2 attempts to operate on a CMS Version 3 library, despite having incompatible formats. This may result in a corrupted Version 3 library. Note that this problem does not exist for libraries created by or converted to Version 3.5-5 or later. Restrictions 5-5 6 ________________________________________________________________ Reporting Problems and Suggestions Depending on the nature of the request or problem, customers can call DIGITAL provided their software contract and warranty entitles them to telephone support. Review the SPD and Warranty Addendum for an explanation of warranty. If a problem is encountered during the warranty period, customers can report the problem using DSNlink. In the United States, customers can call the DIGITAL Customer Support Center at 1-800-354-9000. In addition, DIGITAL provides access to Web Information and Support (WIS), an Internet-based electronic services application that allows customers to submit electronic service requests, access databases, download patch kits, transfer files from DIGITAL, and connect to global notes conferences via the World Wide Web. Dial-In Access (DIA) users can access WIS by: 1. Opening http://www.service.digital.com/wis. 2. Choosing a country code. 3. Entering DIA Access ID and password. WIS and DIA use the same underlying account and directory on the DIGITAL Customer Support Center host system. Customers can register for DIA and receive a WIS account by contacting their Customer Support Center or local DIGITAL representative. This method can also be used to make requests for additional features or modifications to existing features. Reporting Problems and Suggestions 6-1 When submitting a request, please include the following information: 1. CMS version number and type of OpenVMS operating system. 2. Problem summary. 3. Stack dumps or error logs (if applicable). 4. Files in machine-readable media: magnetic tape (preferred), floppy diskette, or tape cassette. 6-2 Reporting Problems and Suggestions