| 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'
|