============================================================================= Run Date: JAN 23, 2001 Designation: HL*1.6*70 Package : HL - HEALTH LEVEL SEVEN Priority: Mandatory Version : 1.6 SEQ #60 Status: Released ============================================================================= Subject: New HLSEVEN.COM file for AXP/DSM sites Category: - Informational Description: ============ This patch addresses the following issues: 1. HIN-1000-42056 HLCIRN Listener not working properly NOTE: For AXP/VMS DSM SITES only. HLSEVEN has uncovered a VMS TCP/IP problem regarding DSM not being able to open a BG device for use. This problem is related to multi-processor CPU systems (i.e. ES40, 4100) with more than one CPU. It is not VMS or UCX (TCPIP) version specific, as we have identified the problem on systems running VMS 6.2-1H3 to VMS 7.2.1 and also UCX version 4.2 ECO 3 as well as TCPIP version 5.0A. A condition can occur where the server site will fail to open the BGnnnn: device and the HLSEVEN.LOG will report the following errors: %DSM-F-OPENERR, error opening device or file -DSM-E-ERRCODE, Error Code = 0 -SYSTEM-F-BADPARAM, bad parameter value VistA uses two types of "listen services , HLSEVEN and XMINETMM. Tests have shown that the XMINETMM service is also prone to the same symptoms as seen by the HLSEVEN service. These tests were run on the FORUM system and have produced retries during heavy activity periods. Therefore, the AXP, HLSEVEN and Mailman teams have agreed to jointly release the following Alert and Informational patches. AXP Alert*117 HL*1.6*70 XM*7.1*165 The following is an excerpt from Compaq Engineering acknowledging our findings and their description of the problem. ******************************************************************** Compaq Engineering thinks the problem here is a race between the INETACP, which has just created the process via $CREPRC(), and the process just created. The INETACP doesn't relinquish its ownership of the BG device for the accepted connection (which it passes in SYS$NET process logical) until sometime after $CREPRC() returns success status. If the process gets to run first it may have trouble assigning this BG momentarily. This situation only occurs for listen services; nolisten services (like FTP) are handled very differently. ********************************************************************* Although this problem has been acknowledged, Compaq is reluctant to issue a patch to the current version of TCPIP V5.0 due to its complexity. They have agreed to provide a fix in a future release. This future release should be TCPIP Services for VMS version 5.1, due sometime later this year (2001). As an interim "work-around solution, new HLSEVEN.COM and XMINET_ALPHA.COM command procedures have been written to compensate for this "race condition . HLSEVEN.COM Descriptions This command procedure have been edited to check the status of the BG device prior to entering DSM. They contain two IF-THEN-ELSE statements. The first is a loop to count to 10. The command procedures will terminate after 10 tries to gain access to the BG device. The second is a loop to test the bit mask status [stat=f$getdvi("''x'","STS")] of the BG device. It was found that with a bit mask value of 65552, DSM could not open the BG device but a bit mask value of 16 allowed DSM to open the BG device. If the bit mask value is not equal to 16, then the command procedures will wait one second and try again. Typical log file entries: Note - New log files will not be generated if the HLSEVEN.LOG file version number has reached 32767. To generate new log files, delete all HLSEVEN.LOG files and new ones will be generated starting with version 1. Please also note that empty log files may be normal. If the current log file for the latest connection is still open and the connection is still active, the file will be empty and nothing will be displayed. Very busy HLSEVEN service may see this and they can also generate failure to purge error messages. Keeping more log files in the purge statement in the command procedures can avoid purge error messages - adjust accordingly. Successful connection with no retries $type hlseven.log $!HLSEVEN.COM-for incoming connect requests $!------------------------------------------------------------- $ set noon !Don't stop $ set noverify !change as needed Opening _BG8534: _BG8534: is now ready for use - entering DSM HLSEVEN job terminated at 2-NOV-2000 07:55:38.44 $ Unsuccessful connection after maximum retries $type hlseven.log $!HLSEVEN.COM-for incoming connect requests $!------------------------------------------------------------- $ set noon !Don't stop $ set noverify !change as needed Opening _BG8215: 1> _BG8215: not ready! 2> _BG8215: not ready! 3> _BG8215: not ready! 4> _BG8215: not ready! 5> _BG8215: not ready! 6> _BG8215: not ready! 7> _BG8215: not ready! 8> _BG8215: not ready! 9> _BG8215: not ready! 10> _BG8215: not ready! Could not open _BG8215: - exiting HLSEVEN job terminated at 2-NOV-2000 07:50:40.84 $ A successful connection after 2 retries $type hlseven.log $!HLSEVEN.COM-for incoming connect requests $!------------------------------------------------------------- $ set noon !Don't stop $ set noverify !change as needed Opening _BG8215: 1> _BG8215: not ready! 2> _BG8215: not ready! _BG8215: is now ready for use - entering DSM HLSEVEN job terminated at 2-NOV-2000 07:50:40.84 $ List of Test Sites: =================== San Francisco VAMC Boston VAMC Hines VAMC Denver VAMC Bay Pines VAMC Routine Summary: ================ No routines in this patch. Installation Instructions: ========================== The HLSEVEN.COM command procedure is included below, and can be copied & pasted into a VMS file directly from this message. Alternatively, the HLSEVEN.COM file (HL71_6P70.COM) will be available for downloading from the [.SOFTWARE] directory at the following ftp sites: Hines 152.129.1.110 Albany 152.127.1.5 Salt Lake City 152.131.2.1 Disable the UCX HLSEVEN service $ UCX DISABLE SERVICE HLSEVEN (UCX Version 4.2) or $ TCPIP DISABLE SERVICE HLSEVEN (TCPIP Version 5.0A) Using either method, place this new HLSEVEN.COM procedure in the SYS$LOGIN directory of the HLSEVEN user. Be sure to edit accordingly. Copy and Paste Method: $ SET DEFAULT USER$:[HLSEVEN] or equivalent of the HLSEVEN user. Copy file from below into your Windows buffer by highlighting the entire text of the HLSEVEN.COM file below. $ CREATE HLSEVEN.COM Paste the contents of your windows buffer and use CTRL Z to close file. Then edit HLSEVEN.COM to reflect your correct ien from your previous version of HLSEVEN.COM file or from file 870 in VistA. Using FTP Method: To retrieve from [.SOFTWARE] directories listed above: $FTP 152.127.1.5 220 ISC1A2.ISC-ALBANY.MED.VA.GOV FTP Server (Version 5.0) Ready. Connected to 152.127.1.5. Name (152.127.1.5:dsmmgr): ANONYMOUS 331 Guest login OK, send ident as password. Password: 230 Guest login OK, access restrictions apply. FTP> SET DEF [.SOFTWARE] 250-CWD command successful. 250 New default directory is VA4$:[ANONYMOUS.SOFTWARE] FTP> ascii 200 TYPE set to ASCII. FTP> get HL71_6P70.COM HLSEVEN.COM 200 PORT command successful. 150 Opening data connection for VA4$:[ANONYMOUS.SOFTWARE]HL71_6P70.COM; (152.127.1.6,3281) 226 Transfer complete. local: SYS$:[DSMMGR]HLSEVEN.COM;1 remote: HL71_6P19.COM 144638 bytes received in 00:00:00.04 seconds (3284.83 Kbytes/s) FTP> EXIT 221 Goodbye. $ Edit HLSEVEN.COM to reflect your correct ien from your previous version of HLSEVEN.COM file or from file 870 in VistA. $ COPY HLSEVEN.COM USER$:[HLSEVEN] or equivalent of the HLSEVEN user. Before enabling the HLSEVEN service, be sure to check the file ownership and protection. Enable the UCX HLSEVEN service $ UCX ENABLE SERVICE HLSEVEN (UCX Version 4.2) or $ TCPIP ENABLE SERVICE HLSEVEN (TCPIP Version 5.0A) Please note that Mailman puts a leading space before the "$" of each DCL command line in the HLSEVEN.COM file as documented. If you choose to cut and paste the file from this message, you will need to edit it to remove the spaces before enabling the HLSEVEN service. *** Cut here *** $!HLSEVEN.COM - for incoming connect requests $!------------------------------------------------------------- $ set noon !Don't stop $ set noverify !change as needed $! set verify !change as needed $ purge/keep=5 sys$login:*.log !Purge log files only $ set proc/priv=(share) !Required for MBX device $ x=f$trnlnm("sys$net") !This is our MBX device $! $ write sys$output "Opening "+x !This can be viewed in the log file $! Check status of the BG device before going to DSM $ cnt=0 $ CHECK: $ stat=f$getdvi("''x'","STS") $ if cnt .eq. 10 $ then $ write sys$output "Could not open ''x' - exiting" $ goto EXIT $ else $ if stat .ne. 16 $ then $ cnt=cnt+1 $ write sys$output "''cnt'> ''x' not ready!" $ wait 00:00:01 !Wait one second to assure connection $ goto CHECK $ else $ write sys$output "''x' is now ready for use - entering DSM" $!------------------------------------------------------------- $! **Be sure this command line is correct for your system $! **and if access control is enabled, that this account has $! **access to this uci,vol & routine. The number 999 should be replaced $! **with the internal entry number in file 870 for this Logical Link $! $ dsm/env=dsmmgr/uci=vah/vol=rou/data="''x'^999" EN^HLCSTCP $!------------------------------------------------------------- $ endif $ endif $ EXIT: $ logout/brief *** end cut here *** IMPORTANT!!! IMPORTANT!!! IMPORTANT!!! This HLESEVEN.COM file is a generic file to be used and EDITED by all VMS/DSM sites. Please refer to the comment lines in the command procedure. THIS COMMAND PROCEDURE WILL NOT WORK AS DISTRIBUTED, IT MUST BE EDITED FIRST TO REFLECT YOUR SITES IEN (INTERNAL ENTRY NUMBER) IN FILE 870 FOR THIS LOGICAL LINK. Routine Information: ==================== ============================================================================= User Information: Entered By : CHAN,ALAN Date Entered : NOV 16, 2000 Completed By: MURPHY,MINAO J. Date Completed: JAN 23, 2001 Released By : SINGH,GURBIR Date Released : JAN 23, 2001 ============================================================================= Packman Mail Message: ===================== No routines included