Google
 

Trailing-Edge - PDP-10 Archives - BB-L014C-BM - autopatch/t20204.d02
There is 1 other file named t20204.d02 in the archive. Click here to see a list.
                 EDIT DESCRIPTIONS FOR TOPS-20-2020-V4                          
  
  
                             EDIT 580    FOR EXEC
  
  
  
  
[SYMPTON]
  
  
     If the LOGIN.CMD file contains  a  PUSH  command,  and  the  user
unwittingly  types  CLOSE and then a POP, the EXEC will get an Illegal
Instruction interrupt.
  
[DIAGNOSIS]
  
  
     The inferior process PUSH'ed to is allowed to close  and  release
the JFN on the command file.
  
[CURE]
  
  
     Set the GJ%ACC bit in  the  GTJFN  when  getting  a  JFN  on  the
LOGIN.CMD file, to prevent lower forks from tampering with the file.
  
********************************************************************************
  
  
                             EDIT 581    FOR EXEC
  
  
[^S]
	When using EXEC load-class commands in the following manner:
  
@DEFINE SYS: NEW-SUBSYS,SUBSYS
@LOAD MAINT,ADDITM,CHGITM,DELITM,DISPLA,SYS:TFRCOB
  
And TFRCOB is in  <SUBSYS>, it is  not found.  If  SUBSYS:TFRCOB is used,  the
module is  found.   Similar  behavior  is  exhibited  by  other  load-class
commands (COMPILE and EXECUTE).
  
  
[^D]
	GNJFN% is  used in  EXECCS to  find the  default extention  when  a
filename is given without an extention.  It is currently a restriction that
GNJFN% does not step logical names.
  
  
[^C]
	Replace the code using GNJFN% with a routine that steps through the
table of language extentions and does  a GTJFN% on the filename using  each
extention.
  
********************************************************************************
  
  
                             EDIT 582    FOR EXEC
  
  
  
  
[SYMPTON]
  
  
     When superceding an invisible file  and  that  file's  generation
retention  count  has been exhausted, the invisible file will be lost.
The user can neither UNDELTE nor SET FILE VISIBLE.
  
[DIAGNOSIS]
  
  
     The UNDELETE command skips invisible files.
  
[CURE]
  
  
     Allow the UNDELETE command to undelete invisible files.
  
********************************************************************************
  
  
                             EDIT 583    FOR EXEC
  
  
  
  
[SYMPTON]
  
  
     When an EDIT command has been given with at least one switch, and
it  is given again with no arguments, the ILLEGAL SWITCH error message
occurs.
  
[DIAGNOSIS]
  
  
     The EXEC stores  the  default  EDIT  command  in  a  buffer,  but
neglects  to  delimit  the  last switch and the filespec with a space,
thereby generating what looks like a bad switch.
  
[CURE]
  
  
     Place a space in the default buffer before copying  the  filespec
into it.
  
********************************************************************************
  
  
                             EDIT 584    FOR EXEC
  
  
  
  
[SYMPTON]
  
  
     EXEC's error messages don't tell the user exactly which field was
mistyped.
  
[DIAGNOSIS]
  
  
     EXEC should be more precise.
  
[CURE]
  
  
     Have routine CMERR$ type out the contents of the atom buffer.
  
********************************************************************************
  
  
                             EDIT 585    FOR EXEC
  
  
  
  
[SYMPTON]
  
  
     When setting /MAP as a default compile switch, the @COMPILE  PROG
command gets "?No such switch:  PROG" error message.
  
[DIAGNOSIS]
  
  
     When storing the default switch into a buffer, the wrong  bit  is
checked  to  see  if the switch takes an argument following it.  If so
the atom buffer is concatenated to the switch already in the buffer.
  
[CURE]
  
  
     Make routine HANSWI in EXECSU check bits S%VAL and S%QUO  instead
of S%DSP.
  
********************************************************************************
  
  
                             EDIT 586    FOR EXEC
  
  
  
  
[SYMPTON]
  
  
     When COBOL-74 is set as the default Cobol compiler,  the  compile
command will fail with a "Cannot find process" error.
  
[DIAGNOSIS]
  
  
     The EXEC looks for a compiler with the name COBOL-74.
  
[CURE]
  
  
     Make the EXEC look for CBL74.
  
********************************************************************************
  
  
                             EDIT 587    FOR EXEC
  
  
  
  
[SYMPTON]
  
  
     After ATTACHing to a DETACHed job, Control-E is not echoed on the
terminal.
  
[DIAGNOSIS]
  
  
     The EXEC sets it's CCOC words before DETACHing rather than after.
  
[CURE]
  
  
     Move the call to routine LTTYMD to after the DTACH Jsys.
  
********************************************************************************
  
  
                             EDIT 588    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     When PCO 20-EXEC-82  (AUTOPATCH  edit  581)  is  installed,  COMP
FOO/COMP does not force a compile.
  
  
[DIAGNOSIS]
  
     When stepping through the language  table,  the  EXEC  looks  for
.RELs  first;   when  it  finds one which is newer than any source, it
uses it rather than compiling.
  
  
[CURE]
  
     Check F%LOBJ in P1 to see if it is necessary to force a  compile;
if it is, then skip the .REL entry in the language table.
  
********************************************************************************
  
  
                             EDIT 589    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     Subcommands are not echoed in a  TAKE  command  when  echoing  is
turned on for the command file.
  
  
[DIAGNOSIS]
  
     EXEC does not check to see if echoing should be  turned  on  when
the subcommand is parsed.
  
  
[CURE]
  
     Add a call to ECHCMD to check if the subcommand should be  echoed
before dispatching to the subcommand routine.
  
********************************************************************************
  
  
                             EDIT 590    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     When an unpriviledged user issues a  BUILD  on  a  directory  for
which  he  has  a password, he gets the message ?Invalid password even
when he has given the password correctly.  The only way  he  can  exit
from the command is to ^C or ABORT.
  
  
[DIAGNOSIS]
  
     The EXEC not only does not  prompt  for  or  check  any  password
given, but also does not give the password to the CRDIR% JSYS.
  
  
[CURE]
  
     Add code to prompt for a password if the  CRDIR%  fails  with  an
?Invalid password or ?Password required error.  Then give the password
to CRDIR and try again.
  
********************************************************************************
  
  
                             EDIT 591    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     DIRECTORY commands  with  the  NO  subcommand  do  not  wait  for
confirmation.
  
  
[DIAGNOSIS]
  
     The calls to the confirmation routine are missing.
  
  
[CURE]
  
     Add CONFIRMs to each of the subcommand routines.
  
********************************************************************************
  
  
                             EDIT 592    FOR EXEC
  
  
  
  
[SYMPTON]
  
  
     Modifying a print  request  with  the  "NOHEADER"  switch  causes
Pushdown Overflow in the EXEC.
  
  
[DIAGNOSIS]
  
  
     The dispatch table at $MODPR points to the wrong routine.
  
  
[CURE]
  
  
     Point dispatch table to routine .MNOHE instead of .NOHEA .
  
********************************************************************************
  
  
                             EDIT 593    FOR EXEC
  
  
  
  
[SYMPTON]
  
  
     EDIT gives misleading error message  "?Input  filespec  expected"
when a user has typed a valid filename that is protected.
  
  
[DIAGNOSIS]
  
  
     EXEC doesn't check error from GTJFN on input  filespec  and  just
outputs the same message for any error.
  
  
[CURE]
  
  
	Improve error message from EXEC.
  
********************************************************************************
  
  
                             EDIT 594    FOR EXEC
  
  
  
  
[SYMPTON]
  
  
     INFO DIR <*> and ^EPRINT <*> give Illegal Memory Write  error  or
hang the EXEC.
  
[DIAGNOSIS]
  
  
     The GTDIR Jsys returns all of  the  directory  information  to  a
block  who's address is passed as an argument to the Jsys.  This block
contains a byte pointer to the buffer where  the  directory's  default
account  is to be stored.  The byte pointer is updated by the GTDIR to
point to the end of the account string.  When  the  buffer  containing
the  account string is to be released the updated byte pointer is used
as a pointer to the  beginning  of  the  buffer,  when  it  is  really
pointing  somewhere  in  the  middle  of  the buffer.  This causes the
EXEC's free space to get trashed and hang the EXEC.
  
[CURE]
  
  
  
	Backup the byte pointer immediately after te GTDIR jsys.
********************************************************************************
  
  
                             EDIT 595    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     Using SET DIRECTORY PASSWORD command, a  user  can  type  some
special  characters  and  won't  be notified that they haven't been
accepted.
  
[DIAGNOSIS]
  
     A routine called PASLIN is supposed to handle  password  entry
on a separate line.  However, the prompt for SET DIRECTORY PASSWORD
is not the standard prompt so the routine PASSX was  instituted  to
handle  this case.  PASSX doesn't treat password entry the same way
as PASLIN.
  
[CURE]
  
     Have PASSX treat password entry exactly  the  same  as  PASLIN
except  for the prompting mechanisms.
  
  
********************************************************************************
  
  
                             EDIT 596    FOR EXEC
  
EDIT 596 REMOVES EDIT 581 AND EDIT 588 FROM EXECCS TO FIX THE COMP/COMP
BUG CAUSED BY THESE EDITS.
********************************************************************************
  
  
                             EDIT 597    FOR EXEC
  
[SYMPTOM]
  
When copying from an EBCDIC labelled tape, the same  problem
is seen as was seen when copying from an ANSI-ASCII labelled
tape.  That is, the format of the data will be one seven bit
byte per word in the resulting file.
  
[DIAGNOSIS]
  
Edit 573  fixed copy  for ASCII  format labelled  tapes  but
there is no difference in the  format of the data which  the
EXEC will input from an ASCII or an EBCDIC labelled tape.
  
[CURE]
  
With edit 573 is installed, simply make an additional  check
for an EBCDIC format labelled tape  and if so, load a  seven
bit default byte size.
********************************************************************************
  
  
                             EDIT 598    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     DEBUG/74-COBOL causes LINK to give  an  "?SCNUNV  Unknown  switch
value 74" error message.
  
  
[DIAGNOSIS]
  
     The EXEC's debugging table is generated from the  first  argument
of  the  language  table entries;  this argument should be the name of
the debugger.  "74-COBOL" is not the name of the COBOL debugger.
  
  
[CURE]
  
     Change the  first  argument  in  the  language  table  entry  for
74-COBOL from "74-COBOL" to "COBOL".
  
********************************************************************************
  
  
                             EDIT 599    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     When performing a COPY on a file of  an  exact  multiple  of  512
pages, the EXEC loops until disk quota is exhausted.
  
  
[DIAGNOSIS]
  
     The EXEC prefaults pages in chunks of 25 at a time  to  speed  up
the  COPY.  If PMAP tries to prefault pages in a non-existent section,
(i.e.;  at the end of a file whose EOF pointer points to the last page
of  a section, or in a file with a section-long hole) it fails with an
error of "Page table does not exist, and file is not open for  write".
The  EXEC  does not detect this error, and loops through the disk copy
routine, continuing to PMAP in 25-page  chunks  from  the  destination
file until disk quota is exhausted.
  
  
[CURE]
  
     Check for non-zero section  on  PMAP  failures.   If  this  error
occurs, use FFUFP to see if we have a section-sized hole or are at the
end of the file.
  
********************************************************************************
  
  
                             EDIT 600    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     ANSI-ASCII and EBCDIC labelled tapes do not read correctly.
  
  
[DIAGNOSIS]
  
     Source type returned  from  DVCHR%  is  bieng  passed  to  LBLSKP
instead of a JFN.
  
  
[CURE]
  
     Pass a JFN to LBLSKP.
  
********************************************************************************
  
  
                             EDIT 601    FOR EXEC
  
[SYMPTOM]
  
The exec will not know when the system is shutdown.
  
[DIAGNOSIS]
  
The monitor will now return -1  in DWNTIM and the EXEC  does
not know how to interpret this.
  
[CURE]
  
In the routines DWNPNT and SYSDWN, add code to check for  -1
from DWNTIM and if equal to -1, print 'System is shutdown'
********************************************************************************
  
  
                             EDIT 602    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     User does not receive a system message at login time if he has  a
batch job which runs between the time the message is sent and the time
the user logs in for interactive use.
  
  
[DIAGNOSIS]
  
     Messages are not printed if a job is logged in as a batch job.
  
  
[CURE]
  
     In the PNTMES routine, remove  the  code  which  returns  without
printing  if  the  job  is  a  batch job.  This will cause messages to
appear in the log file.
  
********************************************************************************
  
  
                             EDIT 603    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     When a directory command lists a file name containing  characters
which  must  be  quoted,  EXEC  types  a  CTRL/V  before each quotable
character, does not translate CTRL/V, and counts CTRL/V as filling  an
output column for aligning later output.
  
  
[DIAGNOSIS]
  
     Since EXEC uses the JFNS JSYS to get the file names to be listed,
they  contain CTRL/V's before every quoted character;  the EXEC's CCOC
bits specify that CTRL/V should not be translated;  the output routine
does  not  distinguish  between CTRL/V and other output characters for
purposes of alignment.
  
  
[CURE]
  
     The output routine is changed  so  it  doesn't  count  CTRL/V  as
taking  up  output  room.  The JFNS JSYS is the only reasonable way to
obtain file names for output, and since going through every file  name
to  root out CTRL/V's which do not precede other CTRL/V's is expensive
and almost always unnecessary, the  CTRL/V's  are  left  in  the  file
names.   Since  translating  CTRL/V  makes  file  names look ugly, and
eliminates an ambiguity only if a file name contains a CTRL/V,  CTRL/V
should  not  be  translated,  and  so the use of file names containing
CTRL/V should be avoided.
  
********************************************************************************
  
  
                             EDIT 604    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     HELP keywords are completed  implicitly  if  "unambiguous"  (e.g.
ACT is completed to ACTGEN if nothing else begins with ACT).
  
  
[DIAGNOSIS]
  
     Instead of recognizing file  names  directly,  the  HELP  command
constructs  a  keyword table corresponding to the .HLP files on HELP>,
which works faster and looks better.  The  file  names,  however,  are
treated  like  keywords  by  COMND, and thus are completed implicitly,
which is incorrect.
  
  
[CURE]
  
     If the keyword wasn't completed explicitly (check CM%ESC),  check
to see if the keyword input (in the atom buffer) is a substring of the
string in the keyword entry returned by COMND (by using STCMP).
  
********************************************************************************
  
  
                             EDIT 605    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     I DIRECTORY fails silently if a prior structure mount is needed.
  
  
[DIAGNOSIS]
  
     No message-typing code is provided.
  
  
[CURE]
  
     Type out an error message.
  
********************************************************************************
  
  
                             EDIT 606    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     SET ADDRESS-BREAK with AFTER  >  2  gives  an  pushdown  overflow
internal trap.
  
  
[DIAGNOSIS]
  
     Routine FRKTRM in EXECP, dispatched to by WAITA, uses  STKVAR  to
obtain  stack  space.   When  an  address break is encountered, FRKTRM
dispatches to routine FKTRM1.  When the address break is one on  which
notification  is  to  be done, FKTRM1 dispatches to FKTRM2, which does
the notification and jumps back to CMDIN2, which cleans up the  stack.
When  an  address break is not to be notified on, FKTRM1 jumps back to
WAITA without cleaning up the stack.  So, for AFTER  >  2,  the  stack
gets eaten piece by piece until no more is left.
  
  
[CURE]
  
     Change routine FKTRM1 so the stack is cleaned up before WAITA  is
called;   since WAITA is called by WAITF, which then dispatches to the
address placed in AC A, we place WAITF  in  AC  A  and  return:   this
cleans  up  the  stack  and returns to WAITF, which then dispatches to
itself.  Also,  in  routine  FKTRM2,  instead  of  jumping  to  CMDIN2
directly,  jump to FRKTRN, which jumps to CMDIN2 after cleaning up the
stack.
  
********************************************************************************
  
  
                             EDIT 607    FOR EXEC
  
  
  
  
[SYMPTOM]
  
  
   The command:
  
        CANCEL <request-type> (ID) 0
  
  
   acts the same as the command:
  
        CANCEL <request-type> (ID) *
  
  
[DIAGNOSIS]
  
  
   When QUASAR gets the KILL message, he calls  Q$KILL.   At
this  point  a  zero  is  stored  in  the  RDB  for both the
request-id and the job-name (since no job-name  was  typed).
Now, we call FNDREQ to find a matching request for this RDB.
FNDREQ  in  turn  calls  I$RMCH.   This  routine  does   the
following:   It  checks to see if a request-id was typed (by
checking for a non-zero in .RDBRQ).  If there is a  zero  in
.RDBRQ,  then  it  assumes a match so it can check to see if
the job-name was  typed  (by  checking  for  a  non-zero  in
.RDBOW).  If no job-name was typed and we are not operators,
we assume that  a  request-id  was  typed  (since  the  EXEC
insists  on  either  a job-name or a request-id) and that it
matched with the request-id  in  the  RDB.   Although  these
assumtions  are  awkward, they are sound if zero request-ids
are not allowed.  For this reason it is best  to  patch  the
EXEC to make sure that the user types a positive request-id.
  
  
[CURE]
  
  
   When the EXEC processes the CANCEL request, make use  the
request-id is positive.
********************************************************************************
  
  
                             EDIT 608    FOR EXEC
  
[SYMPTOM]
 IPCIDX was referenced in EXECSU, undefined in the EXEC, but the EXEC compiled
and worked!
  
[DIAGNOSIS]
 IPCIDX had a value of absolute 20 octal (from GLXLIB), so the EXEC used
location 20 successfully.
  
[CURE]
 Rename instances of IPCIDX to IPCIX, and define IPCIX.
********************************************************************************
  
  
                             EDIT 609    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     INFORMATION commands referencing the queues do not work when  the
queues are very large (producing IPCF buffer full messages).
  
  
[DIAGNOSIS]
  
     EXEC's IPCF code tries to read in  all  outstanding  messages  at
once,  and  will  flush  buffers  with older messages to do this, thus
unnecessarily losing IPCF messages.
  
  
[CURE]
  
     Change the code so it will leave messages in the IPCF  queues  if
the  buffers are full, unless IPCFND fails and the queues are full (if
we don't flush then, we'll hang up waiting  for  a  message  we  can't
read).
********************************************************************************
  
  
                             EDIT 610    FOR EXEC
  
[SYMPTOM]
 User was getting "?Output filespec expected" message when he did an CREATE foo
and there was no room in the directory to create another file.
  
[DIAGNOSIS]
 Random GTJFN errors can happen when COMND is called to parse the filespec
field, but the error message is always the same.
  
[CURE]
 Add the system error message to the end of our message.
********************************************************************************
  
  
                             EDIT 611    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     TERMINAL terminal-type resets duplex mode to full duplex.
  
  
[DIAGNOSIS]
  
     As above.
  
  
[CURE]
  
     Make TERMINAL terminal-type leave the duplex mode alone.
  
********************************************************************************
  
  
                             EDIT 612    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     I  SPOOL  outputs  "SET  SPOOLED-OUTPUT-ACTION   value"   (either
IMMEDIATE or DEFERRED), but the correct command is SET SPOOLED-OUTPUT.
  
  
[DIAGNOSIS]
  
     The text being output is wrong.
  
  
[CURE]
  
     Have I SPOOL output "SET SPOOLED-OUTPUT value" instead.
  
********************************************************************************
  
  
                             EDIT 613    FOR EXEC
  
  
  
  
[SYMPTOM]
  
   MODIFY PRINT (ID) nnn/HEADER
  
   causes the print-request to be MODIFYed so that no header
is printed.
  
   MODIFY PRINT (ID) nnn/NOHEADER
  
   causes the print-request to be MODIFYed so that a  header
is printed.
  
  
[DIAGNOSIS]
  
   The EXEC passes a zero to QUASAR for/NOHEADER and a one
for /HEADER.  QUASAR, however expects the other way around.
  
  
[CURE]
  
  
   Fix the EXEC so that it passes a one for /NOHEADER and  a
zero for /HEADER
********************************************************************************
  
  
                             EDIT 614    FOR EXEC
  
  
  
  
[SYMPTOM]
  
	EXEC won't assemble.
  
  
[DIAGNOSIS]
  
     Symbol got deleted.
  
  
[CURE]
  
     Replace it.
  
********************************************************************************
  
  
                             EDIT 615    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     EXEC hangs when edit  603  is  installed  and  the  user  does  a
DIRECTORY of a file which has a CTRL/V in the filename.
  
  
[DIAGNOSIS]
  
     Coding error in edit 603 causes loop.
  
  
[CURE]
  
     Change instructions of the form "JRST .-n" to use the appropriate
labels.
  
********************************************************************************
  
  
                             EDIT 616    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     PRINT FOO.* ignores file extensions for default file types.
  
  
[DIAGNOSIS]
  
     If a filespec given to PRINT has a wild extension,  no  extension
checking is done.
  
  
[CURE]
  
     Delay the checking until the extension is known, i.e., until  the
second (work) pass.
********************************************************************************
  
  
                             EDIT 617    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     If the user does a DIRECTORY with CHECKSUM SEQUENTIAL on  certain
disk files, the EXEC appears to loop indefinitely.
  
  
[DIAGNOSIS]
  
     The sequential checksum code uses SIN to do its input, regardless
of  what  device the file is on;  this leads to problems on disk files
with arbitary EOF pointers (DBS files, for example).
  
  
[CURE]
  
     Make the by-pages code  (which  uses  FFUFP  and  PMAP)  do  both
by-pages  checksumming  and all but the last page fraction (if any) of
disk sequential checksumming.  This not only solves the problem (FFUFP
ignores EOFP), but is faster than the present code for both continuous
and especially discontinuous disk files.
********************************************************************************
  
  
                             EDIT 618    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     DISMOUNT FOO:, where FOO:  is not a tape or structure, causes  an
illegal instruction trap.
  
  
[DIAGNOSIS]
  
     The code to check what type of  device  FOO:   is  ends  abruptly
after  checking  for tapes and structures, and so if FOO:  is neither,
the next thing in the module is executed, a COMND table, which  causes
the trap.
  
  
[CURE]
  
     Add an ERROR macro after the tape and structure test code.
  
********************************************************************************
  
  
                             EDIT 619    FOR EXEC
  
[SYMPTOM]
 Sequential disk checksumming didn't work.
  
[DIAGNOSIS]
 Edit 617 broke it.
  
[CURE]
 Fix edit 617.
********************************************************************************
  
  
                             EDIT 620    FOR EXEC
  
[SYMPTOM]
 PRINT *.* didn't work.
  
[DIAGNOSIS]
 Edit 616 was broken.
  
[CURE]
 Fix it.
********************************************************************************
  
  
                             EDIT 621    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     One can occasionally issue a CTRL/C  during  LOGIN,  leaving  the
user unable to perform any commands requiring him to be logged in, yet
receiving a message "?Job is already logged  in"  upon  trying  to  do
another login.
  
  
[DIAGNOSIS]
  
     EXEC tests CUSRNO for a non-zero user  number  before  permitting
any commands requiring a logged-in state.  If a CTRL/C is issued after
successful completion of the LOGIN% JSYS and before the user number is
stored in CUSRNO, the EXEC becomes confused about the job's state.
  
  
[CURE]
  
     Turn off software interrupts during LOGIN.
  
********************************************************************************
  
  
                             EDIT 622    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     EXEC sometimes loops uncontrollably after a CTRL/C.
  
  
[DIAGNOSIS]
  
     If a CTRL/C is typed while GETMEM  and  RETMEM  are  manipulating
storage  free lists, a free list could be damaged, causing an infinite
loop when it is are referenced again.
  
  
[CURE]
  
     Turn off CTRL/C and IPCF interrupts  while  manipulating  storage
free lists.
  
********************************************************************************
  
  
                             EDIT 623    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     When given a wildcarded user string, SYSTAT gives  a  "?Too  many
arguments" message.
  
  
[DIAGNOSIS]
  
     The  code  for  SYSTAT  steps  through  all  users  matching  the
wildcarded  string  at  parse  time,  stacking them for later use;  if
there are too many, the stack overflows, yielding the message seen.
  
  
[CURE]
  
     Rewrite the code so it stores the wild string at parse time,  and
compare against it at job scan time with WILD%.
********************************************************************************
  
  
                             EDIT 624    FOR EXEC
  
[SYMPTOM]
  
 The extension of the last spec in a "PRINT /DELETE ... spec" or a "PRINT
_/FILE:foo ... spec" overrides the switch for that spec.
  
[DIAGNOSIS]
  
 Flags TPRES and TFILES aren't propagated early enough to handle the first spec
processed (the last typed in) correctly.
  
[CURE]
  
 Check the global switch flags PRESF and FILSF as well as TPRES and NPRES to
suppress file extension checking.
********************************************************************************
  
  
                             EDIT 1808   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     When attempting to RUN a file that  is  offline,  the  EXEC  will
return the incorrect error that the file does not exist.
  
[DIAGNOSIS]
  
  
     Routine ARACCK which checks the Archive status of a file, ignores
any file being opened for Execute access.
  
[CURE]
  
  
     Make ARACCK check for Execute access  when  it  checks  for  read
access.
  
********************************************************************************
  
  
                             EDIT 1810   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     CRDIR JSYS sometimes fails when passed -1,,ADDRESS as the pointer
to  the  password  string.   It succeeds if passed a true byte pointer
instead.
  
[DIAGNOSIS]
  
     New code to check for setting a  null  password  (which  requires
ownership  rights  to  directory)  did  not  check  for  the  case  of
-1,,ADDRESS in place of a byte pointer.
  
[CURE]
  
     Add the code to handle the case.
********************************************************************************
  
  
                             EDIT 1811   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     When superceding an invisible file  and  that  file's  generation
retention  count  has been exhausted, the invisible file will be lost.
The user can neither UNDELTE nor SET FILE VISIBLE.
  
[DIAGNOSIS]
  
  
     The UNDELETE command skips invisible files.
  
[CURE]
  
  
     Allow the UNDELETE command to undelete invisible files.
  
********************************************************************************
  
  
                             EDIT 1812   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     ERSTR JSYS sometimes does not recognize ERJMP/ERCAL following  it
on error conditions such as illegal error number.
  
[DIAGNOSIS]
  
     Code just returns without checking.
  
[CURE]
  
     Change code to exit JSYS via the  route  which  will  notice  the
ERJMP/ERCAL when needed.
********************************************************************************
  
  
                             EDIT 1813   FOR MONITO
  
 [S]
  
When patch supplied with PCO 20-MONITO-174 is installed, the
system will come up with ULKBAD bugchks.
  
[DIAGNOSIS]
  
The previous patch trashed an AC used elsewhere and did  not
make all references to TYLMD (data mode last character input
in) consistent.
  
[CURE]
  
Use a different AC in patch and make all previous references
to TYLMD to be references to TT%DAM.
********************************************************************************
  
  
                             EDIT 1814   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Certain classes of GTJFN errors cause JFNs to become "lost", that
is,  the  JFN  numbers are not available for assignment until a global
cleanup operation is done (ie.  RLJFN -1).
  
[DIAGNOSIS]
  
     Error path out of GTJFN bypasses the routine to release  the  JFN
on an error.
  
[CURE]
  
     Install an ERJMP to catch the  case  and  exit  via  the  cleanup
routine.
********************************************************************************
  
  
                             EDIT 1815   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     The COMPILE command will not detect a logical name loop,  causing
it to loop.
  
[DIAGNOSIS]
  
  
     When GTJFN can not parse a name, it will step the  logical  name,
if possible, and restart the parse.
  
[CURE]
  
  
     If a logical name has been stepped, check for  Parse-only  before
returning to GTJFST to restart parse.
  
********************************************************************************
  
  
                             EDIT 1816   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     ODTIM JSYS does not include the comma when OT%DAM and OT%SPA  are
specified,  contrary  to  documentation.  In addition, if no output is
generated, and a string pointer is specified, then the string  is  not
properly terminated.
  
[DIAGNOSIS]
  
     In the first case, code does not check and does  comma  only  for
verbose month name specified.  In the second, code not written.
  
[CURE]
  
     Correct code to output comma as documented for OT%DAM and  OT%SPA
set  and  OT%NMN  not  set  (ie.  Feb 10, 80), and add code to be sure
output string is terminated properly with a null.
********************************************************************************
  
  
                             EDIT 1817   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     SACTF JSYS has several problems:  it modifies the JFN it uses, it
returns a zero error code for certain error conditions, and it returns
the updated string pointer in the wrong register.
  
[DIAGNOSIS]
  
     Code was written to modify the JFN, the zero error codes are  the
result  of  incorrectly using a macro, and the wrong register was just
bad code.
  
[CURE]
  
     Change the code to correct all of the above.
********************************************************************************
  
  
                             EDIT 1818   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     TOPS-20 is too big and too slow.
  
[DIAGNOSIS]
  
     More historical and long unused  code  uses  a  construct  called
DMPBUF which eats up 10 (octal) pages of address space.
  
[CURE]
  
     Make the changes necessary to remove DMPBUF.
********************************************************************************
  
  
                             EDIT 1819   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     If echoing has been turned off and a user  types  question  mark,
COMND will output a help message and echo the field.
  
[DIAGNOSIS]
  
  
     When seeing a question mark, routine CMRAT2 will set  the  proper
bit  to force a help message and a retype of the line without checking
whether echoing has been turned off.
  
[CURE]
  
  
     When a question mark is typed, check if echoing is off and if so,
send a CTRL/G.
  
********************************************************************************
  
  
                             EDIT 1820   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
 Bell 212A modems do not work properly on KS10's. TOPS20 does not know
how to do autobaud detection on KS10's. Jobs on the KS10 KLINIK line do
not get detatched when the phone is hung up thus allowing some one else
to get the job.
  
[DIAGNOSIS]
  
  
 The code to do modem control in TTDZDV contains a number of timing problems
which do not allow the Bell 212A time enough to establish communications with
TOPS20. There is no code to do autobauding or handle the KLINIK line properly.
  
[CURE]
  
 Rewrite the modem handling code in TTDZDV to handle the above problems.
  
********************************************************************************
  
  
                             EDIT 1821   FOR MONITO
  
  
  
  
[SYMPTON]
  
 The KS10 monitor will not assemble after edit 1820.
  
[DIAGNOSIS]
  
 The symbol KLCAR was used in TTDZDV and not defined.
  
[CURE]
  
 Define the symbol KLCAR in PROKS.MAC.
  
********************************************************************************
  
  
                             EDIT 1822   FOR MONITO
  
  
  
  
[SYMPTON]
  
 The code to handle the KLINIK line added to TTDZDV in edit 1820
makes a number of false assumptions based on existing comments in
the code. These comments are wrong.
  
[DIAGNOSIS]
  
 The person who originally coded the KS10 terminal device driver
did not understand the way the 8080 console processor functioned.
  
[CURE]
  
 Rework the KLINIK code in TTDZDV to reflect the correct operation
of the 8080 console processor. Also change KLINIK definitions in the
module PROKS.MAC.
  
********************************************************************************
  
  
                             EDIT 1823   FOR MONITO
  
[SYMPTOM]
  
Remark strings  are skewed  in  the USAGE  file when  a  job
changes sessions at least once during the time it is  logged
in.
  
[DIAGNOSIS]
  
The session remark in affect at the start of the session  is
the one which is  placed in the  Checkpoint record for  that
job.  The session remark is not set until after the  account
has been changed and, therefore after the Checkpoint  record
has been  updated.  The  session  remark in  the  checkpoint
record is, therefore, the session  remark in affect for  the
last session.
  
[CURE]
  
Instead of performing  a session end  function of the  USAGE
JSYS, perform a log in function (.USLGI) and then a log  out
function (.USLGO).  The  logout function of  the USAGE  JSYS
will update the remark string but not the .USSEN function.
********************************************************************************
  
  
                             EDIT 1824   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Lineprinters lose data during on-line/off-line transitions.
  
[DIAGNOSIS]
  
     Buffer  initialization  is  incorrect,  and   the   buffer   size
allocation  is calculated incorrectly;  it should follow the data byte
size on a per buffer basis.
  
[CURE]
  
     Change the code to initialize the buffers properly.
********************************************************************************
  
  
                             EDIT 1825   FOR MONITO
  
[SYMPTOM]
  
With Edit 1766 installed,  an INFORMATION MEMORY command  on
an address space with  page 777 mapped  will cause a  FLKTIM
BUGCHK the  next time  anything  is done  to the  job  which
causes the fork structure to be locked.
  
[DIAGNOSIS]
  
The RMAP JSYS calls a routine  FRKMAP which will fail if  it
is called for a non-existent section.  When FRKMAP fails, it
generates an ITERR without returning to the calling routine.
This is  wrong  and  so  RMAP will  never  unlock  the  fork
structure again when it returns to the user.
  
[CURE]
  
Change the call  to FRKMAP  to FKHPTN and  include an  ITERR
which unlocks the fork structure as the error return to  the
routine.
********************************************************************************
  
  
                             EDIT 1826   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     ARCHIVE <*>*.* makes a structure unmountable.
  
[DIAGNOSIS]
  
  
     Several <ROOT-DIRECTORY> files should be  exempt  from  migration
that aren't.
  
[CURE]
  
  
     Change the structure initialization code to set the right bit  in
these files' FDB's.
  
********************************************************************************
  
  
                             EDIT 1827   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     The monitor will not load after submitting the TOPS20.CTL file.
  
[DIAGNOSIS]
  
  
     Routine BUGSR2 was moved in release 4.  However, the code was not
properly rewritten to resolve all references to other routines.
  
[CURE]
  
  
     Add a label at the end of the BUGSR2 routine  and  make  BUGSR2+2
jump  to  the new label.  Note that this patch is not necessary unless
extensive source modifications have been made to  the  monitor.   Also
note  that it is impossible to make this patch to MONITR.EXE, as it is
to code that is run to create the EXE file which then deletes itself.
  
********************************************************************************
  
  
                             EDIT 1828   FOR MONITO
  
[SYMPTOM]
  
If the MSTR JSYS is  called with function .MSIMC  (increment
the mount count for a job)  with an invalid job number,  bad
error messages could be returned, the system could crash, or
the job could hang.
  
[DIAGNOSIS]
  
If MSTR is called with a valid job number but the job is not
logged in, MSTR will  generate an error  return but with  no
error number.  The code is simply missing the error code  to
return.
  
If MSTR is called  with an invalid job  number, no check  is
made as to whether  it is valid.  The  system then tries  to
map the JSB, which could fail and cause a BUGHLT, or TOPS-20
could map the JSB and try to lock the JSSTLK.  This is where
the job could hang.
  
[CURE]
  
Provide an error code for the  no such job error return  and
make a check for invalid job number at MSTJOB.
********************************************************************************
  
  
                             EDIT 1829   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     None, but code is wrong.
  
[DIAGNOSIS]
  
     MODTAB table in PHYSIO is  too  short,  it  needs  an  entry  for
high-density  mode.   Fortunately,  the  next word happens to have the
right value.
  
[CURE]
  
     Put in the entry for high-density mode.
********************************************************************************
  
  
                             EDIT 1831   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     When attempting to  clear  address  break  for  self,  user  gets
invalid fork handle.
  
[DIAGNOSIS]
  
  
     When clearing address break for self, T1 gets clobbered.
  
[CURE]
  
  
     After the call to SETBRK, restore proper fork handle to T1.
  
********************************************************************************
  
  
                             EDIT 1832   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Poor terminal input response on a KL processor  with  many  users
and two lineprinters printing.
  
[DIAGNOSIS]
  
     Edit 1824 may cause the KL to step on a line allocation value the
-11 has selected.
  
[CURE]
  
     Correct  the  device  independent  and  both  KS  and  KL  device
dependent code to handle the situation better, and move edit 1824 into
the device dependent code.
********************************************************************************
  
  
                             EDIT 1833   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     COMND can't parse a keyword with a colon in it.
  
[DIAGNOSIS]
  
  
     When COMND sees a colon it assumes that it is parsing  a  switch,
so it terminates its current parse.
  
[CURE]
  
  
     When a colon is found, first check if we are  parsing  a  switch.
If  so,  terminate  the  parse.  If not, continue parse and ignore the
colon.
  
********************************************************************************
  
  
                             EDIT 1834   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     PM%ABT fails to abort changes made to new  pages  in  new  files;
RESET  causes  OF%DUD  pages  to  be  written  to  the disk instead of
aborted.
  
[DIAGNOSIS]
  
     Code not checking properly for new pages.
  
[CURE]
  
     Add the code to delete the pages and deallocate  the  disk  space
for  the  appropriate cases.  Note that the RESET case is addressed by
edit 1776, PCO 20-MONITO-235.
********************************************************************************
  
  
                             EDIT 1835   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     ILMNRF BUGHLT resulting from use of  SFTAD  JSYS.   In  addition,
setting  a legal offline expiration period may be refused if no system
period was established in 4-CONFIG.CMD.
  
[DIAGNOSIS]
  
     Capabilities check uses incorrect AC, trashing pointer used a few
instructions later.  Expiration period code doesn't check.
  
[CURE]
  
     Use proper AC instead.  Correct expiration/recycle period  checks
to use default (.STDFE) if system-wide period not specified.
********************************************************************************
  
  
                             EDIT 1836   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     ILMNRF Bughalt caused by GET'ting a nonshareable save file into a
process that does not have write access to one of the pages needed for
the file.
  
[DIAGNOSIS]
  
  
     A GET on a nonshareable save file will read the file in  using  a
SIN, which does not protect itself against illegal writes.
  
[CURE]
  
  
     Insert an ERJMP at SIN1+7 in case a page is write protected.
  
********************************************************************************
  
  
                             EDIT 1837   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     MTOPR function .MOSTS to set a printer lowercase does not work.
  
[DIAGNOSIS]
  
     Code ignores the case entirely.  In addition, the code  does  not
allow  the  clearing  of the MO%LCP status bit for a printer by either
the MTOPR or by the LPINI JSYS.
  
[CURE]
  
     Add code necessary to make the MTOPR work, and allow MO%LCP to be
cleared by MTOPR and LPINI JSYSes.
********************************************************************************
  
  
                             EDIT 1839   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     PIDFLF BUGCHKs.
  
[DIAGNOSIS]
  
     If a monitor is built with MAXPID odd instead of  even,  the  PID
free  list is initialized improperly.  The initialization code is hard
coded for an even number.
  
[CURE]
  
     Replace the code that tries to terminate the  free  list  with  a
zero by code that handles both even and odd.
********************************************************************************
  
  
                             EDIT 1840   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     If a user refusing links is already linked to the maximum  number
of lines, another link request will still ring the bell and wait.
  
[DIAGNOSIS]
  
     Code does not check for this case before entering  the  ring  and
wait routine.
  
[CURE]
  
     Add code to handle this case by returning TLNKX3 immediately.
********************************************************************************
  
  
                             EDIT 1841   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Various, including GALAXY component confusion and crash;   access
to invalid scheduler classes, etc.
  
[DIAGNOSIS]
  
     User attaches to a job controlled by the batch  processor  at  an
inopportune  moment.   In  actuality,  this  should  have been illegal
unless the user had WHEEL or OPERATOR privileges enabled.
  
[CURE]
  
     Correct DTACH  and  ATACH  JSYSes  to  prevent  batch  jobs  from
detaching,  unless  enabled,  and from attaching to a batch job unless
logged-in and enabled, as it is supposed to be.
********************************************************************************
  
  
                             EDIT 1842   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     If a call to GTJFN specifies  GJ%FOU  and  the  exact  generation
number, sometimes error GJFX20 is improperly returned.
  
[DIAGNOSIS]
  
     The test is incorrect concerning the case of invisible files.
  
[CURE]
  
     Correct the code to properly find this file generation and return
successfully.
********************************************************************************
  
  
                             EDIT 1843   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     CRDIR JSYS will  create  a  MAIL.TXT  file  in  a  non-files-only
directory if one does not exist.
  
[DIAGNOSIS]
  
     This should not occur except on  directory  creation;   the  mail
file attributes should be preserved, including existence.
  
[CURE]
  
     Correct the code to only create  MAIL.TXT  on  initial  directory
creation.
********************************************************************************
  
  
                             EDIT 1844   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Certain JSYSes which are defined to be noops unless directed at a
terminal  do  not handle this correctly.  In addition, some JSYSes, in
handling error conditions, do not return the  error  in  LSTERR.   The
affected JSYSes are CFIBF, CFOBF, SFCOC, SFMOD, SFPOS, SIBE, SOBE, and
STPAR.
  
[DIAGNOSIS]
  
     Code to reject non-terminals is wrong;  code  doesn't  bother  to
set LSTERR in certain circumstances.
  
[CURE]
  
     Correct code to perform as documented.
********************************************************************************
  
  
                             EDIT 1845   FOR MONITO
  
[SYMPTOM]
  
MTANOQ BUGCHKs
  
[DIAGNOSIS]
  
The monitor  patch  20-MONITO-178  called  a  routine  which
marked the current IORB as done.  This IORB should not  have
been marked as done because the record may not be  completly
processed before a SDSTS JSYS is done for that unit.
  
[CURE]
  
Instead, simply wait for all IORBs to become non-active  and
then update the status.
  
********************************************************************************
  
  
                             EDIT 1846   FOR MONITO
  
[SYMPTOM]
  
TPBLBK BUGCHKS when using labeled tapes.
  
[DIAGNOSIS]
  
Magnetic tape race usually manifesting itself when two  tape
units on a single controller are active at the same time and
one of the tapes is a labeled tape open for read.  When  the
monitor reads a tape  mark, the labeled  tape code wants  to
read the trailer labels.  The  MONITOR would look to see  if
there were any active IORBs  on the transfer queue for  that
unit and if so, would generate a TPBLKB bugchk and leave the
request on  the queue.   This record  would still  be  read,
positioning the  tape one  record forward  of first  trailer
label so the MONITOR would also see a tape label error.
  
[CURE]
  
When this  condition is  noted, remove  all IORBs  from  the
queue.
********************************************************************************
  
  
                             EDIT 1847   FOR MONITO
  
[SYMPTOM]
  
Monitors won't build
  
[DIAGNOSIS]
  
MTAKIL not defined as external to TAPE
  
[CURE]
  
Include it in the EXTN macros at the top of TAPE.
  
********************************************************************************
  
  
                             EDIT 1848   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     WATCH statistics seem to indicate  an  idle  system  accumulating
very large swap wait times.
  
[DIAGNOSIS]
  
     The accounting of NBSWP is off, leaving a false indication.
  
[CURE]
  
     Correct checking of swap wait cases in order to get NBSWP back in
line with reality.
********************************************************************************
  
  
                             EDIT 1849   FOR MONITO
  
  
[Symptom]
  
	BUGCHKs and BUGHLTs concerning resident free space.
  
[Diagnosis]
  
	Wrong register is used when NSPSRV is loeaning up links
  
[Cure]
  
	Modify the instruction at PRUNE1+3 in NSPSRV to use the correct
	register.
  
********************************************************************************
  
  
                             EDIT 1850   FOR MONITO
  
[SYMPTOM]
  
Monitors won't build
  
[DIAGNOSIS]
  
MTAKIL not  included  in GLOBS  and  MTAKIL not  defined  as
internal in MAGTAP.
  
[CURE]
  
Include it in  GLOBS and  put double colon  after symbol  in
MAGTAP.
********************************************************************************
  
  
                             EDIT 1851   FOR MONITO
  
[SYMPTOM]
  
 Structures are always marked domestic in usage accounting records.
  
[DIAGNOSIS]
  
 The structure status bits are not send to MOUNTR correctly and the
primary public structure never has bit MS%DOM marked.
  
[CURE]
  
 Send bits correctly. To achieve the desired results also install MOUNTR
edit 116 to version 4 of MOUNTR.
********************************************************************************
  
  
                             EDIT 1852   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Unaccountably long response times for some operations, such as an
INFORMATION MEMORY command.
  
[DIAGNOSIS]
  
     Fork locking/unlocking code is misaccounting  nested  locks,  and
doing a DISMS during unlocking so as not to "hog" the lock.
  
[CURE]
  
     Account properly for nested locks so that the gratuitous DISMS is
not performed.
********************************************************************************
  
  
                             EDIT 1853   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Lower case characters on EBCDIC labeled tapes  are  converted  to
upper case on input.
  
[DIAGNOSIS]
  
     The translation table is wrong.
  
[CURE]
  
     Correct the translation table to produce the proper code values.
********************************************************************************
  
  
                             EDIT 1854   FOR MONITO
  
[SYMPTOM]
  
IPCF35 Errors on .MUFPQ function of the MUTIL JSYS when word
two of the argument block contains garbage.
  
[DIAGNOSIS]
  
Code checked the arguments for validity with respect to  the
.MUSPQ function.  When reading the  quota, there is no  need
to check the  contents of  the second word  in the  argument
block.
  
[CURE]
  
Have the read quota routine not check the second word in the
argument block.
********************************************************************************
  
  
                             EDIT 1855   FOR MONITO
  
[SYMPTOM]
  
OVRDTA and TM2UNA BUGCHKs  when reading from Magnetic  tapes
and the unit is in error recovery.
  
[DIAGNOSIS]
  
The device code which does  the retries, does not reset  the
overdue timer before starting I/O on the channel.
  
[CURE]
  
Reset the overdue timer before starting I/O on the  channel.
********************************************************************************
  
  
                             EDIT 1856   FOR MONITO
  
[SYMPTOM]
  
Creating a fork and loading the  ACs fails to make the  fork
non-virgin.
  
[DIAGNOSIS]
  
Oversight
  
[CURE]
  
After copying the  ACs into the  processes PSB, call  CLRVGN
for the process.
********************************************************************************
  
  
                             EDIT 1857   FOR MONITO
  
[SYMPTOM]
  
If the SOUT JSYS is given an infinite indirect pointer,  the
job will run in a non-interruptable infinite loop.
  
[DIAGNOSIS]
  
The MONITOR doesn't  attempt to  get a byte  from the  users
pointer until it is NOINT.
  
[CURE]
  
Attempt to get a byte from the pointer before the process is
NOINT.
********************************************************************************
  
  
                             EDIT 1858   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Certain MTOPRs to labeled tapes, notably .MOSTA and .MOOFL do not
work unless the JFN is open, contrary to documentation.
  
[DIAGNOSIS]
  
     MTOPR dispatch table for labeled tapes is wrong.
  
[CURE]
  
     Correct the table.
********************************************************************************
  
  
                             EDIT 1859   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     System loses track of beginning-of-tape (BOT) status for a drive.
  
[DIAGNOSIS]
  
     Rewind done code could  be  entered  via  an  error  recovery  as
opposed to normal interrupt code with device status check.
  
[CURE]
  
     Set US.BOT in the rewind done code also.
********************************************************************************
  
  
                             EDIT 1860   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     None observed, but possibility of disk error suggested.
  
[DIAGNOSIS]
  
     Small  but  finite  possiblity  of  the  ECC  code  used  in  the
RP04/RP06/RM03 type disks miscorrecting an error burst.
  
[CURE]
  
     Increase the number of retries before ECC will  be  applied  from
three to eight according to recommendation from Disk Engineering.
********************************************************************************
  
  
                             EDIT 1861   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     GTSTS JSYS returns inconsistent results.
  
[DIAGNOSIS]
  
     Code  follows  different  paths  for  the  JFN  being   currently
available  or  not.   One  path  fails  to  mask  out the undocumented
internal bits before returning the file status word to the user.
  
[CURE]
  
     Correct the code to make both paths return the proper result.
********************************************************************************
  
  
                             EDIT 1862   FOR MONITO
  
[SYMPTOM]
  
With directories over 400000(8) words in length, recognition
of subdirectories breaks.
  
[DIAGNOSIS]
  
The byte pointer  which the MONITOR  builds for copying  the
tail of the directory name to the JFN block looks like POINT
7,4xxxxx(D) where  D is  2,,0.   The Y  field will  be  sign
extended so the result is a pointer with a negative Y  field
or POINT 7,-400000(D).
  
[CURE]
  
Build the pointer like POINT 7,0(D) where D is 2,,4xxxxx.
********************************************************************************
  
  
                             EDIT 1863   FOR MONITO
  
  
  
  
[SYMPTOM]
  
  
     The COMND JSYS ignores the help settings specified  by  the  user
when parsing a keyword or switch and finding that no item can possibly
match.
  
  
[DIAGNOSIS]
  
  
     The user settings of CM%SDH and CM%HPP are ignored in this case.
  
  
[CURE]
  
  
     Make COMND function as documented.
********************************************************************************
  
  
                             EDIT 1864   FOR MONITO
  
[SYMPTOM]
  
Tape label read errors generated from:
  
DUMPER>REW
DUMPER>SAVE FOO.BAR
DUMPER>REW
DUMPER>SAVE FOO.BAR
DUMPER>... (About 4 or 5 time)
  
[DIAGNOSIS]
  
TU45  hardware  deficiency.   The  TU45s  creep   backwards.
Product support says they connot fix it.
  
While rewritting  the  HDR1 label,  TOPS-20  will  backspace
records until tape is positioned immediately before the HDR1
label, then TOPS-20 rewrites the  HDR1 label.  TU45s do  not
like to  backspace records  and rewrite  that record.   Each
time it backspaces over  the record, it backspaces  slightly
into the IRG until  it eventually begins  to write over  the
previous record.  This will cause tape label read errors.
  
[CURE]
  
Backspace one extra record at REPOS1, then forward space one
record so that then the  tape is positioned before the  HDR1
label.  In this case there is no TU45 creep.
********************************************************************************
  
  
                             EDIT 1865   FOR MONITO
  
[SYMPTOM]
  
Jobs under job  0 have  no way  of determining  if a  system
shutdown has passed and the system is currently shut down.
  
[DIAGNOSIS]
  
After the system is shutdown, TOPS-20 reset the DWNTIM  flag
to 0 which signifies that no shutdown is pending.
  
[CURE]
  
Set the DWNTIM  flag to  -1 to signify  that timesharing  is
over.
********************************************************************************
  
  
                             EDIT 1866   FOR MONITO
  
[SYMPTOM]
  
A structure does not  need to be mounted  by a job in  order
for that job to expunge the contents of a directory on  that
structure.
  
[DIAGNOSIS]
  
No check is made for a mounted structure or not.
  
[CURE]
  
Call CHKMNO in .DELDF and  return an error if the  structure
is not mounted.
********************************************************************************
  
  
                             EDIT 1867   FOR MONITO
  
[SYMPTOM]
  
BAT blocks in the swapping  are not marked correctly in  the
drum bit table for the structure.
  
[DIAGNOSIS]
  
Code not even close.
  
[CURE]
  
Rewrite the algorithm which calculates the drum address  for
a physical sector address on the disk.  This involves taking
into account the physical to logical sector translation  and
the interleaving of swapping sectors  over all packs in  the
structure.
********************************************************************************
  
  
                             EDIT 1868   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     GLFNF Bughalt.
  
[DIAGNOSIS]
  
  
     Routine FFORK1, which freezes a specific fork,  gets  the  fork's
system  wide  fork  number  out of table SYSFK in the JSB.  SYSFK will
contain -1 if the fork does not exist.  FFORK1 neglects  to  check  if
SYSFK contains a valid fork number, and then passes -1 along.
  
[CURE]
  
  
     Check the fork number we get from SYSFK at FFORK1+2.   If  it  is
-1, don't attempt to freeze the fork, as it doesn't exist.
  
********************************************************************************
  
  
                             EDIT 1869   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     FLKTIM and FLKNS Bugchecks.
  
[DIAGNOSIS]
  
  
     When attempting to lock the fork structure within a job, if it is
already  locked,  the Monitor will allow this lock under the following
two conditions:  this fork is the same fork that originally locked it,
and  the  lock  is  nestable.   The  check  for  a  nestable  lock  is
unnecessary.
  
[CURE]
  
  
     At FLOCK1+5, only check if the current fork is the  one  who  has
the lock.  If so, allow this lock.
  
********************************************************************************
  
  
                             EDIT 1870   FOR MONITO
  
[SYMPTOM]
  
With edit 1865 installed, the system will hang at sysetm
shutdown
  
[DIAGNOSIS]
  
JOB0 will continually run because it figures it must stay
awake to schedule the shutdown process.  This is because
it assumes a -1 in HSYST1 means that the system still needs
to be shut down.
  
[CURE]
  
Make check in CHKR for system already shutdown.
********************************************************************************
  
  
                             EDIT 1871   FOR MONITO
  
[SYMPTOM]
  
Tape label read errors after edit to fix TPBLKB bugchks is
installed.
  
[DIAGNOSIS]
  
Needed to do an MCALL rather than a CALL to MTFLSH
  
[CURE]
  
Do that.
********************************************************************************
  
  
                             EDIT 1872   FOR MONITO
  
[SYMPTOM]
  
ILSRC BUGHLTs
  
[DIAGNOSIS]
  
Illegal value recieved from HSHPG probably because the HSHPG
was in the middle of being updated when the reference to  it
to get the offset into the accounting data file was made.
  
[CURE]
  
Lock the accounting data base before making this  reference.
********************************************************************************
  
  
                             EDIT 1873   FOR MONITO
  
[SYMPTOM]
  
GDSTS does not return bytes transferred by a DUMPI or  DUMPO
call when doing I/O to a labeled tape.
  
[DIAGNOSIS]
  
The labeled tape  routine to return  the device status  does
not get the bytes transferred  from MAGTAP when the tape  is
opened in dump mode.
  
[CURE]
  
Check to see  if the tape  is opened in  dump mode.  If  so,
trust the  bytes  transferred  returned from  the  call  the
MAGTAPs get status routine.
********************************************************************************
  
  
                             EDIT 1874   FOR MONITO
  
[SYMPTOM]
  
ILMREF after 1867 installed.
  
[DIAGNOSIS]
  
DSKSIZ index not restored at DSECT1.
  
[CURE]
  
Restore it.
********************************************************************************
  
  
                             EDIT 1875   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     Various errors when reading dump mode magtape.  One  or  more  of
the pages of the input buffer will contain old data.
  
     RESTORE, PRINT and CHECK commands to  DUMPER  may  give  sequence
errors  followed  by a variety of other error messages, such as "%Tape
has files missing".  These  problems  are  most  likely  to  occur  on
heavily  loaded  systems  that  are low on memory (256K), when reading
long tape records (DUMPER blocking factor of 4 to 8).
  
[DIAGNOSIS]
  
  
     Routine MTDIR5 calls WRPGS to set the modified bit  in  CST0  for
each  page  of  the  input  buffer.  The pages are locked in core at a
later time, and then the IORB is queued.
  
     If the page is swapped out after the  modified  bit  is  set  but
before  the  page  has been locked, swapping it back in will reset the
modified bit.  After the transfer, the page  is  not  written  out  on
garbage collection because the monitor thinks there is a valid copy of
the page in the swapping space.  When that page  is  swapped  back  in
from the swapping space, we have invalid data.
  
[CURE]
  
  
     Force the modified bit to be set after the page has  been  locked
and before the transfer.
  
********************************************************************************
  
  
                             EDIT 1876   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Automatic volume switch at  end  of  reel  does  not  occur  when
writing a labeled tape in dump mode.
  
[DIAGNOSIS]
  
     Code does not set ERRF flag  on  end-of-tape  encountered  before
returning  to  caller.   Labeled  tape code wants it set to key volume
change tests.
  
[CURE]
  
     Set the flag, analogous to the non-dump mode output case.
********************************************************************************
  
  
                             EDIT 1877   FOR MONITO
  
[SYMPTOM]
  
When an  operator  issues  the OPR  command  'SET  SCHEDULER
BATCH-CLASS BACKGROUND (or NONE), the currently active batch
jobs are not affected.
  
[DIAGNOSIS]
  
The .SKBBG  function of  the  SKED% JSYS  does not  set  the
priority of currently active batch jobs.
  
[CURE]
  
Loop over all PTYs looking for batch jobs.  Then change  the
priority of  the  batch job  to  reflect the  state  of  the
background flag.
********************************************************************************
  
  
                             EDIT 1878   FOR MONITO
  
[SYMPTOM]
  
The CRDIR% JSYS may leave the job with a JFN on a  directory
file.
  
[DIAGNOSIS]
  
If the  directory  file  is  open, the  call  to  CHKOFN  at
DELDI6+20 will fail.  The  error return neglects to  release
the JFN on the directory.
  
[CURE]
  
Instead of returning, jump to DELDI3, which releases the JFN
and returns an error.
********************************************************************************
  
  
                             EDIT 1879   FOR MONITO
  
[SYMPTOM]
  
IPCSOD BUGCHKs.
  
[DIAGNOSIS]
  
There is  a  race  in  IPCF  that  when  a  job  is  getting
initialized, its senders count is reset while the IPCF  data
base is unlocked.  This leaves about a 10 line window  where
if another job recieves a  message sent previously by a  job
with  the  same   number  as  the   one  which  is   getting
initialized, the senders count will be over decremented  and
an IPCSOD BUGCHK will be generated.
  
[CURE]
  
Lock up the data base early in the PIDJBI routine.
********************************************************************************
  
  
                             EDIT 1880   FOR MONITO
  
[SYMPTOM]
  
GNJFN JSYS does not return file if the highest generation of
the file is deleted.
  
[DIAGNOSIS]
  
VERLUK being told to ignore deleted files.
  
[CURE]
  
If user does not  want deleted files,  then never set  IGDLF
before the call to VERLUK.
********************************************************************************
  
  
                             EDIT 1881   FOR MONITO
  
[SYMPTOM]
  
If a .CMCMA function is terminated by an escape, the  fields
following the comma  will not parse  correctly.  If a  noise
word follows, it will not be  printed and COMND will act  as
if the  escape  was  typed  for the  first  non  noise  word
function following the comma.
  
[DIAGNOSIS]
  
The comma  parsing  routine  does not  check  the  character
following the ',' for an  escape.  Therefore, it remains  in
the buffer, the  CM%ESC flag  is not set  and the  following
fucntions will see the escape.
  
[CURE]
  
Read the next character after the comma is parsed.  If it is
an escape, delete it  from the buffer  (the CM%ESC flag  was
set upon reading it).  If it  is not an escape, put it  back
in the buffer.
********************************************************************************
  
  
                             EDIT 1882   FOR MONITO
  
[SYMPTOM]
  
When a nul field is parsed for a switch or keyword for which
there are more than one item in the keyword table, the error
message ?Ambiguous is returned.
  
[DIAGNOSIS]
  
No check is made for nul field before returning error code.
  
[CURE]
  
Make the check at CMAMB+1.
********************************************************************************
  
  
                             EDIT 1883   FOR MONITO
  
[SYMPTOM]
  
Ambiguous error  message when  a slash  is ommitted  from  a
switch function.
  
[DIAGNOSIS]
  
No check  is made  on  a null  field  for whether  a  prefix
character  should  have  been  typed  and  whether  it  was.
Without  this  check,   an  error  condition   can  not   be
determined.
  
[CURE]
  
At CMRATT, check  for an unsatisfied  prefix condition.   If
so, return the PREERR.
********************************************************************************
  
  
                             EDIT 1884   FOR MONITO
  
[SYMPTOM]
  
If a bare CRLF is input as a command line to the COMND JSYS,
and if  the  following input  can  be parsed  by  the  first
function in the chain, this  function will be the one  which
parses regardless of whether  there are better functions  in
the chain.
  
[DIAGNOSIS]
  
After resetting the buffers for  the input and retyping  the
prompt on a bare CRLF,  COMND remains on pass2.  This  means
it will  not attempt  to find  the best  function to  parse,
rather it will parse the first successful function.
  
[CURE]
  
Jump back to  XCOMB0 to  reset PASS1 rather  than XCOMN0  in
CHKDEF.
********************************************************************************
  
  
                             EDIT 1885   FOR MONITO
  
[SYMPTOM]
  
Unparsed characters  from default  string cause  parsing  of
following function to generate errors.
  
[DIAGNOSIS]
  
When an escape is typed, the entire default string is copied
into the  command buffer,  even if  the string  contained  a
break character.   When this  string  is parsed,  the  break
character terminates  the input  for the  function yet,  the
rest of the default string  is still in the command  buffer.
This will cause the next function to return an error.
  
[CURE]
  
Check the default  string when copying  the string into  the
command  buffer.   If  a  break  character  is  encountered,
generate a COMX10 error.
********************************************************************************
  
  
                             EDIT 1886   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     J0NRUN BUGHLTs, hung jobs.
  
[DIAGNOSIS]
  
     With working set preloading, the PREPGP routine should return the
page  number  to  be  waited  for, but the call to SWPIN returns <page
number>,,SWPRT instead of page number, so preloading winds up  waiting
for  the  page number corresponding to the address of SWPRT to be read
in, which is likely to be forever.
  
[CURE]
  
     Restore the page number into the proper place  in  T1  after  the
call to SWPIN.
********************************************************************************
  
  
                             EDIT 1887   FOR MONITO
  
[SYMPTOM]
  
Cannot read variable length records on EBCDIC labeled tapes.
  
[DIAGNOSIS]
  
The MONITOR does not make check correctly for a new physical
record just read in,  so it never  does any BDW  processing.
It assumes the RCW  is a BDW and  thus will return a  record
the size of a physical block.
  
[CURE]
  
Correct check for new block.
********************************************************************************
  
  
                             EDIT 1888   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     If a carriage return is typed while parsing a noise  word,  after
having  supplied  a  default  value for at least one field, COMND will
reissue the prompt rather than return  to  the  user  to  perform  the
default actions.
  
[DIAGNOSIS]
  
  
     Routine NLINE, which decides what to do about a carriage  return,
neglects to check if we are parsing a noise word.
  
[CURE]
  
  
     Make NLINE check if parsing a noise word,  and  if  so,  continue
with current command.
  
********************************************************************************
  
  
                             EDIT 1889   FOR MONITO
  
[SYMPTOM]
  
The tape data mode is reset to job default when a rewind  is
done.
  
[DIAGNOSIS]
  
When a rewind  is performed, the  tape is logically  closed,
and  remains  closed  even  after  the  rewind  function  is
complete.
  
When the  next  I/O  operation is  requested,  the  tape  is
reopened.  At this time, the data  mode is reset to the  job
default.
  
[CURE]
  
After this open,  the the  data mode  should be  set to  the
previously requested  mode.   This requires  a  new  storage
location in the  labeled tape storage  area which holds  the
prevailing tape data  mode.  When the  tape is opened,  this
mode should be reset to system default.  When the data  mode
is set,  this location  should reflect  the change  and  all
future logical  opens  should  set  the  data  mode  to  the
prevailing mode.
********************************************************************************
  
  
                             EDIT 1890   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     ILMNRF BUGHLTs.
  
[DIAGNOSIS]
  
     SAVE JSYS may inadvertently make reference to a nonexistent  fork
page  through  the  mapping  into  monitor space of the process pages.
This will cause the ILMNRF.  This  can  occur  if  the  state  of  the
process  pages  is  fluctuating  for  some  reason, such as control by
another fork.
  
[CURE]
  
     In SSAVB9 where the page is checked for being all zero, ERJMP the
references to the page to trap any potential ILMNRF situations.
********************************************************************************
  
  
                             EDIT 1891   FOR MONITO
  
  
  
  
[SYMPTOM]
  
  
     A structure mounted for exclusive use by a job can only  be  used
by the mounting fork instead of the entire job.
  
  
[DIAGNOSIS]
  
  
     MSTR leaves  the  structure  in  initialize  mode  for  exclusive
mounts.  Only the initializing fork can access the structure.
  
  
[CURE]
  
  
     Assign the structure to the mounting job for exclusive mounts and
nover leave the structure in initialize mode.
  
********************************************************************************
  
  
                             EDIT 1892   FOR MONITO
  
[SYMPTOM]
  
With edit 1885 installed, certain default strings will not work
  
[DIAGNOSIS]
  
1885 checks for characters which would be break characters for
the first function in the chain.  The default string may be
valid for functions further down in the chain.
  
[CURE]
  
Remove it for now.
********************************************************************************
  
  
                             EDIT 1893   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     MTA error retry count is wrong.
  
[DIAGNOSIS]
  
     For the case of a recovered error, the code winds  up  at  ABTNOS
before  it accounts for the retry.  The retry failed cases account for
the trial.
  
[CURE]
  
     Count up the retry at the retry succeeded case in RTYNOE.
********************************************************************************
  
  
                             EDIT 1894   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Bad DUMPO/DUMPI can cause ILPAG1 if a  valid  non-blocking  DUMPO
was issued.
  
  
[DIAGNOSIS]
  
     DUMPO locks all affected pages in memory.  A write  to  a  locked
page  can  cause  a  new copy of the page to be created if the page is
COPY-ON-WRITE.  The routine WCPY causes the locked page to be  swapped
out.  The swapout routine can cause an ILPAG1 if the page is locked.
  
  
[CURE]
  
     If a DUMPI/DUMPO fails wait for all other DUMPIs  and  DUMPOs  to
complete.
********************************************************************************
  
  
                             EDIT 1895   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Edit 1894 did not account for all cases.
  
  
[DIAGNOSIS]
  
     Edit 1894 accounts only for memory writes done because of another
bad DUMPI/DUMPO any memory write can cause a crash.
  
  
[CURE]
  
     Pre-write all pages for a DUMPO.
********************************************************************************
  
  
                             EDIT 1896   FOR MONITO
  
[SYMPTOM]
  
GNJFN JSYS does not return file if the highest generation of
the file is deleted.
  
[DIAGNOSIS]
  
VERLUK being told to ignore deleted files.
  
[CURE]
  
Let the GNJFN code weed out deleted files so always ask the
lookup routines to return deleted files.
********************************************************************************
  
  
                             EDIT 1897   FOR MONITO
  
See file for edit 1898.
********************************************************************************
  
  
                             EDIT 1898   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     GETER JSYS returns wrong value after floating point output error.
  
[DIAGNOSIS]
  
     FLOUT and  DFOUT  error  cases  fail  to  store  error  properly,
monitor's AC1 is saved instead.
  
[CURE]
  
     Correct code to save the proper error code in LSTERR.
********************************************************************************
  
  
                             EDIT 1899   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     If the user is over his logged-in quota, CRDIR will  always  fail
(with a CRDI21 if nothing else is wrong), regardless of what functions
are selected.
  
  
[DIAGNOSIS]
  
     On an existing directory, CRDIR  always  checks  to  see  if  the
logged-in quota is exceeded, and fails (with a CRDI21) if it is.
  
  
[CURE]
  
     If neither quota is being changed (CD%LIQ and CD%LOQ  both  off),
don't check to see if over logged-in quota.
  
********************************************************************************
  
  
                             EDIT 1900   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Edit 1895 can cause  massive  performance  problems  in  programs
which do alot of DUMPOs such as DUMPER.
  
  
[DIAGNOSIS]
  
     Edit  1895  tries  to  write  all  pages  and  usually  causes  a
copy-on-write  page  fault.   The excessive overhead of creating pages
causes performance problems.
  
  
[CURE]
  
     Cause an illegal memory write if WCPY  is  called  for  a  locked
page.  In SCHED cause the failure of the UMOVEM which stores the flags
and PC on the stack for an ERCAL to cause an illegal memory write  for
the user.
********************************************************************************
  
  
                             EDIT 1901   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     ILLUUO Bughalts after edit 1834 has been installed.
  
[DIAGNOSIS]
  
  
     Edit 1834 put NOSKED/OKSKED into code that could be called by the
scheduler.
  
[CURE]
  
  
     Replace the NOSKED/OKSKED with NOSKD1/OKSKD1.
  
********************************************************************************
  
  
                             EDIT 1902   FOR MONITO
  
[SYMPTOM]
  
Edit 1883 contained a typo.  No commands would work.
  
[DIAGNOSIS]
  
SKIPLE at CMRTIE should be a SKIPG
  
[CURE]
  
Change it.
********************************************************************************
  
  
                             EDIT 1903   FOR MONITO
  
[SYMPTOM]
  
Inconsistencies with  COMND JSYS  when parsing  .CMFIL  with
.GJALL specified  as  the  extension.   No  error  would  be
generated unless the line was  reparsed, at which point  the
error GJFX31 would be returned.
  
[DIAGNOSIS]
  
GTJFN places the file string  that was parsed into the  atom
buffer.  When .GJALL is specified,  the '*' for the  version
is also  placed in  the atom  buffer.  When  this string  is
reparsed, the * is illegal because GJ%IFG was not  specified
in the call.
  
[CURE]
  
When defaulting the version number of the file, do not allow
.GJALL if GJ%IFG was not specified in the call.
********************************************************************************
  
  
                             EDIT 1904   FOR MONITO
  
[SYMPTOM]
  
With edit 1882 installed, improper error messages are returned
when the field is ambiguous
  
[DIAGNOSIS]
  
The NOPARS macro is a two word macro.  This makes it unsuitable
for use as a skipped instruction.  Yet this is how the edit used
it.
  
[CURE]
  
Do not use the NOPARS macro.  Instead, load the ACs and call
XCOMNE directly.
********************************************************************************
  
  
                             EDIT 1905   FOR MONITO
  
[SYMPTOM]
  
MJBUSE does not hold the maximum job number in use.
  
[DIAGNOSIS]
  
At HLTJB3-5 the compare instruction for whether the  current
job is the current maximum  job in use doesn't work  because
T2 does not contain the current job number.
  
[CURE]
  
Load the job number before making the compare.
********************************************************************************
  
  
                             EDIT 1906   FOR MONITO
  
[SYMPTOM]
  
JSYS  Trapping  programs   recieve  interrupts  from   JSYSs
executed  from   execute   only  programs.    This   reveals
information about the execute only program.
  
[DIAGNOSIS]
  
This really wasn't addressed before.
  
[CURE]
  
Before trapping JSYSs, check  for whether executing  process
is execute only.   If so,  perform the  JSYS as  if no  JSYS
trapping was occuring.
********************************************************************************
  
  
                             EDIT 1907   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     GTDIR clobbers 1 word beyond the end of the user  group  list  or
directory group list if there are too many groups to fit in the list.
  
  
[DIAGNOSIS]
  
     GTDIR forgets to subtract 1 from the block size  (which  inclused
the length word) before using it to decide how many groups to report.
  
  
[CURE]
  
     Subtract 1 from the block size before counting with it.
********************************************************************************
  
  
                             EDIT 1908   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     When passing a HRROI style byte pointer to JFNS, and no string is
returned  to  the  user,  a null byte is deposited in the destination.
However, the byte pointer is not updated to reflect the null byte.
  
[DIAGNOSIS]
  
  
     JFNS deposits a null byte before doing anything else,  but  fails
to  update the user's byte pointer for the case when nothing else gets
returned.
  
[CURE]
  
  
     Make JFNS  update  the  user's  byte  pointer before depositing
the null byte, so it will be pointing before the byte.
  
********************************************************************************
  
  
                             EDIT 1909   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     RCUSR fails to see all users which  match  a  wild  user  string;
when  a .CMUSR (or .CMDIR) FDB with CM%DWC set is used to parse a wild
user (or directory) string with no matches, COMND returns a zero  user
(or directory) number with CM%NOP clear.
  
  
[DIAGNOSIS]
  
     RCUSR calls MDDDIR,  which  will  not  return  the  number  of  a
directory  to  which  the caller does not have read access;  RCUSR and
RCDIR both set  RC%NMD  when  a  wild  string  has  no  more  matches,
regardless of whether RC%STP is set.
  
  
[CURE]
  
     Modify MDDDIR so it will not check read access of directories  if
called  from RCUSR;  make RCUSR and RCDIR set RC%NOM instead of RC%NMD
if RC%STP is off.
  
********************************************************************************
  
  
                             EDIT 1910   FOR MONITO
  
[SYMPTOM]
  
Class load average trashing.
  
[DIAGNOSIS]
  
Race in SCHED which  would cause the class  of a logged  out
job to get changed.
  
[CURE]
  
Since CHGCLS is called NOSKED, check in CHGCLS if the job is
logged in.  If it is not, don't decrement or increment class
counts.
********************************************************************************
  
  
                             EDIT 1911   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     If TT%LCA and TT%UOC are set then delete causes  a  backspace  of
too many characters.
  
  
[DIAGNOSIS]
  
     TT%LCA causes TT%UOC to be ignored but  TEXTI,  RDTTY  and  COMND
don't  know this and they cause a backspace of 2 characters instead of
1.
  
  
[CURE]
  
     If TT%LCA is set ignore TT%UOC.
********************************************************************************
  
  
                             EDIT 1912   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Edit 1900 Forgot to save  the  T  regs  in  SCHED.   No  symptoms
observed but very risky.
  
  
[DIAGNOSIS]
  
     As above.
  
  
[CURE]
  
     Save T regs.
********************************************************************************
  
  
                             EDIT 1913   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     A disk powered up on a pack  which  was  just  switched  to  this
system is not seen by MOUNTR but the MONITOR knows about it.
  
  
[DIAGNOSIS]
  
     The disk initialization code does not cause a PSI to be generated
for MOUNTR.
  
  
[CURE]
  
     Set bit US.PSI in RP4INI which will cause a PSI to MOUNTR.
********************************************************************************
  
  
                             EDIT 1914   FOR MONITO
  
[SYMPTOM]
  
DIRFDB, DIRDNL, ULKSIZ, and RELINT BUGCHKs
  
[DIAGNOSIS]
  
When releasing  a  parse  only  JFN,  it  sometimes  may  be
associated with a new file.   In this case, an attempt  will
be made to delete the new FDB.  It is possible, though, that
the FDB will have already been deleted due to a close  abort
or a  delete and  a  lookup will  have  to be  performed  to
acquire the address of the FDB to delete.  Since the JFN  is
a no parse JFN, it is assumed that no FDB is associated with
it.  The  lookup routine  (VERLKX) will  return success  but
with the directory unlocked.   This will make GETFDB  return
success also.  A  call will subsequently  be made to  USTDIR
which will  generate the  series  of BUGCHKs.   The  problem
arises because a parse only JFN is given a new file FDB.
  
[CURE]
  
If it is noted early in the GTJFN JSYS, that we are  parsing
a parse only JFN,  then no FDB will  be created.  This  will
have two side affects,  mostly preferable.  Parse only  JFNs
will never acquire an FDB,  regardless of whether stars  are
typed.  This means, file I/O will never be allowed to  occur
to a parse only  JFN.  Currently, if no  stars are typed  in
the string, the JFN can be  opened and I/O can occur.   (ie.
it is treated as if the JFN were not a parse only JFN).  The
second effect is that the  bits GJ%NEW and GJ%OLD will  have
no bearing on the parsing of the parse only JFN.  Currently,
if the bit GJ%OLD is set,  the file name must exist for  the
GTJFN to succeed.
  
********************************************************************************
  
  
                             EDIT 1915   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     Ctrl/R sends the screen clearing code twice.
  
[DIAGNOSIS]
  
  
     Bug in the code.
  
[CURE]
  
  
     Insert enclosed patch.
  
********************************************************************************
  
  
                             EDIT 1916   FOR MONITO
  
[SYMPTOM]
  
Edit 1903 broke DUMPER.
  
[DIAGNOSIS]
  
After an asterick is typed, the bit which says that astericks are
allowed is cleared and a bit which says an asterick has been typed
is set.  Edit 1903 needed to test both bits.
  
[CURE]
  
Test whether astericks are allowed as well as whether an asterick
has been typed.
********************************************************************************
  
  
                             EDIT 1917   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     DELF JSYS with arguments DF%NRJ and DF%CNO for  an  offline  file
returns error code ARGX25 - "Invalid class".
  
[DIAGNOSIS]
  
     Wrong code;  should be ARGX26 - "File is offline".
  
[CURE]
  
     Change the code to ARGX26.
********************************************************************************
  
  
                             EDIT 1918   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     A quoted recognition character parsed by the .CMTXT  function  of
COMND,  will  cause  the monitor to send CTRL/G to the user's terminal
when the user attempts to terminate the field.
  
[DIAGNOSIS]
  
  
     Routine CMCINT neglects to check  if  the  current  character  is
quoted.
  
[CURE]
  
  
     Check if the current character is quoted and, if  so,  don't  set
the recognition character bits.
  
********************************************************************************
  
  
                             EDIT 1919   FOR MONITO
  
[SYMPTOM]
  
Fortran can die with Memory Protection Violation
after edit 1857 is installed.
  
[DIAGNOSIS]
  
Edit 1857 performs a LDB on a byte pointer which may
point to a non-existent page.  We should perform an
ILDB on the pointer.
  
[CURE]
  
Do it.
********************************************************************************
  
  
  
END OF  TOPS-20-2020-V4