XU*8.0*199 (3925)    BUILD (9.6)

Name Value
NAME XU*8.0*199
DATE DISTRIBUTED 2001-09-20 00:00:00
PACKAGE FILE LINK KERNEL
REQUIRED BUILD
  • XU*8.0*112
    ACTION:   Don't install, leave global
  • XU*8.0*175
    ACTION:   Don't install, leave global
TYPE SINGLE PACKAGE
DESCRIPTION OF ENHANCEMENTS
Patch XU*8*199: IOPAR Corrupting Tasks
==============
                              =========
                              
        Want KIDS to INHIBIT LOGONs during the install? YES// YES
        
        No Options or Protocols need to be placed out-of-order.
        Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO
                                                                        ==
      
  8.  After installing this patch,
      Cache Sites - you don't need to move anything, skip this step. 
 
      DSM/MSM sites - you need to move several routines from 
      your production account to each manager account:
      
ZIS
ZIS1
ZISC
ZISUTL
ZTMS2
      
  9.  And in the manager account,  (OpenM sites remain in VAH)
The Text Integration Utility (TIU) has been encountering run away jobs at some 
      All sites:
      DO RELOAD^ZTMGRSET
      Select the System
      Patch number to load: 199
                            ===
       
 10.  DSM Sites, after patch has installed, rebuild your map set.
 11.  Enable user's login.
      Remove TASKMAN from the wait state. (DO RUN^ZTMKU)
 
sites due to the IO variable IOPAR being left behind by an earlier task.  After 
 
=========================================================================
a lot of work by the sites, National Vista Support (NVS), and TIU developers, 
the following pattern has been identified:  Because the IOPAR variable is left
behind by an earlier task, it overrides the normal Open parameter in the DEVICE 
file (#3.5) if either conditions exist:
 
  * When TIU (or any routine making a call %ZTLOAD) queues to a Host File 
================================
    System (HFS) device, they could experience this problem depending on what 
    devices had been used before.
 
  * If TaskMan opens the device for a task which cannot be opened,
    TaskMan reschedules the task incorrectly using that same IOPAR variable, 
    which is still in the symbol table.
 
 
Patch Solution:
===========
 
 
Several places in the code have been fixed to ensure that extra IO variables 
are not left behind after tasks have finished processing. This patch corrects 
the problem that the TIU has come across by changing the routine %ZTMS2 to kill 
the IOPAR variable before setting up the task. The %ZTMS2 routine now kills all 
IO variables before setting up a call to open a device. In addition, any 
special IO variables for that device are killed when the routine %ZISC is 
called to closed the device. 
 
This patch also introduces a new extrinsic function UNIQUE^ZISUTL, which 
Per the patch description below, this patch was intended to correct a problem 
creates a unique IO parameter. This parameter takes the string $H_"-"_$J and 
runs a CRC32 on it to get a 10 digit number.  If UNIQUE^ZISUTL is called using 
a parameter, it will concatenate the number just before the last period (.) in 
the parameter string. Here are some examples on this:
 
   W $$UNIQUE()       >>2987896688
   W $$UNIQUE("last") >>last_9041564
   W $$UNIQUE("$USR:[USER.FORT.EDIT]TEST.TMP")
                >>$USR:[USER.FORT.EDIT]TEST_2603399923.TMP
 
identified in NOIS reports NOIS: NAS-0700-31644, CHA-0700-32007, 
Routine Summary
The following routines are included in this patch.  The second line of each
of these routines now looks like:
 ;;8.0;KERNEL;<patchlist>;JUL 10, 1995
 
                 Checksum
Routine         Old       New      2nd Line
ZIS           9454725   9332342    **18,23,69,112,199**
ZIS1         10540675   9968286    **18,49,69,104,112,199**
ZISC          8004258   8130420    **24,36,49,69,199**
MIW-0201-40662, DAY-0401-41059, and BRX-0501-10502.
ZISUTL        2307058   2825748    **18,24,34,69,118,127,199**
ZTMS2         7001305   7090453    **2,18,23,36,67,118,127,163,167,175,199**
 
List of preceding patches: 112, 175
Sites should use CHECK^XTSUMBLD to verify checksums.
========================================================================= 
Installation:
 
>>>Do not allow users to log in to the system during installation.
>>>Users may remain on the system. They may get EDITED error if they
 
   are selecting a device at the time.
>>>Taskman does need to be in a wait state.
 
  1.  DSM sites - Some of these routines are usually mapped,
      so you will need to disable mapping for the affected routines.
      
  2.  Use the 'INSTALL/CHECK MESSAGE' option on the PackMan menu. This
      option will load the KIDS package onto your system.
      
  3.  The patch has now been loaded into a Transport global on your
 
      system. You now need to use KIDS to install the Transport global.
      On the KIDS menu, under the 'Installation' menu, use the following
      options:
      
         Verify Checksums in Transport Global
         Print Transport Global
         Compare Transport Global to Current System
         Backup a Transport Global
         
 4.  Users could remain on the system. They may get a EDITED error if they
Problem Statement:
     are selecting a device at the time.
     This patch can not be queued.
     Also place TASKMAN in a wait state. (DO WAIT^ZTMKU)
     Inhibit users from login into the system. (If you install when few
     users are on the system and the possibility of some CLOBER errors is
     acceptable, then users can stay on the system.)
      
  5.  In Programmer mode:
      Use "D ^XPDKRN" then
         Install Package(s)  'XU*8.0*199'
TRACK PACKAGE NATIONALLY YES
BUILD COMPONENTS
  • ENTRIES:
    • ZIS
      ACTION:   SEND TO SITE
      CHECKSUM:   B17686016
    • ZIS1
      ACTION:   SEND TO SITE
      CHECKSUM:   B22332345
    • ZTMS2
      ACTION:   SEND TO SITE
      CHECKSUM:   B22775736
    • ZISC
      ACTION:   SEND TO SITE
      CHECKSUM:   B23788053
    • ZISUTL
      ACTION:   SEND TO SITE
      CHECKSUM:   B10165008