Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - t1l702.d12
There are no other files named t1l702.d12 in the archive.
                 EDIT DESCRIPTIONS FOR TOPS-10-KL-V702                          
  
  
                             EDIT 11055  FOR 702
  
[SYMPTOM]
  
     Cannot raise DTR on an RSX-20F dial  in  line  under  TOPS-10  user
program control.
  
[DIAGNOSIS]
  
     The RSX-20F protocol to do so exists, but no TOPS-10 code  to  make
use of it.
  
[CURE]
  
     Add a new routine which does the opposite of TTDHUD (hang up).
********************************************************************************
  
  
                             EDIT 11376  FOR 702
  
[SYMPTOM]
  
     When a file is RENAMEd or updated, it is impossible  to
change the existing account string for the file, even from a
privileged program.  This is contrary to documentation.
  
  
[DIAGNOSIS]
  
     No code to do so.
  
  
[CURE]
  
     Add code to enable a privileged user to specify  a  new
account  string on an extended RENAME or update operation on
a file.  If no account string is specified, the existing one
will  be unchanged.  Note that the new account string is not
validated in anyway.    It  is  the  responsibility  of  the
privileged  program to ensure that a valid account string is
specified.
********************************************************************************
  
  
                             EDIT 11386  FOR 702
  
[SYMPTOM]
  
  
  
  
"?Job capacity exceeded"  message  appears  when  there  are
still plenty of job slots left.
  
  
[DIAGNOSIS]
  
This message is printed for three different reasons:
  
  
1) The maximum job capacity has really been exceeded.
2) There are no free TTY DDBs to allocate to a new job.
3) There is not enough free core to allocate a PDB for
   a new job.
  
Case 2) can occur rapidly if there are a lot of  slave  TTYs
on the system.
  
  
[CURE]
  
Append more informative error messages in cases 2 and 3.
  
"?Job capacity exceeded (No free TTY DDBs)"  "?Job  capacity
exceeded (No core for a PDB)"
  
A naive user can either ignore extra information or tell his
system programmer what the specific error message is.
  
Redefine parameter TTXTRA to include  the  number  of  slave
lines  which  the monitor dedicates to DTEs on a KL10.  This
will increase the number of TTY DDBs available.
********************************************************************************
  
  
                             EDIT 11799  FOR 702
  
[SYMPTOM]
  
  
  
  
     Stopcode IME creating long files on fragmented disk.
  
[DIAGNOSIS]
  
     SCNPTR is referencing past the end of the DDB.  If the DDB  happens
to  end  in  the last word of a funny page, and the next funny page does
not exist, an IME stopcode occurs.
  
[CURE]
  
     Don't allow SCNPTR to reference a nonexistent address.
********************************************************************************
  
  
                             EDIT 11887  FOR 702
  
[SYMPTOM]
  
  
  
  
A user program specifying a null device in an OPEN UUO can  see  strange
results if some device is already open on channel zero.
  
[DIAGNOSIS]
  
Cracks in code which FILOP. UUO wants to fall through  but  which  don't
make sense for OPEN/INIT.
  
[CURE]
  
Disallow device arguments in  OPEN/INIT  UUO  which  look  like  an  I/O
channel number.
********************************************************************************
  
  
                             EDIT 11899  FOR 702
  
[SYMPTOM]
  
  
  
  
Greater number of disk errors reported than seems reasonable.
  
[DIAGNOSIS]
  
Bad blocks are being reused due to an off-by-one bug in FILIO.
  
[CURE]
  
Get the calculations right.
********************************************************************************
  
  
                             EDIT 11927  FOR 702
  
[SYMPTOM]
  
  
Stopcodes IME, DHD, NXU, or others caused by removing a  file  structure
while I/O was in progress.
  
[DIAGNOSIS]
  
Race conditions in FILSER allow removing the structure  while  jobs  are
blocked  in  a  UUO,  or  even  while  a  UUO  is  in progress in an SMP
configuration.
  
[CURE]
  
Bump the generation number of all affected units  early  in  the  remove
structure function of the STRUUO.  After this, wait for all units in the
structure to become idle before proceeding with removing the structure.
********************************************************************************
  
  
                             EDIT 11937  FOR 702
  
[SYMPTOM]
  
  
  
  
Stopcode RWD extending files in  simultaneous  update  mode  on  a  file
structure comprised of more than one unit.
  
[DIAGNOSIS]
  
If we start writing on one unit of the structure and that unit fills  up
we  will  overflow  to  another  unit  of the structure.  In the case of
simultaneous update files we have obtained the DA resource on the  first
unit but will eventually try to return it for the new unit.
  
[CURE]
  
Return the DA resource for the correct unit.
********************************************************************************
  
  
                             EDIT 11939  FOR 702
  
[SYMPTOM]
  
  
  
  
IME stopcode removing structure with files still open.
  
[DIAGNOSIS]
  
Code in FILUUO isn't paranoid enough  during  RENAMEs.   We're  using  a
pointer  to  an  Access  Table  which was removed when the structure was
yanked.
  
[CURE]
  
Call CHEKU to make sure the RIB unit is still available before believing
the  pointer  to  the  AT.
********************************************************************************
  
  
                             EDIT 12076  FOR 702
  
[SYMPTOM]
  
  
  
  
System can hang after EUE or EPO stopcodes.
  
[DIAGNOSIS]
  
Not returning software interlocks.
  
[CURE]
  
Return them.
********************************************************************************
  
  
                             EDIT 12096  FOR 702
  
[SYMPTOM]
  
     Most obvious  symptom  is  a  tape  drive  stuck  in  EW;   other
scenarios possible.
  
  
[DIAGNOSIS]
  
     Spacing operations don't block, yet call  SETIOD  when  they  are
finished.   Since the user gained control as soon as the operation was
queued (rather than after it finished), he could have queued  up  some
I/O  for  us  to do, and the call to SETIOD for the spacing operation,
releases him from his I/O wait.  This can allow  two  queued  protocol
requests to get in the queue, which can cause the drive to hang.
  
  
[CURE]
  
     Don't call SETIOD on spacing operation completion.   CLOSE  which
used  to  exit  through  here does need SETIOD called, so give CLOSE a
separate interrupt handling routine.
  
  
********************************************************************************
  
  
                             EDIT 12110  FOR 702
  
[SYMPTOM]
  
  
  
  
Creation date/time is not always updated when appending to a file.
  
[DIAGNOSIS]
  
If no additional blocks are written (i.e., only the last existing  block
of the file is updated) the monitor does not think it did any output, so
it never updates the creation date/time.
  
[CURE]
  
If the last block of the file gets written out  make  sure  the  monitor
remembers it did some output.
********************************************************************************
  
  
                             EDIT 12123  FOR 702
  
[SYMPTOM]
  
  
  
  
PC out of bounds if Control-C typed at the right time during LOGOUT.
  
[DIAGNOSIS]
  
PSI is still enabled while waiting for the  ACTDAE  to  ACK  the  LOGOUT
message although  we are  not  capable of granting PSI interrupts to the
user job.  PSISER believes it can grant  the  interrupt,  not  realizing
we're in the middle of JOBKL.
  
[CURE]
  
Call RESET to clear the software interrupt system  before  proceding  to
kill the job.  Also clear .JBINT to prevent .JBINT-style interrupts.
********************************************************************************
  
  
                             EDIT 12169  FOR 702
  
[SYMPTOM]
  
  
  
  
Wrong error code returned when quota exceeded when updating a file.
  
[DIAGNOSIS]
  
UPDAT5 does not distinguish between quota exceeded and  block  not  free
errors.
  
[CURE]
  
Add another return to UPDAT5  which  means  quota  exceeded,  and  teach
callers to UPDAT5 to return the right error code in this case.
  
********************************************************************************
  
  
                             EDIT 12170  FOR 702
  
[SYMPTOM]
  
  
  
  
Jobs can get stuck in command wait state.
  
[DIAGNOSIS]
  
Can call PTYDTC with U set to zero.
  
[CURE]
  
Add a JUMPE U, to the code.
********************************************************************************
  
  
                             EDIT 12183  FOR 702
  
[SYMPTOM]
  
     Local hardwired terminals  (KS10,  RSX20F)  can  get  bad  parity
output if TTY NO BLANK is set.
  
  
[DIAGNOSIS]
  
     Silly check in SCNSER.
  
  
[CURE]
  
     Remove silly check in SCNSER.
  
  
********************************************************************************
  
  
                             EDIT 12192  FOR 702
  
[SYMPTOM]
  
     LOOKUP error 23 and other incorrect looking LOOKUP errors from  the
".R" command when pathed to an SFD under SYS:.
  
[DIAGNOSIS]
  
     The  entire  default  path  is  being  searched,  instead  of  just
supplying [1,4].
  
[CURE]
  
     Make sure SYS:  just means [1,4].
********************************************************************************
  
  
                             EDIT 12195  FOR 702
  
[SYMPTOM]
  
  
  
  
Command dispatch flags not set up correctly on an unknown command.
  
[DIAGNOSIS]
  
If a customer changes the dispatch bits at COMERD in COMMON  those  bits
will  not  be  used when an unknown command is typed.  Instead, the bits
for the "CTEST" command (which are the same  as  the  dispatch  bits  at
COMERD in a "virgin" monitor) are used.
  
[CURE]
  
Load the correct dispatch bits before dispatching the command.
********************************************************************************
  
  
                             EDIT 12196  FOR 702
  
[SYMPTOM]
  
  
  
  
Incorrect word count returned for DECtape extended LOOKUP.
  
[DIAGNOSIS]
  
Missing check for extended format block.
  
[CURE]
  
Add the check.
********************************************************************************
  
  
                             EDIT 12213  FOR 702
  
[SYMPTOM]
     Possible  scenarios  include  having  a  job  stuck  swapped  out
forever,  or  a  job  in core which gets no run time;  in rare cases a
race can occur where the swapper will try to swap out a job  which  is
already  waiting for its high segment to finish swapping out before it
starts.  The latter case can only happen for the highest numbered  job
slot on the system.
[DIAGNOSIS]
     Off-by-one in deciding whether to use a job number  in  J  or  in
SWPOUT.  This can cause JS.SIP to be set for the wrong job and not for
the right job.
[CURE]
     Change CAIGE to CAIG.
********************************************************************************
  
  
                             EDIT 12216  FOR 702
  
[SYMPTOM]
  
     No easy way to determine where a protection failure came from  when
using  the  default path on LOOKUP (i.e.  if the file came from LIB:  or
SYS:).
  
[DIAGNOSIS]
  
     Sometimes  no  PPN  is  returned,  other  times  the  wrong  PPN is
returned.
  
[CURE]
  
     Store  the  PPN  or path of the file on which we get a rib error or
protection failure in the LOOKUP/PATH block.
********************************************************************************
  
  
                             EDIT 12221  FOR DECNET
  
[SYMPTOM]
  
  
  
  
DECnet free core is exhausted after several days of uptime.
  
[DIAGNOSIS]
  
When a job who was using DECnet logs out, no one ever  frees
up the core taken by that job's SJB block.  DECnet free core
fills up with these blocks after a while.
  
[CURE]
  
In routine JOBKL in  COMCON,  call  new  routine  SCULGO  in
SCMUUO.   SCULGO  waits  until all of the job's DECnet links
are gone, then calls FRESJB to free the memory taken by  the
job's SJB.
********************************************************************************
  
  
                             EDIT 12262  FOR 702
  
[SYMPTOM]
  
  
  
  
Stopcode IME doing both input and output to a DECtape.
  
[DIAGNOSIS]
  
The way in which TOPS-10 handles Executive  Virtual  Memory  makes  this
type  of  operation  illegal.  However, there is no check for this case,
allowing a malicious (or naive) user to crash the  system  with  an  IME
stopcode.
  
[CURE]
  
Change UUOCON so it will not allow opening a single DECtape on more than
one I/O channel.
********************************************************************************
  
  
                             EDIT 12265  FOR 702
  
[SYMPTOM]
  
  
  
  
Stopcode IME doing asynchronous I/O on a DECtape with a  bad  directory.
(Digital-supplied software does not do asynchronous I/O to DECtapes.)
  
[DIAGNOSIS]
  
UUOCON stores the S word in the first word of the buffer when the IN UUO
completes.   It  does this using an Executive XCT of a MOVEM instruction
to reference the user's addressing space.  However,  if  the  buffer  is
still  addressed  by  Executive Virtual Memory the EXCT will fail unless
the user just happens to have a valid address the same as the  monitor's
EVM address.  This is usually not the case, so an IME stopcode results.
  
[CURE]
  
Check if the device still has EVM before storing the S word, and if  so,
use a MOVEM rather than an EXCT of a MOVEM.
********************************************************************************
  
  
                             EDIT 12272  FOR 702
  
[SYMPTOM]
  
  
  
  
ILM stopcodes from QUASAR when running a KI paging 7.02 KL monitor.
  
[DIAGNOSIS]
  
Code in VMSER which clears the cache bit is  assuming  KL  paging  style
page map entries.
  
[CURE]
  
Change the code to handle both KI and KL paging page map entries.
********************************************************************************
  
  
                             EDIT 12276  FOR 702
  
[SYMPTOM]
  
     IO.BKT from FILOP.  CLOSE of a file  protected  <044>,  opened  for
append access, but never written to.
  
[DIAGNOSIS]
  
     CHKLBK is called to append the first data buffer to the last  block
previously  written  in  the  file.   If  it  appears  that the user has
attempted to corrupt the data  already  in  the  file,  it  will  return
IO.BKT.  Unfortunately, this will also fail if no data is written to the
file.
  
[CURE]
  
     Change CAMG to CAMGE.
********************************************************************************
  
  
                             EDIT 12307  FOR 702
  
[SYMPTOM]
The terminal  "APC"  value  for  local  (RSX-20F,  KS-10  DZ)  dataset
terminals  always  says  "hardwired"  (.TOHDW)  rather  than "dataset"
(.TODSD) terminal.
[DIAGNOSIS]
SYSINI calls LDBINI before calling LDBCLR, which results  in  the  APC
value  being  calculated  and  set  before  the  dataset status of the
terminal has been determined.  This results in a local terminal always
being declared "hardwired".
[CURE]
Make LDBCLR initialize the APC field for the LDB.   Remove  the  FTNET
conditional  code  in APCSET since all network-virtual-terminals (both
ANF-10 and DECnet/NRT) will always calculate and  set  the  APC  value
correctly independently of LDBCLR.
********************************************************************************
  
  
                             EDIT 12308  FOR 702
  
[SYMPTOM]
  
     Possible stopcode KAF  when  setting  large  amounts  of  monitor
memory off-line.  More likely to happen in 7.02 than 7.03.
  
  
[DIAGNOSIS]
  
     When monitor memory is set  off-line  LOKCON  moves  all  monitor
pages around during one clock tick.  Due to how expensive PAGFRE is in
7.02 this can easily take more time than RSX-20F thinks we  should  be
ignoring  his  keep-alive counter.  The more memory you try to set off
the greater the chance of this happening.
  
  
[CURE]
  
     After moving each page check if the second timer has expired, and
if  so,  exit  the  loop.   This will cause the once/second code to be
executed, preventing RSX-20F from causing a KAF stopcode.
  
  
********************************************************************************
  
  
                             EDIT 12326  FOR 702
  
[SYMPTOM]
  
     Stopcode WTP when refreshing structures on KS-10 systems.
  
[DIAGNOSIS]
  
     KS  systems  have  FTMP  shut off.  This causes TAKBLK to be called
without PWAIT1 ever being patched.  Thus, we call CLOCK1 to wait for I/O
to complete, causing the WTP.
  
[CURE]
  
     Always patch TAKBLK at HIALCU regardless of conditional settings.
********************************************************************************
  
  
                             EDIT 12386  FOR 702
  
[SYMPTOM]
  
     KAF stopcode in MSGSER with long buffer and DDB chains in virtual
programs.
  
  
[DIAGNOSIS]
  
     No attempt made to let  anything  else  run  while  checking  the
chains.
  
  
[CURE]
  
     Insert SCDCHKs into the inner loops.
  
  
********************************************************************************
  
  
                             EDIT 12393  FOR 702
  
[SYMPTOM]
Terminal settings LC, XONXOF, TAB, FORM, and CRLF are lost on  an  ANF
SET HOST.
[DIAGNOSIS]
Those flags are in  the  "STATUS"  word,  which  is  not  checked  for
terminal characteristics.
[CURE]
Add check for those five characteristics.
********************************************************************************
  
  
  
END OF  TOPS-10-KL-V702