R09-02.3 SCRs are:
21821.0 - Attempting to use CTD stream mode with a device configured on a IOP will cause a 102 crash.
21822.0 - Unexpected I/O complete trap on command function to a contig file on mirror disks.
21825.0 - SPOOLER faults when all physical printers are deleted and re-added.
21827.0 - BACKUP keeps asking for additional disks for a disk to disk backup.
21829.0 - SPOOLER becomes processor bound on APU.
21831.0 - FORM-ERR on REMOVE .SEG,segment name command.
21833.0 - The ERROR report utility displays dates in the form JAN/ 3/ 0 instead of JAN/03/00.
21835.0 - The ARCHIVE=ALL option of BACKUP not deleting all files after Jan 1 2000.
21837.0 - FASTBACK fails restore to a disk greater than 4 GB.
21839.0 - FASTBACK stalls on restore from DAT DDS-3 on 3210 system.
================================================================================
================================================================================
218210
Software Problem:
----------------
Attempting to use CTD stream mode in ones user application with a
device configured on a IOP will cause a 102 crash.
Software Resolution:
-------------------
The CTD driver has code that functions as a preamble to the LFC
ISR (line frequency clock interrupt service routing) to monitor
the write queue within the user application. This ISR attempted
to schedule an ESR for each CTD device which data is present on
the user applications write queue. The ADDSQ macro was used to
do this, which works if the CTD device exists on the CPU, but
will cause a 102 crash if the CTD device is on a IOP.
To schedule the required ESR on the IOP, one must do the following:
1) First schedule a ESR on the CPU from the LFC ISR on the CPU.
2) From the ESR on the CPU schedule an ESR on each IOP in the system.
3) From the ESR on the IOP schedule the stream mode ESR for each CTD
device on the given IOP with data in the applications write queue.
When the CTD driver needs to add a trap to the users task for a
device on a IOP the driver can not use the macro ADDTTSKQ which
calls the routine TMATQ1N. This routine is nonreentrant (NS state)
and can only be executed by the CPU. Therefore the CTD driver
executing on a IOP must send a QCB to the CPU requesting the CPU
to add the trap to the users task queue.
As an additional correction all references to the SPT were change
from using the structure to extern's.
Along with this SCR 21821 one must also include SCR 21819.
return to index
================================================================================
218220
Software Problem:
----------------
A user application task receives an unexpected I/O complete trap
when it issues a command function, such as backspace file mark or
forward space file mark, to a contiguous file located on a pair
of mirror disks.
Software Resolution:
-------------------
SVC 1 command functions, such as backspace file mark or forward
space file mark, are defined to be proceed functions that do
not return an I/O complete trap. The contiguous file manager
does not return an I/O complete trap for command functions
when the volume the contiguous file resides on is not mirrored,
but does when the file resides on a mirrored volume.
The I/O done handlers for command functions in the contiguous file
manager all call the routine RSTTPB to reset the I/O complete trap
flag in the IOB. In the case of mirrored disks, each of the I/O
done command handlers first call routines in the mirrored disk
module (MIRR.MAC) which do not return their caller. Instead they
branch to the contiguous file managers common I/O done handler
CNTCIOD, thus skipping the call to RSTTPB to reset the I/O
complete trap flag.
The routines in the mirror disk module called by the contiguous
file manager call IODINIT in FMCO. The routine IODINIT sets up
registers for entry into CNTCIOD and if the SVC 1 function code
in the FCB is a command function it resets the I/O complete
trap flag. As long as the user applications SVC 1 function code
remains in the FCB everything will function correctly, plus the
RSTTPB routine would not be required.
The contiguous file manager IOH scheduling routine CNTSCHED was
changing the SVC 1 function code in the FCB to a read function.
It should not have done this, thus the STB that changed the SVC 1
function code in the FCB needs to be removed. All references to
the routine RSTTPB are no longer needed so they are being removed.
return to index
================================================================================
218250
Software Problem:
----------------
When all physical printers are deleted from SPOOLER then added back,
the SPOOLER will eventually pause after a segment limit address error.
Software Resolution:
-------------------
The MAXDEVS command tells SPOOLER the maximum number of physical
printers it can use. The SPOOLER allocates a device control table
(DCT) for MAXDEVS number of physical printers. If one adds the
maximum number of physical printers then deletes all of them, the
next add of a physical printer resulted in trying to us a DCT
structure after the last DCT. This area is allocated to structures
for the pseudo print devices. As a result the structure for the
pseudo print devices was corrupted which eventually results in a
fault and the SPOOLER pausing. To resolve the problem the routine
to find a free DCT structure was rewritten.
return to index
================================================================================
218270
Software Problem:
----------------
Using BACKUP to do a disk to disk backup, where the input disk is
larger than the output, BACKUP keeps asking for a new output disk
even though it has not copied any files to the second output disk.
Software Resolution:
-------------------
An incorrect index register on a store (ST) instruction caused the
Last Assigned Date and then the FLBA (First Logical Block Address)
to become corrupted for the file involved in the switching of output
disks. The first time one does the disk to disk backup the Last
Assigned Date in the primary directory entry on the input disk was
corrupted. The second time one run BACKUP the Last Assigned Date
would corrupt the FLBA of the directory entry in memory for the
input disk with the first four ASCII characters of the filename.
For a contiguous file the FLBA and LLBA are used to compute the
size of file to allocate on the output disk. This resulted in a
file much larger then the size of the output disk, which caused
BACKUP think the output disk was full.
return to index
================================================================================
218290
Software Problem:
----------------------
When running the SPOOLER on an APU it can become processor bound.
This occurs when one enters a .SPL INQ or .SPL STATUS command
while the SPOOLER is printing.
Software Resolution:
------------------------
While the SPOOLER was outputting the results of a .SPL STATUS or
a .SPL INQ command, it would add any non I/O complete traps back
onto the task queue. Within this loop there were no SVC's to
allow the APU to copy traps (including the I/O complete trap it
was looking for) from the secondary task queue to the users task
queue. This was being done to prevent the output of two or more
.SPL STATUS or .SPL INQ commands from being interlaced.
If the SPOOLER is outputting to the console, any new request for
a .SPL STATUS or .SPL INQ should be queued. To do so a new queue
was created to queue these additional command request. When the
SPOOLER has completed the current command it checks this new queue
for the next command.
return to index
================================================================================
218310
Software Problem:
----------------
The command LOAD .SEG,NAME.SEG does not result in a error, but
the command REMOVE .SEG,NAME.SEG results in the error message
FORM-ERR POS=.SEG.
Software Resolution:
-------------------
The format of the command to load a shared segment is:
LOAD .SEG,file descriptor
The default extension for loading a shared segment is .SEG. The
segment name of the shared segment is in the loader information
block (LIB) of the shared segment image, and may not be the same
as the file descriptor. The NAME= parameter of the ESTABLISH
IMAGE command of LINK defines the segment name.
The format of the command to remove a shared segment is:
REMOVE .SEG,segment name
The segment name is the actual shared segment name in memory, not
the file descriptor. A segment name is a 1 to 8 alphanumeric name
of which the first character must be alphabetic.
When one would enter REMOVE .SEG,NAME.SEG the complete command
would be REMOVE .SEG,NAME. This would properly remove the shared
segment of NAME. The command processor would then try to parse
the next command which would be the .SEG for which it would give
FORM-ERR POS=.SEG. The following change will flush any extra
characters after the REMOVE command until a carriage return or
semicolon is found.
return to index
================================================================================
218330
Software Problem:
----------------
The ERROR report utility displays dates in the form JAN/ 3/ 0
instead of JAN/03/00.
Software Resolution:
-------------------
The PRTDAT subroutine was changed to format the a date in the
form JAN/03/00 or 3/JAN/00 into a character string, depending
on the date format used by the OS. All FORMAT statement were
change to output the character string, instead of integer data.
return to index
================================================================================
218350
Software Problem:
----------------
The ARCHIVE=ALL option of BACKUP transfers all files, but
only deletes input files with a last assigned date less than
January 1 2000.
Software Resolution:
-------------------
The ARCHIVE=ALL option is a special case of the ARCHIVE= option.
With the ARCHIVE=ALL option one must skip over the compare of
the archive date to the last assigned date of the input file,
BACKUP was not doing so.
return to index
================================================================================
218370
Software Problem:
----------------
FASTBACK fails when restoring from tape to a disk greater than
4 GB if the backup was done from a disk less than 4 GB.
Software Resolution:
-------------------
Because of an inconsistent usage of a number of internal flags,
FASTBACK always assumed the format of the tape it was restoring
based upon the size of the disk it was restoring to. On restore,
verify only, and displays from tape, FASTBACK must use the
format used to create the tape. Because disks larger than 4 GB
require more than 24 bits for their LBA, FASTBACK must use a
different format for recording the number of sectors and LBA in
a block of data on tape. The following change implements a
consistent usage of the internal flags of MF.BIGB, MF.BIGD, and
MF.BIGL. It also charges the routine CHKTBUFF with the final
decision on which format to use.
return to index
================================================================================
218390
Software Problem:
----------------
FASTBACK stalls when restoring from tape to disk after the
verify is complete, but before renaming its intermediate files
to their correct filenames.
Software Resolution:
-------------------
This "stall" problem in FASTBACK will only occur when loading
FASTBACK with a large memory increment (for example 7000 KB),
using a slow machine (such as a 3210), and a fast tape drive
(such as a DAT DDS-3 or DDS-4). In this situation FASTBACK is
able to read data from tape and disk faster than it is able to
verify the buffers. When it reaches the end of data on tape,
FASTBACK can have over 100 buffers queued to be verified. It
had relied on the I/O complete traps from the tape and disk
reads to process its task queue.
Within the buffer verify loop FASTBACK must provide a means
for the OS to dispatch FASTBACK into its task queue service
handler before the verify process overflow the task queue
with verify complete events. By executing a SVC 9 instruction
within the verify loop the OS will dispatch FASTBACK into its
task queue service handler if there is something on the task
queue.
return to index
================================================================================