Google
 

Trailing-Edge - PDP-10 Archives - BB-L014C-BM - autopatch/t20404.d03
There are no other files named t20404.d03 in the archive.
                 EDIT DESCRIPTIONS FOR TOPS-20-2040-V4                          
  
  
                             EDIT 625    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     Doing SET NO UUO-SIMULATION on an execute-only process causes  an
illegal instruction trap.
  
  
[DIAGNOSIS]
  
     No ERJMP error handler is  provided  for  the  SCVEC  JSYS  which
attempts to do this.
  
  
[CURE]
  
     Add an ERJMP CJERRE after the SCVEC call.
  
********************************************************************************
  
  
                             EDIT 626    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     EDIT long-file-name completed by an escape, followed  by  another
EDIT  command,  causes  the  file  name to be truncated for the second
edit.
  
  
[DIAGNOSIS]
  
     Code to fix file names entered with an explicit generation number
(presumably   through  recognition)  for  saving,  combined  with  the
implicit presumption that the same filespec was typed in as an  output
filespec as well, causes a poorly-formed command to be saved.
  
  
[CURE]
  
     Don't assume that an output filespec was typed in;  if it  isn't,
don't save "EDIT filespec filespec", just "EDIT filespec".
  
********************************************************************************
  
  
                             EDIT 627    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     The /RUN switch to  the  EDIT  command  accepts  any  well-formed
filespec.
  
  
[DIAGNOSIS]
  
     The filespec is read with a .CMOFI FDB.
  
  
[CURE]
  
     Read it with a .CMIFI FDB.
  
********************************************************************************
  
  
                             EDIT 628    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     If  location  41  is  trashed,  an  infinite  number  of  illegal
instruction trap messages are printed.
  
  
[DIAGNOSIS]
  
     Location 41 is only reloaded after an illegal instruction trap in
some cases (when ILIDSP is non-zero).
  
  
[CURE]
  
     Reload it earlier (at ILIPSI).
  
********************************************************************************
  
  
                             EDIT 629    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     CANCEL RETRIEVE ?  doesn't tell the user about *  to  cancel  all
commands.
  
  
[DIAGNOSIS]
  
     Default help text omits this option.
  
  
[RESTRICTION]
  
     Fixed in AUTOPATCH Edit 629 to the EXEC.
  
********************************************************************************
  
  
                             EDIT 630    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     "/AFTER:time", where time  is  before  the  switch  is  used,  is
interpreted  as "/AFTER:today time", not "/AFTER:tomorrow time", as is
the case in TOPS-10.  Also, the "BEFORE time" subcommand of DIRECTORY,
where  time is after the subcommand is used, is interpreted as "BEFORE
today time", not "BEFORE yesterday time", as  is  the  case  with  the
/BEFORE switch in TOPS-10.
  
  
[DIAGNOSIS]
  
     No code is included to do fixups of this type.
  
  
[CURE]
  
     If no explicit day or date is input, fix up the input time in the
appropriate sense:  forward if future time, backward if past time, not
at all if present time.
********************************************************************************
  
  
                             EDIT 631    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     EXEC will try to LOAD a file with a  7  character  file  name  if
recognition  is  used on the filename.  This is incompatible with LINK
and most compilers.
  
  
[DIAGNOSIS]
  
     Coding error.  Code at GTASC:  prints an  error  message  if  the
string typed was seven or fewer characters long.
  
  
[CURE]
  
     Change routine at GTASC:  to check for 6 characters or fewer.
  
********************************************************************************
  
  
                             EDIT 632    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     COMPILE  /LANGUAGE-SWITCHES:"/MACRO"  FOO.FOR  doesn't  pass  the
"/MACRO" to FORTRAN.
  
  
[DIAGNOSIS]
  
     Code to handle /LANGUAGE-SWITCHES works only when it's invoked as
a local file switch.
  
  
[CURE]
  
     Change the code at RDQS and DOLSW to handle this case, and add  a
new entry, RDQOT1, to the RDQUOT code.
  
********************************************************************************
  
  
                             EDIT 633    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     All file extensions override global language switches  (/FORTRAN,
/ALGOL, etc.).
  
  
[DIAGNOSIS]
  
     The present code does this by design.
  
  
[CURE]
  
     Change routine LOOKE to let a global language switch override the
default one from the file's extension (but if the file is a .REL file,
do not override).
  
********************************************************************************
  
  
                             EDIT 634    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     If two or more file types have had default compile  switches  set
by  the use of SET DEFAULT COMPILE-SWITCHES, and if a file type before
the last one in alphabetical order has its  default  compile  switches
removed  by  SET  NO  DEFAULT COMPILE-SWITCHES, subsequent SET DEFAULT
COMPILE-SWITCHES for new file types fail.
  
  
[DIAGNOSIS]
  
     Extension and switch  storage  areas  are  managed  by  heap-type
allocation  in  private areas EXTBUF and DCSSTG, but the heaps are not
collapsed when a file type is deleted, and so the code overwrites  the
heaps on new file type allocation.
  
  
[CURE]
  
     Use permanent free space instead of DCSSTG and EXTBUF.
  
********************************************************************************
  
  
                             EDIT 635    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     SET DEFAULT COMPILE  SWITCHES  ftype  /LANGUAGE-SWITCHES:"string"
fails to output the language switches for files of type ftype.
  
  
[DIAGNOSIS]
  
     No provision was made to store the quoted string argument  for  a
default /LANGUAGE-SWITCHES.
  
  
[CURE]
  
     Change the code around PARDEF to save the quoted string  so  DOL1
can store it.
  
********************************************************************************
  
  
                             EDIT 636    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     INFORMATION DEFAULT COMPILE-SWITCHES types out lines in the  form
"SET DEFAULT COMPILER-SWITCHES ...".
  
  
[DIAGNOSIS]
  
     String being typed out is wrong.
  
  
[CURE]
  
     Change it.
********************************************************************************
  
  
                             EDIT 637    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     Typing "LOAD /switch + ?" sends the EXEC into  an  infinite,  but
interruptible, garbage typing loop.
  
  
[DIAGNOSIS]
  
     Two calls to routine COMIN did not have .CMCFM FDB's at  the  top
of their passed FDB chain, even though the routine expects this:  if a
CRLF is illegal, COMIN takes the top FDB off the chain,  which  causes
disaster  if  there was only one FDB passed (as at TPLUS), and trouble
if there's more than one (as at TCOMM).
  
  
[CURE]
  
     Add a new entry point to COMIN past the CRLF check,  COMIN1,  and
make TPLUS and TCOMM call COMIN1 instead.
  
********************************************************************************
  
  
                             EDIT 638    FOR EXEC
  
  
  
  
[SYMPTOM]
  
     If the EXEC gets an internal error that causes an "?Invalid CMBFP
pointer", it goes into an infinite error-message loop.
  
  
[DIAGNOSIS]
  
     The code at EOFJER doesn't protect itself against  this  kind  of
error.
  
  
[CURE]
  
     Call CMDINI at EOFJER to reeinitialize COMND after an IOX4  (EOF)
error from TEXTI.
  
********************************************************************************
  
  
                             EDIT 1920   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     TOPS-20 is too big and too slow.
  
[DIAGNOSIS]
  
     Unneeded instruction in REQPSI in CDRSRV, code can fall through.
  
[CURE]
  
     Remove the unneeded CALLRET.
********************************************************************************
  
  
                             EDIT 1922   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     TOPS-20 is too big and too slow.
  
[DIAGNOSIS]
  
     In COMND, at RTYP33, two instructions are wasted by JRST'ing into
a literal to do one instruction and JRST'ing back.
  
[CURE]
  
     Do the instruction inline.
********************************************************************************
  
  
                             EDIT 1923   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     None observed, but code is wrong.
  
[DIAGNOSIS]
  
     Reference to .STDFE in edit 1835 should have  forced  it  to  the
left half for succeeding date arithmetic, instead of right halfword.
  
[CURE]
  
     Change code at DSK10A:  plus several  to  force  .STDFE  to  left
half.
********************************************************************************
  
  
                             EDIT 1924   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     None observed, but code is non-standard and confusing to read.
  
[DIAGNOSIS]
  
     Edits 1802, 1804,  1807,  1813,  1820,  1823,  1825  are  not  in
standard form.
  
[CURE]
  
     Put them in standard form.
********************************************************************************
  
  
                             EDIT 1925   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     None observed, but code is non-standard and confusing to read.
  
[DIAGNOSIS]
  
     Edits 1826, 1827, 1828, 1839, 1849 are not in standard form.
  
[CURE]
  
     Put them in standard form.
********************************************************************************
  
  
                             EDIT 1926   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     None observed, but code is non-standard and confusing to read.
  
[DIAGNOSIS]
  
     Edits 1850, 1851, 1863, 1871, 1877, 1888, 1891,  1894,  1895  are
not in standard form.
  
[CURE]
  
     Put them in standard form.
********************************************************************************
  
  
                             EDIT 1927   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     None observed, but code is non-standard and confusing to read.
  
[DIAGNOSIS]
  
     Edits 1900, 1902, 1907, 1909, 1911,  1912  are  not  in  standard
form.
  
[CURE]
  
     Put them in standard form.
********************************************************************************
  
  
                             EDIT 1928   FOR MONITO
  
[SYMPTOM]
  
Possible incorrect executing of  instructions if an  illegal
reference occurs on an instruction.
  
[DIAGNOSIS]
  
FPD (first part done)  bit is not  cleared correctly in  the
illegal page reference code.
  
[CURE]
  
Clear the correct bit.
********************************************************************************
  
  
                             EDIT 1929   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     TOPS-20 is too big and too slow.
  
[DIAGNOSIS]
  
     The WRMSGF contruct is effectively unused and unneeded.
  
[CURE]
  
     Remove the unneeded code.
********************************************************************************
  
  
                             EDIT 1930   FOR MONITO
  
[SYMPTOM]
  
KPALVH BUGHLTs, hung jobs, hung system when page or sections are
mapped into a loop.  When certain arguments to JSYSs are in a
page which is mapped to a loop, the job would loop, sometimes NOINT.
When sections are mapped together in a loop and the process which
contains this map is killed, the system will hang attempting to
resolve the indirect section pointers.
  
[DIAGNOSIS]
  
Tops-20 depends on loops not existing.  Code could probably be added
to make argument checking and page fail code more careful about
dealing with potential loops but it seems that the mapping code
should disallow loops.
  
[CURE]
  
Insert code at MSETST and SETPT0 which will check for page or
section map loops.  Error codes SMAPX2 and PMAPX8 will be returned
from SMAP and PMAP respectively if a loop is detected.
  
[End of TCO 5.1433]
  
********************************************************************************
  
  
                             EDIT 1932   FOR MONITO
  
[SYMPTOM]
  
Invalid simultaneous access messages when opening a long
file and someone already still has it opened short.
  
[DIAGNOSIS]
  
Incorrect STKVAR usage causes trashed OFN location when
checking for long file OFN still opened short.
  
[CURE]
  
Correct the STKVAR usage.
********************************************************************************
  
  
                             EDIT 1933   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     TOPS-20 is too big and too slow.
  
[DIAGNOSIS]
  
     In the FLOUT code, an unnecessary UMOVE is  done  before  calling
BOUTA.
  
[CURE]
  
     Remove the unneeded code.
********************************************************************************
  
  
                             EDIT 1934   FOR MONITO
  
[SYMPTOM]
 None observed, but code is wrong.
  
[DIAGNOSIS]
 Call of SETDIR/SETDRR from MDDDIR in section 1 drops into section 0.
  
[CURE]
 Set the IFIW bit in the indirect words to force an in-section call.
********************************************************************************
  
  
                             EDIT 1935   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     When a pack is changed  abruptly  the  monitor  does  not  always
report the error.
  
  
[DIAGNOSIS]
  
     The routine which reports the error is only called  when  a  home
block  check  IORB  is  complete and this routine will only report the
error when a sixty second timer becomes zero to  prevent  printing  an
immense  number of error messages, unfortunatly if only one units home
blocks are being checked a new home block check IORB is generated once
every  2  seconds.   Since  a  home block check IORB usually completes
quickly (less than 1 second) it is possible that the  error  reporting
routine will never be called when the counter is zero and so the error
will never be reported.
  
     A worse case also exists where if a home block check  IORB  times
out (after 20 seconds) the routine which reports this error depends on
the same minute counter so if a problem  which  prevents  home  blocks
from being read exists it is likely that it will never be reported.
  
  
[CURE]
  
     When  either  of  the  above  problems  are  noticed  report   it
immediatly  and  set  the  disk  offline.   This  will insure that the
operator sees the error message and that the disk will be set unusable
until  something  is done to correct the problem.  It will also insure
that the MSTR JSYS will return more useful information about the  disk
(it is not mounted and offline).
********************************************************************************
  
  
                             EDIT 1936   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     If CTRL/V is set as a break character to TEXTI%, the first CTRL/V
typed will be ignored.
  
[DIAGNOSIS]
  
  
     The CTRL/V routine returns after the break mask  is  checked  for
the current character.
  
[CURE]
  
  
     Make the CTRL/V routine return a few instructions before it does,
to INSRT instead of INSRT1.
  
********************************************************************************
  
  
                             EDIT 1937   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     SOUT Jsys to .PRIOU with a large byte count  causes  the  job  to
loop uncontrollably.
  
[DIAGNOSIS]
  
  
     SOUT to .PRIOU calls routine TTYBLO, to output  each  byte  in  a
loop.   This  routine  goes  NOINT,  to  prevent  interrupts.   If  an
unreasonable byte count is passed in AC3, this routine  will  continue
looping, ignoring CTRL/C's and LOGOUT's from other terminals.
  
[CURE]
  
  
     Add a loop counter at TTYOLP.  After the loop has  been  executed
1000 times, check for interrupts and then continue the loop.
  
********************************************************************************
  
  
                             EDIT 1938   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Job doing SIN/SINR with infinite indirection in the byte  pointer
cannot be stopped with control C.
  
  
[DIAGNOSIS]
  
     Fork doing reference is NOINT.
  
  
[CURE]
  
     Try to load a byte before going NOINT.
********************************************************************************
  
  
                             EDIT 1939   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     CHECKD releases Bat blocks on an RM03 pack.
  
[DIAGNOSIS]
  
  
     CHECKD (and Tops-20) neglect to translate the physical  addresses
stored in the Bat block back to the logical address that Tops-20 uses,
taking lost sectors into account.
  
[CURE]
  
  
     Force CHECKD to translate the  Bat  block  addresses,  which  are
physical,  to  logical addresses, accounting for lost sectors, when it
reads the Bat blocks in.  Make Tops-20 do the  same.   This  will  not
harm  other  types  of  drives,  as  the  translation from physical to
logical results in the same address for other drive types.  This  edit
requires a patch to Tops-20 as well as a patch to CHECKD.MAC.
  
********************************************************************************
  
  
                             EDIT 1940   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     SIN after write may see end of file and may make file grow longer
while  returning  records  of nulls.  BIN will correctly notice end of
file under the same circumstances.
  
  
[DIAGNOSIS]
  
     SIN tries to read a record quickly if the record lies within  the
current  buffer.  In order to determine if a quick SIN can be done the
word FILCNT of the JSB is consulted.  FILCNT contains  the  number  of
bytes left in the buffer.
  
     If a read is performed first then everything will work fine since
FILCNT  will  be  set up with the number of bytes in the buffer or the
number of bytes left in the file if this is smaller  then  the  buffer
size.
  
     If a write is performed first then the number of  bytes  left  in
the buffer will reflect the buffer size only since we can write beyond
the end of the file.
  
     The problem arises when reading after writing  first.   When  the
write  is  performed  the  buffer  is read in and FILCNT is set to the
number of bytes in the buffer and the appropriate bytes are deposited.
Suppose  that  we have a file with byte size 7 containing 10 bytes and
we write 1 byte to it, FILCNT  would  contain  4777  (all  numbers  in
octal)  at  the  end  of this operation (buffersize * bytes per word -
bytes written = 1000 * 5 - 1 = 4777).  This is fine  for  writing  but
for  reading  this implies that we can read 4777 more bytes when there
are only 7 bytes left in the file.
  
  
[CURE]
  
     When setting up a file for read look at FILCNT and see if  it  is
greater  than  the  number  of  bytes left in the file.  If it is then
change it to reflect the number of bytes in the file not the number of
bytes left in the buffer.
********************************************************************************
  
  
                             EDIT 1941   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     SIN after write may see end of file and may make file grow longer
while  returning  records  of nulls.  BIN will correctly notice end of
file under the same circumstances.
  
  
[DIAGNOSIS]
  
     SIN tries to read a record quickly if the record lies within  the
current  buffer.  In order to determine if a quick SIN can be done the
word FILCNT of the JSB is consulted.  FILCNT contains  the  number  of
bytes left in the buffer.
  
     If a read is performed first then everything will work fine since
FILCNT  will  be  set up with the number of bytes in the buffer or the
number of bytes left in the file if this is smaller  then  the  buffer
size.
  
     If a write is performed first then the number of  bytes  left  in
the buffer will reflect the buffer size only since we can write beyond
the end of the file.
  
     The problem arises when reading after writing  first.   When  the
write  is  performed  the  buffer  is read in and FILCNT is set to the
number of bytes in the buffer and the appropriate bytes are deposited.
Suppose  that  we have a file with byte size 7 containing 10 bytes and
we write 1 byte to it, FILCNT  would  contain  4777  (all  numbers  in
octal)  at  the  end  of this operation (buffersize * bytes per word -
bytes written = 1000 * 5 - 1 = 4777).  This is fine  for  writing  but
for  reading  this implies that we can read 4777 more bytes when there
are only 7 bytes left in the file.
  
  
[CURE]
  
     When setting up a file for read look at FILCNT and see if  it  is
greater  than  the  number  of  bytes left in the file.  If it is then
change it to reflect the number of bytes in the file not the number of
bytes left in the buffer.
********************************************************************************
  
  
                             EDIT 1942   FOR MONITO
  
[SYMPTOM]
Monitor Uptime item in the System Restart entry of the Usage
file is always zero.
  
[DIAGNOSIS]
The USAGE JSYS does not  accept a field with monitor  uptime
for a  System Restart  Entry, CHKPNT  does not  expect  this
value to be  in SYSTEM-DATA.BIN and  CHKPNT zero fills  this
field anyway.
  
[CURE]
Change the record  descriptor block  for the  USAGE JSYS  at
USGI6B+11 to include  the monitor uptime  item.  Change  the
restart record  format block  that the  USAGE JSYS  uses  at
UFNFRM+1 to expect a monitor uptime item.  In CHKPNT  change
the table (UFRSTT) which tells CHKPNT where to find an  item
for monitor uptime in the SYSTEM-DATA.BIN file.
********************************************************************************
  
  
                             EDIT 1943   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     System crashes and various bugs when a job  detached  because  of
carrier off continues.
  
  
[DIAGNOSIS]
  
     Routine JOBCOF runs in section 0 but may sometimes need to be  in
section 1.
  
  
[CURE]
  
     Insert SE1ENT in JOBCOF.
********************************************************************************
  
  
                             EDIT 1944   FOR MONITO
  
  
  
  
[SYMPTOM]
  
  
     The command INFO DIRECTORY STR:<*>  only  finds  <ROOT-DIRECTORY>
even  though there are other directories on the structure.  ULIST also
experiences this problem.
  
[DIAGNOSIS]
  
  
     <ROOT-DIRECTORY>'s count of subdirectories is zero.  This happens
because CRDIR% does not increment the count when creating directories.
  
[CURE]
  
  
     Make CRDIR% increment the count when creating directories.
  
********************************************************************************
  
  
                             EDIT 1945   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     A DISCARD to a file with status Archive in Progress  (1  copy  on
tape) will cause the file to become Archive Requested.
  
  
[DIAGNOSIS]
  
     This case never considered.  The .ARDIS funtion of ARCF% does not
clear  AR%RAR (archive requested) in the file's FDB.  Thus if the tape
information is discarded in  the  middle  of  an  archival,  the  file
becomes Archive Requested again.
  
  
[CURE]
  
     Clear the other archive status  bits  and  flush  request  before
discarding tape information.
  
********************************************************************************
  
  
                             EDIT 1946   FOR MONITO
  
  
  
  
[SYMPTOM]
  
  
     CLRACE Bughlts on a 2020 after powering off the TM03.
  
[DIAGNOSIS]
  
  
     After failing to clear the tape drives' registers when it noticed
they  were  powered  off,  Tops-20 gave up and fell over.  The system,
though, could actually continue to run without the tape subsystem.
  
[CURE]
  
  
     When we can not clear the drives'  registers,  merely  place  the
offending  channel's  CDB offline and Bugchk with CLRACE.  Also, allow
the set online function of DIAG% to understand this situation and  set
the channel back online without complaining.
  
********************************************************************************
  
  
                             EDIT 1947   FOR MONITO
  
  
  
  
[SYMPTON]
  
  
     If the system is brought up with the class scheduler  turned  off
and  it  is  later turned on and a batch class is assigned, batch jobs
that are logged in at the time do not get assigned to the batch class.
  
[DIAGNOSIS]
  
  
     No code to do it.
  
[CURE]
  
  
     Add the code to change all currently logged-in  batch  job  after
storing the new batch class.
  
********************************************************************************
  
  
                             EDIT 1948   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Spurious hard device errors form TU45/TU77 on TM02/TM03.
  
[DIAGNOSIS]
  
     Format error can come up along with some other error bits.  If it
does,  we  claim  a hard error.  It is a fake format error if the tape
moved, and we should do a retry.
  
[CURE]
  
     Test other bits if format error is set.  Retry if any tape motion
was detected.
********************************************************************************
  
  
                             EDIT 1949   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     When using COMND:  if a command  line  is  edited  back  into,  a
CTRL/C  is  typed,  a  .CMINI is done without resuming the interrupted
COMND jsys, and a CTRL/H is typed in response, a reparse of  trash  is
attempted.
  
  
[DIAGNOSIS]
  
     COMND updates the user's CSB  (importantly,  .CMPTR  and  .CMCNT)
only  on  exit.  While in the TEXTI called by COMND, the user can edit
past the backup limit (.CMPTR value at call time) and change the valid
part  of the buffer without immediately updating his CSB;  if a CTRL/C
is typed while in the TEXTI, the CSB is never updated,  and  a  .CMINI
reparse  may see trash beyond where the buffer pointer really was when
the CTRL/C was typed, generating an error.
  
  
[CURE]
  
     Have TEXTI update .CMPTR and .CMINI before each  input  operation
if COMND is the caller and RD%BLR is set.
  
********************************************************************************
  
  
                             EDIT 1950   FOR MONITO
  
[SYMPTOM]
  
Hung Jobs when JSYS trapping.
  
[DIAGNOSIS]
  
If a superior  process halts  an inferior  process which  is
currently JSYS trapped, the job will hang.  This is  because
the inferior process goes NOINT while it is suspended due to
a JSYS trap.  If the process is halted before it is resumed,
the process will never be given the chance to OKINT  itself.
Therefore,  whenever  any  function  is  performed  on  that
process which  needs  to  have the  process  suspended  (ie,
KFORK) the job will hang.  This is because suspending a fork
actually posts  a  PSI  interrupt to  the  fork  to  suspend
itself.  Since the process is  NOINT, the PSI will never  be
serviced.
  
[CURE]
  
In UTFRK, if  the trapped process  is halted upon  returning
from the trap, set the process OKINT.
********************************************************************************
  
  
                             EDIT 1951   FOR MONITO
  
[SYMPTOM]
  
Various functions of  the MTOPR JSYS  will fail for  labeled
tapes with CLSX1 (File is  not opened) even though the  file
has been opened.
  
[DIAGNOSIS]
  
The file is not opened in the eyes of MAGTAP until some  I/O
has occcured on the tape,  either since the tape was  opened
with the OPENF JSYS or the tape has been rewound.
  
[CURE]
  
For various functions of the MTOPR JSYS, make sure the  tape
is opened with respect to MAGTAP and if not, open it.   This
is accomplished  by  using  the  MTOPR  dispatch  of  MTLFCN
instead of MTMTCM.
  
  
  
  
********************************************************************************
  
  
                             EDIT 1952   FOR MONITO
  
[SYMPTOM]
  
Non enabled users  sometimes cannot access  files on  EBCDIC
labeled tapes.
  
[DIAGNOSIS]
  
RACF  protection   is   being  enforced   for   tapes   with
non-standard  RACF   protection  characters   in  the   file
accesibility field of the HDR1 label.
  
[CURE]
  
If a non standard  character appears in  this field, do  not
perform RACF protection verification (the ACJ request).
********************************************************************************
  
  
                             EDIT 1953   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     System crashes with edit 1943 installed with ILMNRF.
  
  
[DIAGNOSIS]
  
     Returning to RESTT (restore T regs) caused by  SAVET  macro  does
not work from non zero section since SAVET puts wrong stuff on stack.
  
  
[CURE]
  
     Do SE1ENT before SAVET.
********************************************************************************
  
  
                             EDIT 1954   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     .CMNOI doesn't work when linked to another function  even  though
the code says that the guide word should be printed.
  
  
[DIAGNOSIS]
  
     Jump to the wrong label.
  
  
[CURE]
  
     Jump to XCOM8 instead of XCOM7.
********************************************************************************
  
  
                             EDIT 1955   FOR MONITO
  
  
  
  
[SYMPTOM]
  
  
     Shortage of OFN's.
  
[DIAGNOSIS]
  
  
     When a directory is mapped for a fork, there is code to  possibly
add  the  directory to the directory cache.  If the directory is added
to the cache, a flag is  set,  informing  the  unmap  routine  not  to
release the OFN for this directory, since it is in the cache.  In this
case, the OFN will be released when the directory is removed from  the
cache.  There is one path through the cache routine when the directory
is not added to the cache, but the flag is set to keep the OFN.   This
will cause the OFN for the directory to remain assigned.
  
[CURE]
  
  
     Fix the code at MAPELN to set the flag correctly.
  
********************************************************************************
  
  
                             EDIT 1957   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Edit 1910 prevented changing the class of a job at login.
  
  
[DIAGNOSIS]
  
     JOBDIR was tested to find out if the job was logged  in  but  job
could be logged in.  A job may need its class changed before JOBDIR is
set up.
  
  
[CURE]
  
     Check JOBRT instead.
********************************************************************************
  
  
                             EDIT 1958   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Hung jobs when windfall  is  withheld.   Sluggish  response  when
windfall  is  allocated.   WATCH  reports IDLE low FILW high and class
utilization very high.
  
  
[DIAGNOSIS]
  
     Time spent in the null job is sometimes charged to  FILW  instead
of  IDLE when there are no runnable forks.  Utilization is computed on
the basis of time used by users instead of  time  available  to  users
causing  high utilization on machines with idle time.  Jobs can easily
seem to use windfall when the don't and may never run when windfall is
withheld because they appear to be ahead of their allotment.
  
  
[CURE]
  
     Base the computation of utilization on time  available  to  users
instead  of  actual  time  used and only charge FILW when there are no
runnable forks.
********************************************************************************
  
  
                             EDIT 1959   FOR MONITO
  
  
  
  
[SYMPTOM]
  
     Interactive jobs may get  an  unfair  portion  of  the  CPU  when
windfall  is  withheld  and  may  not  get enough CPU when windfall is
allocated.
  
  
[DIAGNOSIS]
  
     The priority for a job is computed incorrectly.  When windfall is
allocated  interactive jobs should get a high priority.  When windfall
is withheld and the fork utilization is below the allotment it  should
also  get a high priority.  If the fork is using windfall and windfall
is withheld then interactive jobs  should  get  only  a  small  boost.
Currently  none  of  these  conditions  hold as stated.  With windfall
withheld interactive jobs always  get  high  priority,  with  windfall
allocated only jobs not using windfall get a high priority.
  
     The test to see if windfall is withheld or allocated is wrong.
  
  
[CURE]
  
     Use the correct check for windfall withheld.
********************************************************************************
  
  
  
END OF  TOPS-20-2040-V4