MUP NUMBER: DSMAXPMUPC066 ----------- PRODUCT: DSM for OpenVMS -------- UPDATED PRODUCT: DSM for OpenVMS 6.6C ---------------- APPRX BLCK SIZE: 69000 ---------------- Read Before Installing Version 6.6C of DSM for OpenVMS VAX and Alpha IS-DSMLC-VM This document describes the distribution kits for the following software: o Version 6.6C of DSM for OpenVMS VAX[TM] o Version 6.6C of DSM for OpenVMS Alpha[TM] It also provides product information that supplements the DSM for OpenVMS Release Notes. This document has three attachments: o Attachment A, "Installing the DSM 6.6C kit," describes how to install this MUP kit. o Attachment B, "Additional Product Information," provides prod- uct information you need to know to use DSM. o Attachment C, "ECO Descriptions," is a list of problems fixed in Versions 6.6A, 6.6B and 6.6C. Version Compatibility Version 6.6C of DSM for OpenVMS is a maintenance update (MUP) to Version 6.6B. Version 6.6C is compatible with DSM[TM] applications written under previous versions of DSM for OpenVMS[TM]. You need to be using OpenVMS VAX Version 6.1, Version 6.2, Version 7.0 or Version 7.1 to install and run Version 6.6C of DSM for OpenVMS VAX. You need to be using OpenVMS Alpha Version 6.1, Version 6.2, Version 7.0 or Version 7.1 to install and run Version 6.6C of DSM for OpenVMS Alpha. Distribution DSM is distributed by both InterSystems Corporation and Digi- tal Equipment Corporation. InterSystems distributes DSM software on the following media for both DSM for OpenVMS VAX and DSM for OpenVMS Alpha: o 9-track magnetic tape o TLZ06[TM] o TK50[TM] tape cartridge Digital Equipment Corporation distributes DSM software on the following media: o DSM for OpenVMS VAX: - 9-track magnetic tape - TLZ06[TM] - TK50[TM] tape cartridge - CD-ROM o DSM for OpenVMS Alpha: - CD-ROM DSM supports the OpenVMS License Management Facility (LMF), that allows licensed users access to DSM. If you are a first-time DSM customer, the DSM distribution kit also includes a Product Autho- rization Key (PAK). The information contained in your PAK must be registered using LMF. For additional information, see the DSM In- stallation and Management Guide and the OpenVMS System Manager's Manual. If you are upgrading from a previous release of DSM, see the DSM for OpenVMS Release Notes for information about LMF. Installation Information If you are installing DSM software for the first time, read Chap- ter 1 of the DSM for OpenVMS Installation and Management Guide. This chapter describes the installation procedure in detail. If you are upgrading from a previous release of DSM, you must upgrade your existing configurations and volume sets. After you complete your software installation, the upgrade procedure will load Version 6.6C manager utilities and globals. You must create new mapped routine files, and reinitialize the journal files. If you are upgrading from Version 6.6, 6.6A or 6.6B, you do not need to recompile your application routines. If you are upgrading from a version of DSM prior to 6.6 you must recompile your application routines. A copy of the DSM for OpenVMS Release Notes is distributed in printed form and on line as a file with the DSM distribution kit. You can obtain a copy of these release notes when you install DSM by using the "OPTIONS N" parameter with the VMSINSTAL procedure. For example: $ @SYS$UPDATE:VMSINSTAL DSM OPTIONS N If you are using CD-ROM media, you can obtain a copy of the re- lease notes using the CDMENU Utility. After installation, the DSM for OpenVMS Release Notes is available in SYS$HELP:DSM066.RELEASE_ NOTES, and a copy of this cover letter and attachments is avail- able in the file SYS$HELP:DSM066C.COVER_LETTER. Thank you for purchasing DSM for OpenVMS. The DSM Product Group 2 © InterSystems Corporation. 1997 3 Attachment A - Installing the DSM Version 6.6C Kit The following sections contain information about installing the DSM kit. Installing DSM for the First Time If you are installing DSM software for the first time, read Chap- ter 1 of the DSM for OpenVMS Installation and Management Guide. That chapter describes the installation procedure in detail. Take the following steps to install the DSM Version 6.6C MUP kit: 1. Back up your system. 2. Install the MUP kit. Run the SYS$UPDATE:VMSINSTAL procedure. On an OpenVMS VAX system, specify DSMVAXMUPC066 as the product name. On an OpenVMS Alpha system, specify DSMAXPMUPC066 as the product name. 3. If you do not run the IVP during VMSINSTAL, install the DSM for OpenVMS images as shared using the SYS$STARTUP:DSM$INSTALL.COM procedure. Postinstallation Activities: 1. Use the SYS$MANAGER:DSM$INIT.COM procedure to create a DSM for OpenVMS environment manager's account. 2. Edit the OpenVMS system files to provide for automatic startup and shutdown of DSM for OpenVMS configurations when your system is rebooted. 3. Log in to the DSM for OpenVMS environment manager's account and run the SYS$MANAGER:DSM$CONFIGURE.COM procedure to initialize DSM for OpenVMS database volume sets and configurations. Upgrading From a Previous Version of DSM If you are upgrading from a previous release of DSM you must up- grade your existing configurations and volume sets. Read the DSM for OpenVMS Release Notes in addition to the following informa- tion. Take the following steps to upgrade from a previous version of DSM to DSM for OpenVMS Version 6.6C: 1. Shut down all running DSM for OpenVMS configurations. 2. Back up your system. 3. Install the MUP kit. Run the SYS$UPDATE:VMSINSTAL procedure. On an OpenVMS VAX system, specify DSMVAXMUPC066 as the product name. On an OpenVMS Alpha system, specify DSMAXPMUPC066 as the product name. 4 4. If you do not run the IVP during VMSINSTAL, install the DSM for OpenVMS images as shared using the SYS$STARTUP:DSM$INSTALL.COM procedure. Postinstallation Activities: 1. Use the SYS$MANAGER:DSM$INIT.COM procedure from a privileged OpenVMS system account to upgrade DSM for OpenVMS manager ac- counts to DSM for OpenVMS Version 6.6C environment manager accounts. 2. Log in to the DSM for OpenVMS environment manager's account and run the SYS$MANAGER:DSM$UPGRADE.COM procedure. If you are upgrading from Version 6.6, 6.6A or 6.6B, you do not need to recompile your application routines. If you are upgrading from a ver- sion of DSM prior to 6.6 you must recompile your application routines. DSM$UPGRADE optionally reinitializes before-image and after-image journal files and optionally upgrades mapped routine sets. You can also use ^BIJINIT, ^JRNINIT, and ^RM- BLD to reinitialize your journal files and rebuild your mapped routines at a later time. 3. Edit the OpenVMS system files to provide for automatic startup and shutdown of DSM for OpenVMS configurations when your system is rebooted. 4. If you are using DDP, reboot your OpenVMS system to reload the DDP driver. 5. Start up the upgraded configurations. Alternate Root Installation If you are installing DSM in an alternate root, read Appendix A of the DSM Installation and Management Guide. It describes the alternate root installation in detail. Do the following to install the DSM Version 6.6C MUP kit: 1. Log in to the system account. 2. Shut down all running DSM configurations. In a VMScluster envi- ronment, shut down configurations running on each node. 3. Extract the DSM$ALTROOT_INSTALL.COM procedure from the kit saveset. On an OpenVMS VAX system, use the following command: $ BACKUP/LOG kit_device:DSMVAXMUPC066.B/SAVE/SELECT=DSM$ALTROOT_INSTALL.COM; * On an OpenVMS Alpha system, use the following command: $ BACKUP/LOG kit_device:DSMAXPMUPC066.B/SAVE/SELECT=DSM$ALTROOT_INSTALL.COM; * Where kit_device is the distribution tape, CD-ROM, or disk where the DSM MUP kit is located. 4. Use the DSM$ALTROOT_INSTALL.COM procedure to create the alter- nate root directories and install the DSM software distribution kit. 5 5. Use the DSM$ALTROOT.COM procedure to create and initialize a DSM environment manager's account for the new alternate root. 6. Use the DSM$ALTROOT.COM procedure to initialize the group logi- cal name search lists for all users within the GROUP. 7. Log in to the new manager account and use the SYS$MANAGER:DSM$CONFIGURE.COM procedure to create volume sets and to define new configura- tions. 8. Edit system startup files to initialize alternate root instal- lation on system reboot. 6 Attachment B - Additional Product Information The following sections contain additional information about doc- umentation and functionality that is not included in the DSM Re- lease Notes. Version 7.0 of DSM for OpenVMS[TM] InterSystems Corporation is pleased to announce that Version 7.0 of DSM for OpenVMS is scheduled for release in Q4, 1997. Please contact your InterSystems' Sales Representative directly for fur- ther information. Documentation Notes and Corrections This section contains notes about and corrections to the DSM docu- mentation set. o The DSM for OpenVMS Programmer's Guide left out the description of the %SETUCI utility. The following is the missing descrip- tion of this utility: %SETUCI Changes your default UCI and volume set. If you omit the flag argument, then DSM changes the UCI and volume set for both globals and routines. If you do not specify the volume set name (VOL), DSM uses the volume set S0. You can control access to this external routine by enabling configuration access control using the ^CONFIG Utility. Format: SET X=$&ZLIB.%SETUCI(UCI,{VOL},{flag}) UCI New UCI name VOL New volume set name flag G = change UCI and VOL for globals R = change UCI and VOL for routines o Chapter 9 of the DSM for OpenVMS Database Operations Guide contains a typographical error. Please replace every occurrence of the word "rambles" in Chapter 9 with the word "re-enables." Additional Technical Information This section contains notes about DSM technical changes. o DSM for OpenVMS has implemented the following behavior for handling year dates: DSM %CDATNUM external call will interpret that all year dates entered as two-digit numeric values refer to a year within the century in which the value is entered. For example, when you enter a year date of "99" before Dec 31, 1999 at 11:59:59, DSM will interpret that year date as 1999. When you enter a year 7 date of "99" after Dec 31, 1999 at 11:59:59, DSM will interpret that year date as 2099. In other words %CDATNUM will assume the current century when it processes a two-digit year date. Starting with V7.0, DSM will offer a more comprehensive ap- proach to Year 2000 issues. Process and configuration-wide settings will be available to arbitrate the use of two-digit year dates in a consistent manner for the %CDATNUM and %CDATASC external calls and the $ZDATE function. To achieve that con- sistency the default %CDATNUM behavior will be changed in DSM V7.0. In that release, in the absence of any process or configuration-wide settings, %CDATNUM will assume the 20th cen- tury when it processes a two-digit year date. Therefore please plan accordingly. o DSM Version 6.6C now supports the use of null extended- reference values for UCI and VOL. Normally an extended ref- erence to a global overrides any translations you have already implemented. However, when you use null values for UCI and VOL you cancel the override. Consider the following example. Suppose a translation table en- try exists for global ^GLONAME that translates all references from ["LIB","ONE"] to ["BIL","TWO"]. The following code seg- ment, executed from ["LIB","ONE"], uses an extended reference to set a value for ^GLONAME in UCI "AAA" and volume set "THR." Thus, this extended reference overrides the translation: S UCI="AAA" S VOL="THR" S ^[UCI,VOL]GLONAME=2 The following code segment, also executed in ["LIB","ONE"], uses a null extended reference to set a value for ^GLONAME in UCI "BIL" and volume set "TWO." Because the extended reference is null, DSM uses the defined translation S UCI="" S VOL="" S ^[UCI,VOL]GLONAME=2 You will find this feature especially useful if your appli- cations were originally written using extended references, but you now want to take advantage of translations tables and subscript range mapping. o A partial remedy for the BIJ file overflow issue was included in Version 6.6 of DSM for OpenVMS. Version 6.6B of DSM for OpenVMS includes a more complete solution to the problem (doc- umented as ECO 5 in Attachment C) that greatly decreases the likelihood of a BIJ file overflow. This solution does not pre- clude the environment system manager's responsibility to size the BIJ file properly, according to the information previ- ously published about sizing files. Version 6.6C of DSM has been enhanced so that in the event that a BIJ file full condi- tion is about to occur the configuration will automatically be shutdown. 8 o The default /MANAGER symbol table size has been increased to 220000 in DSM Version 6.6C. In previous releases of Version 6.6 a possible DSM-E-ALLOC error could result at startup when mounting more than 20 volume sets. o To resolve the issue documented as ECO 6 in Attachment C, security auditing now allows users to disable auditing for non-journaled globals. To do so, run ^CONFIG and answer the following prompts: Modify security audit name definition [Y OR N] ? Y . . . Disable security auditing for non-journaled globals [Y OR N] ? Y o In an attempt to prevent DSM environment managers from dis- mounting a database set while that set is being dejournaled, Version 6.6 of DSM for OpenVMS inadvertently removed the abil- ity of running concurrent processes to dejournal separate vol- ume sets (as documented in ECO 7). This condition has been corrected in Version 6.6B. Dejournaling to separate volume sets can once again run concurrently. The ability to mount and dismount database sets has given DSM environment managers greater flexibility over the maintenance of their DSM configurations. Along with that flexibility comes the responsibility to: o Properly manage the environment o Keep track of the state of any given database set before attempting to perform certain maintenance functions on that database. For example, attempts to dismount a database set while it is being dejournaled will bring about unexpected results. o For backwards compatibility, the $ZV special variable again reports the string "VAX DSM." (See ECO 15 in Attachment C for a description of the original issue.) o TCP/IP OPEN Command Enhancement DSM I/O over TCP/IP has been enhanced in Version 6.6C to sup- port a new keyword for the OPEN command. The new TCP/IP OPEN command syntax enables the source TCP client running DSM to start up target TCP server automatically at remote node speci- fying a UCX device rather than a port. For a DSM process to function as a target TCP server, the fol- lowing OPEN command syntax is used: OPEN DEVICE:TCPDEV{:BLOCKSIZE=n}{:timeout} 9 where: DEVICE A VMS logical name (ex. SYS$NET) that trans- lates to an UCX device name. TCPDEV The new keyword that must be supplied as shown. BLOCKSIZE=n A parameter that lets you set the I/O buffer size for the TCP/IP device. If you do not specify BLOCKSIZE=n, DSM uses 512 as the de- fault. timeout A timeout value. When the connection request from a TCP client arrives, the UCX-provided service can create a VMS detached server process running a user-written M program with the above OPEN command on the target node. The use of the OPEN DEVICE:TCPDEV command on the target node has the effect to start data communication directly on a socket that is passed to the logical name SYS$NET by the UCX-provided service. Server Node Steps Take the following steps to run such a TCP client-server appli- cation on the target server node: 1. Use the UCX SET SERVICE and ENABLE SERVICE commands to cre- ate a TCP/IP service on the target node. You must have the OpenVMS OPER and SYSPRV privileges to issue the UCX com- mands. For more information on UCX commands and UCX ser- vices, see the Management Guide for DEC TCP/IP Services for OpenVMS, published by Digital Equipment Corporation. For example: UCX> SET SERVICE service/FILE=DSM$USER:DSMTCPSRV.COM - /PORT=port_number - /PROCESS_NAME=DSM_TCP_accnt - /USER_NAME=dsm_user_accnt - /LIMIT=n UCX> ENABLE SERVICE service where: service the service name port_number the port number (between 5000 and 65535). DSM_TCP_accnt the default process name that the server uses during link initia- tion. This value must be unique for each service defined. dsm_user_accnt The OpenVMS user name of the DSM user account. 10 n The maximum number of remote nodes that can access your local node. 2. Create the DCL command procedure specified in your UCX SET SERVICE command. For example: $ TYPE DSMTCPSRV.COM $ DSM/MAN ^TCPSRV 3. Create the DSM program that is used to run the TCP server process. For example: > ZL TCPSRV > ZP TCPSRV ; This is a sample program S DEV="SYS$NET" O DEV:TCPDEV:20 E W !,"Can't get device ",DEV,! Q U DEV S N=1 ; LOOP R X:60 E S ^TEST(0)="TIMEOUT" C DEV Q S ^TEST(N)=X S N=N+1 G LOOP Client Node Steps When the TCP client on the source node issues a TCP connection request, the command procedure and DSM program on the target node will be executed automatically to create a TCP server process. For example: > O 6000:(TCPCHAN:ADDRESS="192.9.201.32") 11 Attachment C - ECO Descriptions The following table describes DSM ECOs. ___________________________________________________________________ ECO____DSM_Problem_Description_____________________________________ DSM Version 6.6A-020 1 If a multiple-volume-set TP set is mounted in non- contiguous slots (for example: S2 and S4), the AIJ con- trol for the volume sets after the "gap" are not correctly associated with the preceding TP volume set. 2 The recovery process can loop in HIB status in the event of a cluster state transition due to another node going down, while the database set is dismounted. This only occurs when the database set has been dismounted from the master node and the node attempting to perform a recovery is not capable of being master. 3 If you use a global reference with a $D value of 10 as the first argument of $GET and you supply a second argument, $GET always ignores the second argument and returns null. >k ABC S ABC("TEST")="TEST" W $G(ABC,1) 1 >k ^ABC S ^ABC("TEST")="TEST" W $G(^ABC,1) 4 If you issue the following command with a reference to a volume set in a different DSM environment you get a DSM-E- NOSUCHVOLSET error, even though you can see the global with ^%G and $D (that is, the DDP connection to the volume set is working properly). W $ZS(^["UCI","VOL"]GLOBAL) 5 A possible BIJ FULL error may occur if a volume set has a large number of blocks allocated for globals. The routine used to search the global directory for top level dele- tions, creations, and modifications would perform before- image journaling on each of the blocks it scanned while searching for the block that contained the global's data. DSM for OpenVMS Version 6.6 logs an error to DSMCRASH.LOG indicating the BIJ file overflow. 6 Security auditing cannot be turned off for non-journaled globals. 7 Starting with DSM for OpenVMS Version 6.6, you can no longer run concurrent processes to dejournal. 8 If a "user open call" routine is defined, an inadvertent attempt to close a previously-closed journal file may hang the process. 12 ___________________________________________________________________ ECO____DSM_Problem_Description_____________________________________ 9 You may get a GDT allocation error because of corruption in free memory chain when smaller sized segments are al- located from an existing larger segment; for example: if a volume set containing x number of globals is dismounted and another volume set with x-n globals is mounted in the same slot. 10 %ERRCHK fails to report a warning for using SET $FIND and SET $EXTRACT as described in the following extract from help text: The ^%ERRCHK Utility has been modified to detect occurrences of SET $EXTRACT and SET $FIND in your application. The utility prints a warning for each SET $EXTRACT occurrence when the /EXTENSION=SETFUNCTION command line qualifier is in force. However, it always prints a warning for each occurrence of SET $FIND. 11 Modifying the "ALTERNATE" field in the database description for mounting using an alternate name does not work. 12 A user can get an when accessing the top level node of a global right after creating the global causes . JRNTEST4>K ^X S ^X(1)=0,^X=9,^Y(0)=9 S ^Y(0)=^Y(0)_^X %DSM-E-UNDEF, undefined variable ^X 13 With a multi-volume transaction processing database set, you can experience a process hang when writing to the AIJ file. The problem is caused when the TP monitor, DSM_JRNL, attempts to write to the AIJ for a non-base (any volume set that is not first) TP volume set from the timer AST routine. 14 DSM reports an erroneous DDP error message when dismounting a database set. 15 The $ZV string no longer reports "VAX DSM." 16 If you try to display the current line of a % routine be- ing executed in a non "MGR" UCI, from any non "MGR" UCI, it fails with "(cannot display routine line -source is unavailable)". 17 Under certain conditions, a process may go into a COM 0 state while running ^%JOB on another process. For example, suppose ^%JOB is run for a process that defined a large symbol by a process that has not defined a symbol table of the same size or larger. If the process running ^%JOB tries to load the symbol table of the first process, that process goes into a COM 0 state. 13 ___________________________________________________________________ ECO____DSM_Problem_Description_____________________________________ 18 Under OpenVMS Alpha V6.2 only: The %BASEDIT Ecall sub- function 32 (convert lower to uppercase) does not work correctly for certain German characters. 19 Errors occur in the ^CONTR utility in the following situa- tions: o When using the wildcard as the last entry in a subscript range list. o When an entry being inserted has more subscripts than the entry that follows. 20 In prior versions of DSM, TP database sets could not be mounted as read-only. DSM Version 6.6B-033 21 Starting in DSM for OpenVMS V6.5, the interpreter will hang if more than 64 different local variables are used as an XECUTE command argument. The following reproduces the problem: >f i=1:1:65 s x(i)="Q" >f i=1:1:65 x x(i) 22 Starting in DSM for OpenVMS V6.4 an access violation will occur if the DSM debugger is used to debug an applica- tion that has more than a combined total of 15 extrinsic function and direct mode frames on the M call stack. 23 Starting in DSM for OpenVMS V6.4, the DSM interpreter started checking for maximum indirection nesting level to avoid infinite indirection recursion. However, DSM errantly counted any indirection which results in a call stack level change as an indirection nesting level. The following rou- tine, which uses one level of indirection in a DO command argument, demonstrates the problem: DOTEST S LABEL="A" D @LABEL Q A W !,"At call stack level ",$ST Q:$ST>70 D @LABEL Q 24 Starting in DSM V6.5 for OpenVMS a %DSM-E-SYSERR error occurs if you make a $TEXT reference to a local line label after the routine buffer has been cleared by the ZREMOVE command. The following demonstrates the problem: >ZR >W $T(AAA) 14 ___________________________________________________________________ ECO____DSM_Problem_Description_____________________________________ 25 Several problems with journaling routines have been corrected: o A was inadvertently inserted in the error mes- sage printed to the OPCOM in the ^USROPN routine. o $$PUTLIST^JRNLIB can return erroneous status value rather than the appropriate messages ERRACC, NOTJRN, or OTHRVS. o A syntax error has been corrected which caused the fol- lowing error: %DSM-E-ZJOBRPYERR, Error from JOB process %DSM-E-SYNTAX, DSM command line syntax error 26 An APPLICATION volume set turns into SYSTEM volume set after running ^LABEL to change the label name. This occurs after the volume set had been dismounted with ^DISMOUNT and can prevent the volume set from being re-mounted. 27 When doing a $O (both forward and reverse) from a remote node (DDP) through a global, defined as a Subscript Range translated to multiple volume sets, it is possible to error with a message, such as: %DSM-E-STRLEN, string too long 28 If you run ^DISMOUNT to do a cluster-wide dismount of a database set, the dismount will hang if the database set is already off-line on the local node and still cluster- mounted on any other node in the DSM cluster. 29 Starting with DSM V6.6A, for those still using ZJRNOPN, the new journal file may not open automatically. OPENFIL^JRNL will need to be run for the system to continue journaling. 15 ___________________________________________________________________ ECO____DSM_Problem_Description_____________________________________ 30 Starting in V6.5, DSM implemented a new memory management scheme that required a new object code sequence for an ar- gumented QUIT command. However DSM failed to update the object code sequence for the implicit argumented QUIT en- coded at the end of a $ETRAP error handler. The result is is an access violation when a $ETRAP error handler without a GOTO is invoked in an extrinsic function context. The following demonstrates the problem: test() S $ET="W !,$ZE" Q 1/0 >W $$test test+1:1, %DSM-E-NUMBER, Attempt to perform division by zero, -DSM-I-ECODE, MUMPS error code: M9 ********************************* Fatal Error ***************************** etc... A workaround is to include an argumented QUIT in the $ETRAP value. For example: test() S $ET="W !,$ZE Q:$Q """" Q" 31 When an invalid watchpoint is set into the $ZWATCH special variable with the ZDEBUG switch on, DSM for OpenVMS gener- ates a %DSM-E-ILLWATCH error for every command typed in at the programmer mode prompt. It is then necessary to type Y or use ^FORCEX to exit the DSM process. 32 The JRNLIB routine can produce 2 duplicate error codes: NOFIL and NOFILE. However, $$ERROR^JRNLIB only contained the NOFIL error code. NOFILE has now been added to the error code descriptions. 33 DSM improperly allocates memory for a parameter passed to an M routine or function when the parameter is a local or special variable string value that is longer than 2044 characters. The result is unpredictable, but an access violation or a %DSM-E-ALLOC error is typical. This problem originates with DSM V6.5 for OpenVMS when DSM extended the maximum local data string length from 2040 to 32767. Enter DSM with /LOCAL_DATA_SIZE=2045 and type the following to reproduce the problem: >S $P(A,"Z",2046)="" >W $$F^%HD(A) DSM Version 6.6C-053 16 ___________________________________________________________________ ECO____DSM_Problem_Description_____________________________________ 34 Mapped routine sections were not properly deleted during dismount phase of shutdown. 35 Help text modified to remove a reference to a non-existent external call (%LOWCASE) 36 ^%SY, ^FORCEX and ^%JOB could fail if for some reason a DSM process was created without a process name. 37 A check to skip a journal write when the file was flagged as full prevented the TP commit/abort code from being exe- cuted. 38 The following error could occur when displaying installed mapped routine sets (MAPSET^RMSHO) if support for mountable databases was included in the configuration definition; %DSM-E-ZCERROR, error returned from external routine, - DSM-E-NOSUCHVOLSET, Volume set not found %DSM-I-ATLABEL, ONEUCI+2^RMSHO:1 39 In cases where a prior call was made to %BASEDIT and con- tained a longer string, the leading space/tab edit would not return the appropriate string. 40 PMF will not schedule sessions for a time and date in the future. 41 A binning error in RTHIST caused events to be recorded in the wrong bin of the histogram. 42 A roundoff error in RTHIST caused the reporting time for all responses to be 25/10000 of a second too small on the average for each event reported. 43 Starting in DSM for OpenVMS V6.5, there is a small pos- sibility that the interpreter could hang if you XECUTE a string contained in a local variable and the XECUTE per- forms a GOTO to a routine that KILLs the local variable. 44 The LOCK table display utility (^LOCKTAB) has been en- hanced. The internal LOCK ID storage table used for the $GETLKI system service call has been increased from 16Kb to 128Kb. This enhancement allows full LOCK table display for very large systems with hundreds of processes running. 45 A long-standing restriction of ten pointer and data block levels in a volume set has been changed. The GLS$BLTAB array now supports access to 31 levels. 46 For global translation, UCI,VOL entries to translate LOCKs did not work correctly. The LOCKs were instead translated to the "READ" UCI,VOL. 47 The %GBR routine now allows remote specified input files. 48 In certain cases, the global vector was not being prop- erly initialized with the volume set name and number when mounting a TP volume set. 49 The ^FIX utility has been modified to improve the display and manipulation of global nodes for globals with string lengths from 256 to 512 characters. 17 ___________________________________________________________________ ECO____DSM_Problem_Description_____________________________________ 50 DSM for OpenVMS Alpha only: In previous releases of DSM for OpenVMS AXP, DSM returned 16 digits of precision for external call data with the DOUBLE data type in order to maintain compatibility with DSM for OpenVMS VAX. However, since the underlying D_floating type is supported by system software on AXP platforms and by hardware on VAX platforms, results using the DOUBLE data type may still differ on these platforms. The following demonstrates the problem: $&ZLIB.%MAX(9.1,9.2), returns 9.2 on VAX platforms but returns $&ZLIB.%MAX(9.1,9.2), returns 9.199999999999999 on AXP platforms. This system software rounding problem can be avoided by working with 15 digits of precision. Therefore, DSM V6.6C for OpenVMS AXP returns 15 digits of precision for external call data with the DOUBLE data type. 51 Starting in V6.5, DSM errantly allocates extra memory when creating a local variable that has between 4 and 7 char- acters in its name. For each such local variable name DSM allocates 16 bytes of symbol table memory beyond what it really needs. Please note that starting in V6.5, DSM legitimately needs more memory than in previous releases when creating a local variable with 8 characters in its name. Local symbol table memory consumption will increase by 16 bytes for each 8 character local variable name that your application uses. Therefore your application may require a larger symbol table size to avoid memory allocation failure (%DSM-E- ALLOC) errors. 52 Starting in V6.6 there was a change in GETUCI%VOLDEF so that it called ^VOLABEL instead of using the numeric offset to find the UCI table. This has been changed back to the previous behavior as GETUCI^%VOLDEF could not be called from outside of the MGR UCI. 53 The TCP/IP READ command in DSM V6.6B can not process more than 512 bytes of data. The QIO buffer size for a single TCP/IP READ operation is restricted to a maximum of 512 bytes. It is not adjustable with the BLOCKSIZE parameter. _______This_limitation_has_been_corrected_in_DSM_V6.6C.____________ 18 Copyright Digital Equipment Corporation 1998. All Rights reserved. This software is proprietary to and embodies the confidential technology of Digital Equipment Corporation. Possession, use, or copying of this software and media is authorized only pursuant to a valid written license from Digital or an authorized sublicensor.