Google
 

Trailing-Edge - PDP-10 Archives - BB-H138E-BM - 6-1-documentation/tops20.tco
There are 24 other files named tops20.tco in the archive. Click here to see a list.
                               TCO-number:  6.1000



Written-by:  GRANT                            Creation-date:  25-Feb-81 10:57:50
Edited-by:   HALL                             Edit-date:      22-Aug-83 08:30:25


Edit-checked:         Yes    Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	STG	PROLOG	APRSRV	PAGEM	SCHED




Problem:  TOPS-20 doesn't run on a 2080.

Diagnosis:  No code.

Solution:  Write some code. Write a LOT of code. Create a conditional
flag called KCFLG.


                               [End of TCO 6.1000]
                               TCO-number:  6.1002



Written-by:  WACHS                            Creation-date:  27-Feb-81 06:36:11


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYPAR	PHYSIO	PHYP4




Problem:  DSK throughput isn't as good as it could be

Diagnosis:  No code to handle dual-ported disks, with both ports
connected to the -20

Solution:  Add code to do so.
At system start-up time look for drives on 2 seperate paths
which have matching serial numbers, drive types, and unit numbers.
If found, declare the drive to be dual-ported, and choose 1 path as
the main path, one as the alternate. The rest of the system only
knows about the main path. If an IO is appempted on the drive, and
the main path's channel is busy doing a transfer on some other drive,
look at the alternate path. If it is idle, start the IO on that path
instead.


                               [End of TCO 6.1002]
                               TCO-number:  6.1004



Written-by:  OSMAN                            Creation-date:   3-Mar-81 15:33:49
Edited-by:   OSMAN                            Edit-date:       4-Mar-81 10:12:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND




Problem:  If FOO.PCL contains

	COMMAND ZOT;
	BEGIN
	DOCOMMAND "SET DEF TAKE ALLOW";
	DOCOMMAND "TAKE FOO";
	DOCOMMAND "TAKE FOO";
	END;

and FOO.CMD contains

	INFO BLECCH

then

	ZOT

fails to execute FOO.CMD twice!

Diagnosis:  You don't really want to know.  Oh well, here goes:

The exec is getting all hot to start the nonexistent command after the first
"TAKE FOO" (i.e. as though the code were

	DOCOMMAND "TAKE FOO
		   more stuff";)

and it does it's call to .CMINI to rev up the COMND jsys.  Normally this
call would succeed, the exec would then try to parse a new command, get a
failure due to "more stuff" being null, and continue on with the next DOCOMMAND.

However, since the INFO part of INFO BLECCH was parsed correctly, the .CMINI
call to COMND tries a BIN to see if ^H is being typed!  Since this BIN fails,
the exec gets an error before it gets a chance to get all set up, so the
subsequent DOCOMMAND never happens.

Solution:  In COMND, if BIN hits end of file when checking for ^H, give
success return from .CMINI just as though there was a character but it
wasn't ^H.


                               [End of TCO 6.1004]
                               TCO-number:  6.1006



Written-by:  OSMAN                            Creation-date:  16-Mar-81 17:00:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND




Problem:  When typing "?" in time-and-date fields, sometimes you don't get
reprompted after the help message.

Diagnosis:  Subsequent time-and-date fields in the chain were seeing the input
before the "?" as valid input, and they were giving a success return.  Then,
exec went on to parse the text which doesn't respond to "?" but treats it
as text!

Solution:  Have COMND realize that help is on the way, and therefore treat
subsequent time-and-date items helpily.


                               [End of TCO 6.1006]
                               TCO-number:  6.1008



Written-by:  OSMAN                            Creation-date:  19-Mar-81 09:56:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND




Problem:  Two:

1)	If you type escape in date-and-time field, you get an error, even if
	your input so far is O.K.

2)	If to the exec you type "SET ALERT 5-MAR-81 7:0 ?", you don't
	get help requesting the text message.  Instead, you get date-and-time
	help even though the date-and-time field is over.

Diagnosis:  

1)	No special check for escape.

2)	Jsyses for date-and-time advance pointer one byte too many.  Hence
	COMND thought the "?" was still in the date-and-time field!

Solution:  Check for escape and adjust count for advanced byte pointer.


                               [End of TCO 6.1008]
                               TCO-number:  6.1010



Written-by:  PAETZOLD                         Creation-date:  23-Apr-81 09:38:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	STG	APRSRV	PHYSIO	diag	SCHED
			MEXEC	globs	PROLOG




Problem:  Monitor is low on virtual address space.  

Diagnosis:  Many monitor databases are in section zero when they could be in
other sections (other than section one).  One group of tables that could be 
moved are the CST's.  On a 4096K system each CST table would require sixteen
pages.

Solution:  Move CST0, CST1, CST2, and CST3 to a new section (CSTSEC).  This will
require modifications to the routines which access the above tables to run in
section one and to access CST's in non-zero sections.


                               [End of TCO 6.1010]
                               TCO-number:  6.1015



Written-by:  BLOUNT                           Creation-date:  29-May-81 09:23:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  test

Diagnosis:  test

Solution:  test


                               [End of TCO 6.1015]
                               TCO-number:  6.1018



Written-by:  OSMAN                            Creation-date:   5-Jun-81 19:48:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	getsav




Problem:  When doing GET into section 0 with .GBASE, monitor loads into local
section instead!

Diagnosis:  PM%EPN needed in MAPIT to say that 0 means 0 and not local.

Solution:  do it


                               [End of TCO 6.1018]
                               TCO-number:  6.1021



Written-by:  MILLER                           Creation-date:   9-Jun-81 11:01:20
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:31:57


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE




Problem:  Field definitions for file sequence number are too small.

Diagnosis:  As above

Solution:  Make them bigger


                               [End of TCO 6.1021]
                               TCO-number:  6.1026



Written-by:  COBB                             Creation-date:   6-Oct-81 13:21:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV	only




Problem:  Instruction address literal does not have an MSEC1 in the left half.

Diagnosis:  Instruction address literal needs one to insure section 1.
Solution:  change from MOVE A,[ENSKED] to MOVE A,[MSEC1,,ENSKED].

                               [End of TCO 6.1026]
                               TCO-number:  6.1028



Written-by:  MURPHY                           Creation-date:   8-Oct-81 11:48:38


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:  CRDIR% (and indirectly the EXEC BUILD command) refuses to
allow reasonable settings for 'offline expiration date'.

Diagnosis:  Many bugs in code, including using 0 day limit if no
system limit was set.

Solution:  Revise code, remove bugs.  Make no setting equivalent to
infinity.  Allow wheel to override system max.


                               [End of TCO 6.1028]
                               TCO-number:  6.1029



Written-by:  COBB                             Creation-date:  12-Oct-81 14:49:27
Edited-by:   COBB                             Edit-date:      29-Oct-81 22:58:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
Related-TCO:  	6.1034



Problem:  Code which must be in section 1 uses an inefficient means of insuring
this. (SE1CAL)

Diagnosis:  Should be more efficient.

Solution:  Convert SE1CAL to EA.ENT (a more efficient flavor of the same beast).


                               [End of TCO 6.1029]
                               TCO-number:  6.1030



Written-by:  MCINTEE                          Creation-date:  16-Oct-81 17:20:09
Edited-by:   MURPHY                           Edit-date:      17-Sep-82 13:26:16


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN	LOGNAM	FILNFT


Related-TCO:  	6.1055	6.1056	6.1143	6.1230	6.0



Problem:  Need to reference files on remote network nodes.

Diagnosis:  Feature needed.

Solution:  Implement node name parsing in GTJFN and DAP in the monitor
to communicate with remote systems.  See DIM functional spec.
Reorganize code to eliminate double skip returns and obscure flag
diddling in LOOKUP, DIRECT, etc.


                               [End of TCO 6.1030]
                               TCO-number:  6.1031



Written-by:  PAETZOLD                         Creation-date:  17-Oct-81 17:11:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC




Problem:  

SHROFD BUGHLT's when initializing structure.  
Diagnosis:  

In WRTBTB at WRTBT1+24 (plus or minus a few) is a call to msetpt.  The call
normally returns at the skip return.  The skip return skips the initialization
of an ac for DESPT.  A NOP is missing after the MSETPT call.

Solution:  

Put the NOP back in.



                               [End of TCO 6.1031]
                               TCO-number:  6.1034



Written-by:  PAETZOLD                         Creation-date:  29-Oct-81 22:56:35
Edited-by:   PAETZOLD                         Edit-date:      29-Oct-81 22:58:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO


Related-TCO:  	6.1029



Problem:  

GDSTX0 BUGHLT's.  PHYCHK returns to scheduler in section zero.

Diagnosis:  

Call to PHYSIO returns in section zero.  PHYSIO uses macros to save 
section of caller on stack for later returns.  However stack is use 
at time of macro call is not the same as stack in use when returning
to caller.

Solution:  

Change the order of the macro and stack replacement.  This was a bitch
to find.  This TCO also by Dan Cobb.



                               [End of TCO 6.1034]
                               TCO-number:  6.1036



Written-by:  CHALL                            Creation-date:   2-Nov-81 15:18:25


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND	MONSYM




Problem:  IT WOULD BE NICE, IN UNAMBIGUOUS PLACES, TO BE ABLE TO SPECIFY
A NODE NAME OR A DEVICE NAME WITHOUT BEING FORCED TO TYPE THE COLONIAL
DELIMITERS.

Solution:  ADD A FLAG, CM%NSF, IN CM%FFL (THE FUNCTION FLAGS PORTION OF
THE COMND FUNCTION DESCRIPTOR BLOCK). IF SET, THE SUFFIX NEED NOT BE TYPED.

NOTE: IF THE USER GOES AHEAD AND TYPES THE SUFFIX ANYWAY, THAT'S LEGAL, TOO.

NOTE FURTHER: THIS CHANGE ADDED 0 NEW INSTRUCTIONS TO COMND. NIL. ZILCH. NADA.


                               [End of TCO 6.1036]
                               TCO-number:  6.1037



Written-by:  HALL                             Creation-date:  10-Nov-81 10:17:49
Edited-by:   HALL                             Edit-date:      23-Mar-83 12:30:19


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	APRSRV	JSYSA




Problem:  SWTRP doesn't allow user to trap on PDL overflow.

Diagnosis:  No code

Solution:  Write code. Allow user to set and read block address.
Write code in APRSRV analogous to arithmetic overflow code.


                               [End of TCO 6.1037]
                               TCO-number:  6.1038



Written-by:  MILLER                           Creation-date:  17-Nov-81 21:25:55
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:32:09


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PROLOG




Problem:  The KL will support a CST write access bit that is needed for
the CFS project.

Diagnosis:  Need to have a defintion for the bit.

Solution:  Add it. It is called CSWRB


                               [End of TCO 6.1038]
                               TCO-number:  6.1039



Written-by:  PAETZOLD                         Creation-date:   1-Dec-81 08:25:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  

Code offends.

Diagnosis:  

Ugly literal with a label in it at RMGRNC+1 in DTESRV.

Solution:  

Fix it not to be a literal.



                               [End of TCO 6.1039]
                               TCO-number:  6.1040



Written-by:  SOUTH                            Creation-date:   1-Dec-81 09:48:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  release 6 version in DN60 protocol area not up to release 5 state.

Solution:  move release 5 DN60 protocol cruft into release 6 version


                               [End of TCO 6.1040]
                               TCO-number:  6.1042



Written-by:  SOUTH                            Creation-date:   4-Dec-81 19:16:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  same as tco 5.1627
Diagnosis:  same problem
Solution:  same solution

                               [End of TCO 6.1042]
                               TCO-number:  6.1043



Written-by:  SOUTH                            Creation-date:   5-Dec-81 00:24:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  same as tco 5.1628
Diagnosis:  same reason
Solution:  same solution


                               [End of TCO 6.1043]
                               TCO-number:  6.1044



Written-by:  SOUTH                            Creation-date:   7-Dec-81 11:17:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  error exits in DN60 protocol unwieldy.
Diagnosis:  previous edit not thought out with suficient care.
Solution:  fix it.

                               [End of TCO 6.1044]
                               TCO-number:  6.1045



Written-by:  SOUTH                            Creation-date:   9-Dec-81 17:41:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  MCB and DN60 protocol do not always start.
Diagnosis:  DTE hardware bug
Solution:  dismiss process to wait for doorbell...by the time it runs again
the data deposited by the 11 is in 10 memory. New scheduler test DBTMR added
which check for time out as well as doorbell.


                               [End of TCO 6.1045]
                               TCO-number:  6.1046



Written-by:  SOUTH                            Creation-date:   9-Dec-81 17:43:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  need variable for new scheduler test DBTMR

Solution:  put it in - one word for each dte


                               [End of TCO 6.1046]
                               TCO-number:  6.1047



Written-by:  MILLER                           Creation-date:  16-Dec-81 11:22:32
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:32:21


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  BUGHLT code can cause a page fault trying to reference the
JSB.

Diagnosis:  The check for "process context" at BUGH5 is indaequate.

Solution:  Enhance check to include INSKED.


                               [End of TCO 6.1047]
                               TCO-number:  6.1048



Written-by:  PAETZOLD                         Creation-date:  18-Dec-81 14:23:44
Edited-by:   PAETZOLD                         Edit-date:      18-Dec-81 14:23:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  

undefined global symbols when loading arpanet monitors.  in this case NDVFY1.

Diagnosis:  

the usual case of loading decnet dependent modules when DCN is off.

Solution:  

if DCN is off then DONT LOAD DECNET MODULES.



                               [End of TCO 6.1048]
                               TCO-number:  6.1051



Written-by:  MCINTEE                          Creation-date:  21-Dec-81 09:14:45
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:51:20


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DEVICE




Problem:  When recognizing the extension field of a file spec, and an ambiguous
response is called for, you get a "No such file type" error instead.
Diagnosis:  in NEWEXT, when ambiguity is discovered, there is a JRST ERRET 
instead of a JRST AMBRET. (The code has been reorganized since release 5)
Solution:  change it.

                               [End of TCO 6.1051]
                               TCO-number:  6.1053



Written-by:  MILLER                           Creation-date:   5-Jan-82 13:36:08
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:32:28


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC	JSYSF	monsym




Problem:  Closing a long file can take a very long time, even if
the contents have not been modified.

Diagnosis:  The disk close code always counts the number of pages
in the file in order to update the FDB. There is presently no
way of its knowing if pages have been added or removed.

Solution:  Add a bit to the FDB to remember if all of the writers
of a file successful closed it. If this bit is not on when
a long file is closed, suppress the scan of the file.


                               [End of TCO 6.1053]
                               TCO-number:  6.1054



Written-by:  MILLER                           Creation-date:   6-Jan-82 09:35:25
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:32:35


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	monsym




Problem:  Need a way for ACJ to check on ATACH.

Diagnosis:  As above

Solution:  Add an ACJ call to ATACH analagous to the one in LOGIN.
This will not allow ACJ to bypass or subsititute for the password
check, but will allow it to perform checks similar to those done
for LOGIN.


                               [End of TCO 6.1054]
                               TCO-number:  6.1055



Written-by:  MCINTEE                          Creation-date:   6-Jan-82 14:50:42
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:51:50


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN	MONSYM


Related-TCO:  	6.1055	6.1030



Problem:  With node name parsing in file specs, a way is needed for users to tell
if a node name is part of a file spec.
Diagnosis:  New feature needed

Solution:  make GTJFN return another flag, GJ%NOD


                               [End of TCO 6.1055]
                               TCO-number:  6.1056



Written-by:  MCINTEE                          Creation-date:   7-Jan-82 11:35:24
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:52:14


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JFNS	MONSYM


Related-TCO:  	6.1030	6.1055



Problem:  There is no way for JFNS to return just the node name of a file spec,
or just the device name for a file spec that has a node name.
Solution:  Bit 0 (the MSB of the device format control field) is not used.
Use it for node format control, 1 will mean always print it, if present.
0 will mean never print it. Default it to be 1. Call this bit JS%NOD.
Note that this will not affect the behavior of JFNS for file specs that have no
node name.

                               [End of TCO 6.1056]
                               TCO-number:  6.1057



Written-by:  COBB                             Creation-date:  19-Jan-82 15:56:28


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	monsym




Problem:  Calling the QUEUE% Jsys causes an error

Diagnosis:  It's not in the monitor yet...
Solution:  Put it in

                               [End of TCO 6.1057]
                               TCO-number:  6.1059



Written-by:  MILLER                           Creation-date:  25-Jan-82 11:23:16
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:32:42


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  Problems with priority computation with class
scheduler on. Compute-bound process can "lock out"
interactive processes in the same class.

Diagnosis:  Interactive processes not always getting adequate
consideration.

Solution:  Rearrange code in CORFCT.


                               [End of TCO 6.1059]
                               TCO-number:  6.1062



Written-by:  WALLACE                          Creation-date:  19-Feb-82 17:56:32
Edited-by:   WALLACE                          Edit-date:      19-Feb-82 17:57:51


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FREE




Problem:  No explicit routine exists for freeing JSB free space.

Diagnosis:  All routines that want to release JSB free space
must get the address of the free space header, JSBFRE.

Solution:  Add a new routine, RELJFR, which gets the address of
the free space header for the user.  Could possibly save
many MOVEI T1,JSBFRE instructions.  But more importantly
there are already explicit routines for freeing different
types of free space.


                               [End of TCO 6.1062]
                               TCO-number:  6.1064



Written-by:  MILLER                           Creation-date:  24-Feb-82 11:02:43
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:34:16


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  If a page fault occurs while trying to BUGHLT,
much important information is lost.

Diagnosis:  Most of the code, including the "hard page fault"
handler, is not reentrant. If a page fault occurs within
the scope of the handler, including the BUGHLT it may
request, it becomes quite difficult to analyze the resulting
dump.

Solution:  At the entry to BUGHLT, change UPTPFN to dispatch to
a HALT instruction. While this will cause a "silent death", it will
at least preserve the state of the machine.


                               [End of TCO 6.1064]
                               TCO-number:  6.1065



Written-by:  MILLER                           Creation-date:   5-Mar-82 11:12:09
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:34:24


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE




Problem:  Verifying JFN attributes for an invalid tape can
crash the monitor.

Diagnosis:  The routine in TAPE that performs the verification,
MTATR, should not attempt to dismiss the the "volume-valid"
bit is not on.

Solution:  Fix it.


                               [End of TCO 6.1065]
                               TCO-number:  6.1066



Written-by:  MILLER                           Creation-date:  11-Mar-82 07:51:45
Edited-by:   MILLER                           Edit-date:      13-Mar-82 17:04:30


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	MONSYM	STG	DIAG	TTYSRV	TTPHDV	APRSRV




Problem:  TOPS-20 needs to support the 2080 console protocol defined
by RSP.

Diagnosis:  Seems pretty clear.

Solution:  Add code.


                               [End of TCO 6.1066]
                               TCO-number:  6.1069



Written-by:  COBB                             Creation-date:  15-Mar-82 16:53:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	params




Problem:  PARAMS NOFN definition overrides any previous definition

Diagnosis:  Not an NDG, but a strict constant declaration
Solution:  make it an NDG


                               [End of TCO 6.1069]
                               TCO-number:  6.1070



Written-by:  PAETZOLD                         Creation-date:  16-Mar-82 20:04:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  

SCTLW is defined in both SCHED and STG.  The SCHED definition will override
the STG definition if we ever change it.

Diagnosis:  

As above.


Solution:  

Remove SCTLW def from SCHED.



                               [End of TCO 6.1070]
                               TCO-number:  6.1071



Written-by:  GRANT                            Creation-date:  17-Mar-82 13:55:12
Edited-by:   GRANT                            Edit-date:      28-Mar-83 11:55:53


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FREE




Problem:  Free space manager extremely trustworthy of those who return
	swappable free space.
Diagnosis:  FREE doesn't check to make sure the user has returned the block
	with the header word in the proper state.
Solution:  Clear out left half of header word before doing the test for
	overlapping blocks.

                               [End of TCO 6.1071]
                               TCO-number:  6.1072



Written-by:  HALL                             Creation-date:  17-Mar-82 15:25:17
Edited-by:   HALL                             Edit-date:      23-Mar-83 12:31:06


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	APRSRV




Problem:  
On the 2080, nonexistent memory is indicated by a page fault, not by an
APR condition. The memory scan in PGRINI checks for the APR condition
and therefore is inadequate for the 2080.

Diagnosis:  
Need a page fault handler that is used just during the memory scan, and
places nonexistent pages on the special memory queue.

Solution:  
Create the page fault handler for both the KL and the KC. This streamlines
the code a bit for the KL and makes things less processor-dependent. On the
KL there is no change in function, but a few instructions are eliminated.


                               [End of TCO 6.1072]
                               TCO-number:  6.1073



Written-by:  MCINTEE                          Creation-date:  22-Mar-82 09:50:51
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:54:02


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	bugs	DTESRV




Problem:  DTETBE bughlt occurs when MCB protocol does a to -10 transfer of 0 bytes

Solution:  check for this condition before doing the transfer, and bugchk on 
this condition. use the DTEMCC bugchk (in routine DOFRMC). add to the bugchk
the data : piecemeal counter & residual counter.

                               [End of TCO 6.1073]
                               TCO-number:  6.1074



Written-by:  MURPHY                           Creation-date:  23-Mar-82 19:28:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG	STG




Problem:  Build procedures getting to confusing with processor-dependent
varients of REL files.  Need to have processor-dependent code in
all modules (UMOVE, etc.)

Diagnosis:  Work needed.

Solution:  Revise build procedures so processor flag defined as
part of PROLOG assembly and therefore available to all other
assemblies.  Use separate directories for RELs for each
processor type.


                               [End of TCO 6.1074]
                               TCO-number:  6.1076



Written-by:  CDUNN                            Creation-date:  24-Mar-82 13:35:21
Edited-by:   CDUNN                            Edit-date:      24-Mar-82 13:42:15


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR


Problem:  No SCA BUGINFs, BUGCHKs, or BUGHLTs defined in BUGS

Diagnosis:  No code

Solution:  Add the appropriate defintions to BUGS.MAC


                               [End of TCO 6.1076]
                               TCO-number:  6.1077



Written-by:  CDUNN                            Creation-date:  24-Mar-82 13:40:23
Edited-by:   CDUNN                            Edit-date:      24-Mar-82 13:44:21


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR


Problem:  No global definitions for SCA or CI port driver

Diagnosis:  No code

Solution:  Add the definitions to GLOBS.MAC


                               [End of TCO 6.1077]
                               TCO-number:  6.1078



Written-by:  CDUNN                            Creation-date:  24-Mar-82 23:17:30
Edited-by:   CDUNN                            Edit-date:      24-Mar-82 23:18:13


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR


Problem:  No STG support for CI emulator

Diagnosis:  No code

Solution:  Add code to STG under FTCI which is off by default. Hence default is
to no have CI emulation code


                               [End of TCO 6.1078]
                               TCO-number:  6.1079



Written-by:  PAETZOLD                         Creation-date:   1-Apr-82 07:35:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP4




Problem:  

PITRAP BUGHLTs.

Diagnosis:  

PHYP4 is attempting to use ECC for a IRFRVC function.  ECCADR gets called 
an returns bad results.  IRFRVC uses the skip function of the RH.  The last
address word in the channel logout area contains a zero for a skip function.

Solution:  

Dont use ECC for a IRFRVC function.  PHYP2 allready checks for this.


                               [End of TCO 6.1079]
                               TCO-number:  6.1080



Written-by:  CDUNN                            Creation-date:   5-Apr-82 13:51:52
Edited-by:   CDUNN                            Edit-date:       5-Apr-82 13:52:28


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR


Problem:  CISRV does not conform to new CI protocol

Diagnosis:  Code written before change in protocol.

Solution:  Replace old CISRV with new CISRV which does conform to the new
protocol.


                               [End of TCO 6.1080]
                               TCO-number:  6.1081



Written-by:  CDUNN                            Creation-date:   6-Apr-82 17:11:55
Edited-by:   CDUNN                            Edit-date:       6-Apr-82 17:12:57


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR


Problem:  No BUGHLTs, BUGCHKs, or BUGINFs for CISRV

Diagnosis:  No code

Solution:  Add the code...


                               [End of TCO 6.1081]
                               TCO-number:  6.1084



Written-by:  ZIMA                             Creation-date:   8-Apr-82 09:51:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	DSKALC




Problem:  No BOOTSTRAP.BIN created if trying to reconstruct the filesystem
on a 2020 via a 143 startup.

Diagnosis:  Code fails to initialize size variable to indicate size unknown;
the zero value there from system startup is taken to mean to file desired.

Solution:  Initialize BOTSIZ so that the dialog will ask for the size of the
BOOTSTRAP.BIN file and create it.


                               [End of TCO 6.1084]
                               TCO-number:  6.1085



Written-by:  ZIMA                             Creation-date:   8-Apr-82 13:49:47
Edited-by:   ZIMA                             Edit-date:       8-Apr-82 13:50:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	 17080



Problem:  
	RCUSR does not return RC%NMD (no more directories) when trying to
step a non-wild username string.

Diagnosis:  
	Code assumes that wild string and RC%STP implicitly go together,
and fails to check.

Solution:  
	Correct code to check explicitly for RC%STP so that it will try to
step the directory, fail and return RC%NMD.  (This was Autopatch edit 1985
to Release 4.)


                               [End of TCO 6.1085]
                               TCO-number:  6.1087



Written-by:  CHALL                            Creation-date:   9-Apr-82 08:28:53


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG


Solution:  Add VT102 support to the monitor (in STG, table TTYPE0).
The VT102 is type 37 (decimal), and looks like a VT100.


                               [End of TCO 6.1087]
                               TCO-number:  6.1089



Written-by:  MILLER                           Creation-date:  12-Apr-82 15:31:41
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:34:35


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG




Problem:  Need SPT definitions added for CFS code.

Diagnosis:  As above

Solution:  Add them


                               [End of TCO 6.1089]
                               TCO-number:  6.1091



Written-by:  MURPHY                           Creation-date:  13-Apr-82 15:18:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  Giving -1 as argument to SCVEC% in order to
prevent loading of PA1050 no longer works correctly.
It causes fork to jump to 777777.

Diagnosis:  LH of argument is set to default section
number which wrecks the -1.

Solution:  Don't shove section number in if arg is -1.


                               [End of TCO 6.1091]
                               TCO-number:  6.1093



Written-by:  CDUNN                            Creation-date:  14-Apr-82 14:18:36
Edited-by:   CDUNN                            Edit-date:      14-Apr-82 14:19:08


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR


Problem:  No code to support KLIPA hardware

Solution:  Add code to support KLIPA. PHYKLP is the driver module. Also changes
to STG to load the module (under FTKLIPA)...


                               [End of TCO 6.1093]
                               TCO-number:  6.1094



Written-by:  MILLER                           Creation-date:  14-Apr-82 15:11:25
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:34:41


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	DIRECT	DSKALC




Problem:  TOPS-20 needs to support CFS. This requires changes
to existing page and file management routines.

Diagnosis:  As above

Solution:  Modify page management and file management interlocking to
support CFS. For now, the CFS code will be conditionally assembled.


                               [End of TCO 6.1094]
                               TCO-number:  6.1095



Written-by:  PAETZOLD                         Creation-date:  16-Apr-82 15:24:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  

SMAP% JSYS does not check section number of source id for legal section 
numbers.  Users can have all kinds of fun with this.

Diagnosis:  

Who knows.

Solution:  

Add code in .SMAP to check for section numbers.



                               [End of TCO 6.1095]
                               TCO-number:  6.1096



Written-by:  HALL                             Creation-date:  18-Apr-82 11:07:17
Edited-by:   HALL                             Edit-date:      23-Mar-83 12:31:52


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:  
The page fault handler is overdue for a cleaning up. Exiting from a particular
piece of code is accomplished in assorted ways, some of which are causing
unnecessary calls to routines.

Diagnosis:  
Years of hacking have produced a mess.

Solution:  
Clean things up a bit. Provide one place to go for calling GETTPD, and remove
the call to GETTPD at NIC. In general, the philosophy will be to go to TRPRST
if we need to reanalyze the page fault data, and we believe the reference cannot
succeed, and to go to PGUNTP if we believe the reference will succeed.


                               [End of TCO 6.1096]
                               TCO-number:  6.1098



Written-by:  MILLER                           Creation-date:  20-Apr-82 11:49:31
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:34:49


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FILMSC




Problem:  The sequence CLOSF followed by RELD for a TTY: results
in the device's output buffer being unconditionally cleared.
This behavior differs from release 4.

Diagnosis:  TTYCLZ was changed sometime during release 5 to
bypass the "free DOBE" if the device was explicitly assigned
via ASND. In release 4, the DOBE was always done.

Solution:  Rearrange the code to emulate the release 4 behavior.


                               [End of TCO 6.1098]
                               TCO-number:  6.1099



Written-by:  ZIMA                             Creation-date:  22-Apr-82 13:43:03


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SYSTAP	S20TAP


Related-SPR:  	 16664



Problem:  
	Catastrophe tape built by SYSTAP.CTL or S20TAP.CTL does not work.

Diagnosis:  
	If a user trying to build a catastrophe tape with SYSTAP.CTL or
S20TAP.CTL is connected to another structure while running DLUSER, then
DLUSER will dump the connected structure instead of the intended PS.

Solution:  
	Explicitly give DLUSER a STRUCTURE PS: command to avoid this problem.


                               [End of TCO 6.1099]
                               TCO-number:  6.1102



Written-by:  ZIMA                             Creation-date:  26-Apr-82 14:26:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MFLIN


Related-SPR:  	 15864



Problem:  FLIN and DFIN JSYSes incorrectly report undeflow as overflow.

Diagnosis:  
	Code uses the flags AC as a temporary, destroying the flags,
and then tries to test flags.

Solution:  
	Use another AC for the temporary.


                               [End of TCO 6.1102]
                               TCO-number:  6.1103



Written-by:  ZIMA                             Creation-date:  26-Apr-82 14:32:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MFLIN


Related-SPR:  	 15864



Problem:  FLIN and DFIN JSYSes may return incorrect values.

Diagnosis:  
	Argument checking for exponents is incorrect.  As a result, it
is possible to index out of the exponent table and multiply by a random
value, returning an incorrect number to the user.

Solution:  
	Make one final check on the exponent adjustment value before using
it for table indexing.  Leave the existing partial check in the exponent
construction code in order to leave intermediate computations unaffected.


                               [End of TCO 6.1103]
                               TCO-number:  6.1104



Written-by:  WALLACE                          Creation-date:  26-Apr-82 15:31:20


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	BUGS	CTSMON	FORK	GLOBS	MONSYM	PAGEM
			PROLOG	STG	SYSFLG	TTYSRV




Problem:  TOPS-20 does not support Dynamically Linked Libraries.

Diagnosis:  Code does not exsit for such support.
Solution:  Add code to support Dynamically Link Libraries in
TOPS-20.


                               [End of TCO 6.1104]
                               TCO-number:  6.1105



Written-by:  WALLACE                          Creation-date:  26-Apr-82 15:33:49


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	BUGS	CTSMON	FORK	GLOBS	MONSYM	PAGEM
			PROLOG	STG	SYSFLG	TTYSRV




Problem:  TOPS-20 does not support Canonical Terminals.

Diagnosis:  Code does not exist for such support.

Solution:  Add code for Canonical Terminal Support in TOPS-20.


                               [End of TCO 6.1105]
                               TCO-number:  6.1106



Written-by:  MURPHY                           Creation-date:  26-Apr-82 16:24:48


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	TTYSRV




Problem:  Need to count TTY wakeups for performance statistics.

Diagnosis:  No such counter.

Solution:  Add one.


                               [End of TCO 6.1106]
                               TCO-number:  6.1108



Written-by:  MOSER                            Creation-date:  28-Apr-82 14:56:01
Edited-by:   MOSER                            Edit-date:       8-Apr-83 08:46:41


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:  JFNS WON'T RETURN ATTRIBUTES FOR PARSE ONLY JFNS EVEN THOUGH IT COULD.

Diagnosis:  CODED THAT WAY.

Solution:  AT JFNS6 IF PARSE ONLY CALL JFNSAT BEFORE MRETN.


                               [End of TCO 6.1108]
                               TCO-number:  6.1109



Written-by:  MOSER                            Creation-date:  28-Apr-82 14:59:33
Edited-by:   MOSER                            Edit-date:       8-Apr-83 08:47:46


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  .CHKAC FAILES IF THE .CKACD (CONNECTED DIRECTORY) IS GARBAGE
EVEN IF THE OTHER ARGUMENTS WOULD GIVE ACCESS.

Diagnosis:  IF CONNECTED DIR CANNOT BE CONVERTED TO DIRECTORY NUMBER
CHKAC FAILS IMMEDIATLY.

Solution:  DON'T FAIL WHEN YOU CAN SUCCEED.


                               [End of TCO 6.1109]
                               TCO-number:  6.1110



Written-by:  MOSER                            Creation-date:  28-Apr-82 15:01:53
Edited-by:   MOSER                            Edit-date:       8-Apr-83 08:47:54


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  CHKAC ARGUMENT BLOCK LENGTH CHECKING IS WRONG.
CHKAC WILL ACCEPT AN ARGUMENT BLOCK THAT IS TOO SHORT IF THE USER
DOSEN'T GIVE A JFN.

Diagnosis:  CODE IS WRONG.

Solution:  CHECK LENGTH CORRECTLY.


                               [End of TCO 6.1110]
                               TCO-number:  6.1122



Written-by:  MURPHY                           Creation-date:   3-May-82 11:33:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  Some scheduler tests need more than 18 bits of data, particularly
as extended addresses may need to be tested.

Diagnosis:  Current FKSTAT only provides half-word for data.

Solution:  Add second word for test data, FKSTA2, indexed by fork
index.


                               [End of TCO 6.1122]
                               TCO-number:  6.1123



Written-by:  MURPHY                           Creation-date:   3-May-82 11:46:22


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  System crashes with J0NRUN if CTY is XOFF'd for too
long or is being used for local activity.

Diagnosis:  Job 0 blocks waiting to send output to CTY.  Output
is blocked indefinitely.

Solution:  Time job 0 TTY output block.  If output remains blocked
for 30 seconds, clear XOFF.  If output remains blocked for
60 seconds, force reload of front-end.  If output remains blocked
for 90 seconds, clear output buffer and continue.


                               [End of TCO 6.1123]
                               TCO-number:  6.1125



Written-by:  MURPHY                           Creation-date:   4-May-82 10:36:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  It would be more convenient to have scheduler tests called
in normal way instead of with JSP T4,.  JSP is there for
historical reasons now lost to rational thought.

Diagnosis:  As above.

Solution:  Change scheduler test calls to use CALL (PUSHJ P,), with
+1 and +2 returns indicating no-wake and wake condition respectively.
Leave a return PC in T4 also so existing tests do not have to be
changed.  That is, test routine can act as if called with CALL
or JSP.


                               [End of TCO 6.1125]
                               TCO-number:  6.1127



Written-by:  CDUNN                            Creation-date:   4-May-82 13:29:17
Edited-by:   CDUNN                            Edit-date:       4-May-82 13:30:10


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	PHYSIO	SCAMPI	SCAPAR	PAGEM	GLOBS




Problem:  No SCA support

Diagnosis:  No code

Solution:  Add code to support both SCA and CI port emulation


                               [End of TCO 6.1127]
                               TCO-number:  6.1130



Written-by:  MOSER                            Creation-date:   5-May-82 14:30:09
Edited-by:   MOSER                            Edit-date:       8-Apr-83 08:48:42


Edit-checked:         Yes    Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE




Problem:  CANNOT SET RECORD SIZE FOR A LABELLED TAPE. DOCUMENTATION SAYS
THAT THIS IS LEGAL ONLY IN DUMP MODE BUT IF YOU TRY IT YOU GET AN MTOX3
ERROR, "FUNCTION NOT LEGAL IN DUMP MODE".

Diagnosis:  FUNCTION SHOULD NOT BE LEGAL AT ALL FOR LABELLED TAPES AS IT
IS USLESS.

Solution:  ALWAYS RETURN MTOX1, "ILLEGAL FUNCTION".


                               [End of TCO 6.1130]
                               TCO-number:  6.1133



Written-by:  MOSER                            Creation-date:   6-May-82 16:17:43
Edited-by:   MOSER                            Edit-date:       8-Apr-83 08:49:37


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  HUNG JOB.

Diagnosis:  A FORK IS JSYS TRAPPED, FROZEN, UNTRAPPED, RESUMED AND FROZEN.
JOB HANGS TRYING TO FREEZE BECAUSE THE TRAPPED FORK IS NOINT BECAUSE OF
THE FREEZE BEFORE THE UTFRK.

Solution:  OKINT FROZEN FORK WHEN UNTRAPPING.


                               [End of TCO 6.1133]
                               TCO-number:  6.1136



Written-by:  MILLER                           Creation-date:  14-May-82 16:41:51
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:34:56


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IPCF




Problem:  It is not possible to do a "page mode send" from the
monitor specifying a monitor page as the source.

Diagnosis:  IPCF assumes that if a "page mode" send is requested, the
page is in user space. The QUEUE% JSYS needs to be able
to send a page a data from monitor space.

Solution:  Fix IPCF to get the page from whatever the "previous
context".


                               [End of TCO 6.1136]
                               TCO-number:  6.1137



Written-by:  COBB                             Creation-date:  14-May-82 16:45:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  QUEUE% was always sending packets, even though message was set up
in a page.  

Diagnosis:  Author forgot to turn on page-mode-send bit in MSEND% (ooops)
Solution:  Turn on bit


                               [End of TCO 6.1137]
                               TCO-number:  6.1142



Written-by:  MILLER                           Creation-date:  19-May-82 10:03:29
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:35:01


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	monsym	SETSPD




Problem:  Many messages that should be directed to the operator
are not available via OPR.

Diagnosis:  These messages are generated by the monitor and
are not sent to ORION for dessimination to the operators.
Such messages as: BUGCHK, BUGINF, "resource low" are
among these.

Solution:  Send these messages to ORION. For those not
wanting to use this new feature, add a SMON/TMON function
to enable or disable the "old way of doing it", i.e. type
the message on the CTY.

Also, whenever the message cannot be sent to ORION, type
it on the CTY.

Some work in OPR and ORION is needed to fully support this
new code.


                               [End of TCO 6.1142]
                               TCO-number:  6.1143



Written-by:  MCINTEE                          Creation-date:  19-May-82 16:29:41
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:54:22


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN	MONSYM


Related-TCO:  	6.1030



Problem:  GTJFN's node name parsing breaks programs

Diagnosis:  Need a way for GTJFN to parse local file specs
Solution:  Provide new flag in long form GTJFN, G1%LOC, in extended flags word.

                               [End of TCO 6.1143]
                               TCO-number:  6.1144



Written-by:  HALL                             Creation-date:  24-May-82 09:11:01
Edited-by:   HALL                             Edit-date:      23-Mar-83 12:32:41


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  
An ancient MDDT command, "BLT swappable monitor", is left over from the days
of booting from DECtape. Updating it for the 2080 requires work, so now's the
time to remove it.

Diagnosis:  

Solution:  
Eliminate the command.


                               [End of TCO 6.1144]
                               TCO-number:  6.1147



Written-by:  MURPHY                           Creation-date:  26-May-82 15:27:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ALL




Problem:  Can't assemble several monitor modules, MACRO dies
with "MCRNEC (Not enough core)".

Diagnosis:  Too much stuff in UNV files.

Solution:  Move bug definitions from BUGS.MAC to module in which
each is used.


                               [End of TCO 6.1147]
                               TCO-number:  6.1148



Written-by:  GRANT                            Creation-date:   1-Jun-82 08:20:47
Edited-by:   GRANT                            Edit-date:      28-Mar-83 19:53:06


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV	TTPHDV




Problem:  You can login over a DECnet line when remote logins are disallowed.
Diagnosis:  No code to prevent it.
Solution:  Add appropriate logic to line startup code;  also, remove a check
	on DECnet links which breaks the connection if a character is received
	on a line on which there is no job.

                               [End of TCO 6.1148]
                               TCO-number:  6.1149



Written-by:  COBB                             Creation-date:   2-Jun-82 11:02:03
Edited-by:   COBB                             Edit-date:       2-Jun-82 11:09:33


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  QUEUE% jsys does not provide a "Don't wait for response from 
application" feature.


Diagnosis:  no code

Solution:  Add code to check QU%NRS and make code smarter about response 
lengths.

                               [End of TCO 6.1149]
                               TCO-number:  6.1150



Written-by:  GRANT                            Creation-date:   2-Jun-82 11:36:22
Edited-by:   GRANT                            Edit-date:      28-Mar-83 19:53:47


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FREE




Problem:  Resident free space count of free blocks is wrong.
Diagnosis:  Free space manager is incorrectly handling a RESBAZ BUGCHK.
Solution:  Don't update block count until the address being passed has been
	verified.

                               [End of TCO 6.1150]
                               TCO-number:  6.1151



Written-by:  HALL                             Creation-date:   2-Jun-82 16:40:33
Edited-by:   HALL                             Edit-date:      23-Mar-83 12:34:56


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  
When a TRVAR adds data beyond the end of the stack, no trap is generated.

Diagnosis:  
TRVAR computes the new stack pointer by adding to P and checking for non-negative
left half. On overflow, it does an ADJSP in order to force the trap to occur.
However, since the ADJSP occurs when P is already positive, there is no trap.

Solution:  
Subtract from P the number that was added originally, so that the ADJSP will
change the left half of P from negative to zero and generate the trap.


                               [End of TCO 6.1151]
                               TCO-number:  6.1152



Written-by:  PAETZOLD                         Creation-date:   2-Jun-82 19:38:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC




Problem:  

OFNJFN can hang trying to lock a JFN that the fork allready has locked.
Needless to say this can not win.  

Diagnosis:  

TCO 5.1402 fixed most cases of this.  However long files can still fall
through tests.  Improve the test to check the OFN againt the long files
superindex block OFN and do not try to lock if they are not the same.

Solution:  

As below.



                               [End of TCO 6.1152]
                               TCO-number:  6.1153



Written-by:  GRANT                            Creation-date:   3-Jun-82 07:10:47
Edited-by:   GRANT                            Edit-date:      28-Mar-83 19:56:09


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV


Related-TCO:  	6.1154



Problem:  Connections to MCB's NML process are incredibly slow.
Diagnosis:  TOPS-20 is violating NSP protocol by sending a data segment prior
	to sending a link service ACK.
Solution:  In routine SNDCHK, add the appropriate check;  create a scheduler
	test to be returned if the new check fails.

                               [End of TCO 6.1153]
                               TCO-number:  6.1154



Written-by:  GRANT                            Creation-date:   3-Jun-82 07:19:17
Edited-by:   GRANT                            Edit-date:      28-Mar-83 19:56:49


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ttphdv


Related-TCO:  	6.1154	6.1153



Problem:  DECnet NVT lines hang.
Diagnosis:  New test in NSPSRV's SNDCHK causes confusion in TTYSRV.
Solution:  If the call to SNDCHK fails and there are characters ready to go,
	set the bit in TTSOQ so we will continue to try to send.  (Note:  This
	fix is actually independent of the change made to SNDCHK, it should
	have been doing this anyway.)

                               [End of TCO 6.1154]
                               TCO-number:  6.1155



Written-by:  PAETZOLD                         Creation-date:   3-Jun-82 23:30:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG




Problem:  

Recent edit to prolog deleted XBLTUM and XBLTMU.  This is admirable except
that code in JSYSA and other modules use them.  

Diagnosis:  

Solution:  

Put them back in for a little while.



                               [End of TCO 6.1155]
                               TCO-number:  6.1156



Written-by:  HALL                             Creation-date:   7-Jun-82 10:17:04
Edited-by:   HALL                             Edit-date:      23-Mar-83 12:35:29


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV	FORK	JSYSA




Problem:  
When user mode address break was added to the monitor, no provision was
made for exec mode address break.

Diagnosis:  
When any process enables address break for user mode references, any
previously-set address break for exec mode references is lost.

Solution:  
Allow setting of user mode break only if there is no exec mode break set.
Similarly, allow setting of exec mode break only if there is no user mode
break set. (However, provide a means of forcing exec mode break on and
disabling existing user mode breaks.)


                               [End of TCO 6.1156]
                               TCO-number:  6.1157



Written-by:  MILLER                           Creation-date:   8-Jun-82 09:41:10
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:35:07


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  The monitor ocassionally sets SC%WHL for a process
so that a privileged operation may be performed on the
process' behalf. Even though the process is NOINT, and
therefore it may not take undo advantage of this
enhanced capability, another job may conclude that this
one is privileged and erroneously allow a privleged operation
to succeed. An example of such a "race" is the LOGIN JSYS.

Diagnosis:  The code at GJCAPS returns the enabled capabilites
for a job, but it does not check if any "temporary capabilites"
are included.

Solution:  Modify GJCAPS to return the AND of the enabled and potential
capabilites. This will ensure that the mask returned has
only capabilites that the process is entitled to enable.


                               [End of TCO 6.1157]
                               TCO-number:  6.1159



Written-by:  DONAHUE                          Creation-date:   9-Jun-82 15:04:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN




Problem:  Any program that uses COMND to parse a long string of commands
(such as a long SAVE command to DUMPER) can get a GJFX51 (Byte count too small)
error.

Diagnosis:  COMND will send the entire buffer preceding the current field
to GTJFN as the Control/R buffer. When the length of this field exceeds
the maximum Control/R buffer size, GTJFN will generate the GJFX51 error.

Solution:  Since COMND handles the Control/R function, it is not necessary
for GTJFN to bother processing the Control/R buffer. In general, anytime
GTJFN is parsing a string from memory, the Control/R buffer is unecessary
and GTJFN can skip routine GTJTP.


                               [End of TCO 6.1159]
                               TCO-number:  6.1160



Written-by:  MURPHY                           Creation-date:   9-Jun-82 15:13:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  IDLE time not reported correctly.  Fork held in balset
causes unused time to appear as FILW instead of IDLE.

Diagnosis:  Has always been this way, but increased used
of HDISMS means some systems show no idle time even when
doing practically nothing.

Solution:  If all waiting forks in balance set are in hold,
change time to IDLE.


                               [End of TCO 6.1160]
                               TCO-number:  6.1162



Written-by:  WALLACE                          Creation-date:   9-Jun-82 15:52:16
Edited-by:   WALLACE                          Edit-date:       9-Jun-82 15:56:05


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV


Related-TCO:  	6.1161



Problem:  The support routines for the stack variable facility will not work
properly with the new version of MACSYM.

Diagnosis:  The AC save and stack variable facilities of MACSYM were recently
modified (see TCO 6.1161) to be able to use global stack pointers.
The MONITOR DOES use the definitions in MACSYM but does NOT load
MACREL; instead the necessary support routines are duplicated in
APRSRV.  Therefore the support routines, .STKST and .TRSET must be
modified to work with the new MACSYM definitions.

Solution:  Modify the support routines .STKST and .TRSET to properly use ADJSP in
conjunction with the new count format, EXP n, which follows the JSP's
of STKVAR and TRVAR.


                               [End of TCO 6.1162]
                               TCO-number:  6.1164



Written-by:  GRANT                            Creation-date:  10-Jun-82 07:31:16
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:02:14


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	nsppar




Problem:  none

Diagnosis:  none

Solution:  Expand message header by 4 words to accommodate new data link
	protocol.

                               [End of TCO 6.1164]
                               TCO-number:  6.1166



Written-by:  DONAHUE                          Creation-date:  11-Jun-82 12:47:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MAGTAP




Problem:  When writing a tape at 6250 at DUMPER's maximum blocking
factor (15), DUMPER gets a DUMPX3 error indicating the monitor can not
handle the blocking factor.

Diagnosis:  Coding error in the check to see if the buffer is too large.

Solution:  In MTDIR5, change the compare to MAXPPB-2 to MAXPPB-1.


                               [End of TCO 6.1166]
                               TCO-number:  6.1167



Written-by:  CHALL                            Creation-date:  11-Jun-82 14:59:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND




Problem:  You can get a "does not match directory..." error when
parsing a token with COMND.

Diagnosis:  The NPXNMD error in the token-parsing routine is a typo
for NPXNMT (does not match token).

Solution:  In COMND, in routine XCMTOK: change the NPXNMD to NPXNMT.


                               [End of TCO 6.1167]
                               TCO-number:  6.1168



Written-by:  MILLER                           Creation-date:  12-Jun-82 20:05:21
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:35:13


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  Buffers may be lost by DTERSV when a front-end
crashes.

Diagnosis:  The routine that is supposed to return all outstanding
buffers to the caller neglects to check if a to -10 (i.e. an
input) is in progress.

Solution:  Check for to -10 in progress and return input buffer to
NSP.


                               [End of TCO 6.1168]
                               TCO-number:  6.1169



Written-by:  PAETZOLD                         Creation-date:  14-Jun-82 19:48:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  

BADTTY BUGHLT after a power fail restart.

Diagnosis:  

TTDAL is called to detach all lines on a power fail.  However some line types
(eg. DZ's or MC's) may not exist.  A BADTTY will result.

Solution:  

At TTDAL5 check for any lines of the current type and do not attempt to 
detach if none exist.



                               [End of TCO 6.1169]
                               TCO-number:  6.1170



Written-by:  WALLACE                          Creation-date:  15-Jun-82 14:18:30
Edited-by:   WALLACE                          Edit-date:      15-Jun-82 14:19:43


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  Scheduler attempts to re-schedule itself and causes
SKDCL1 BUGHLT's.

Diagnosis:  The scheduler takes a page fault while processing
characters in routine TTCH7.  This is a no no.  Page fault
is triggered during a call to STADYN with a bad internal
line number.  Line number was bad because variable TTCQLN
was wiped out.

Solution:  In routine TCOUBF, if the call to LCKTTY fails, then
get the internal line number from saved AC (Q1) rather than off of
the stack.  Evidently code was once changed to use SAVEAC but interally
the routine thought an internal line number was on the top of the
stack.  Now a return address is on the top of the stack but TTCH7
used it as a bogus internal line number anyway.


                               [End of TCO 6.1170]
                               TCO-number:  6.1171



Written-by:  DONAHUE                          Creation-date:  16-Jun-82 13:38:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND




Problem:  COMND can not 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 the parse.

Solution:  When a colon is found, check if we are parsing a switch. If so,
terminate the parse. If not, continue parsing.


                               [End of TCO 6.1171]
                               TCO-number:  6.1172



Written-by:  DONAHUE                          Creation-date:  16-Jun-82 13:42:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FILINI	DSKALC




Problem:  Several ROOT-DIRECTORY files can be migrated, leaving a structure
unmountable. Those files are BACKUP-COPY-OF-ROOT-DIRECTORY.IMAGE, BOOTSTRAP.BIN,
DSKBTBL, FRONT-END-FILE-SYSTEM.BIN and INDEX-TABLE.BIN.

Diagnosis:  The exempt from migration bits are not set for these files.

Solution:  Change the structure initialization code to set the exempt from
migration bit.


                               [End of TCO 6.1172]
                               TCO-number:  6.1173



Written-by:  DONAHUE                          Creation-date:  16-Jun-82 13:53:06
Edited-by:   DONAHUE                          Edit-date:      16-Jun-82 13:54:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IO




Problem:  A GET of a nonshareable save file into a process that does not have
write access for one of the pages needed for the file will cause an ILMNRF.

Diagnosis:  A GET on a nonshareable save file will read the file in using a SIN,
which does not always protect itself against illegal writes.

Solution:  Insert an ERJMP after the IDPB instruction at SIN1+7.


                               [End of TCO 6.1173]
                               TCO-number:  6.1174



Written-by:  MOSER                            Creation-date:  17-Jun-82 16:38:36
Edited-by:   MOSER                            Edit-date:       8-Apr-83 08:51:45


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MSTR




Problem:  MAPBT1 BUGHLT.

Diagnosis:  THE CHECKD COMMAND REBUILD (BIT TABLE OF) ... TRIES TO MOUNT THE
STRUCTURE IN QUESTION AND SPECIFIES THAT ERRORS ARE TO BE IGNORED. MSTR
FINDS THAT THERE IS NO BITTABLE BUT LATER TRIES TO CHECK IT'S VALIDITY VIA
A CALL TO CHKBT WHICH CALLS MAPBTB WHICH CRASHES.
Solution:  DON'T CHECK NONEXISTENT BITTABLES.


                               [End of TCO 6.1174]
                               TCO-number:  6.1176



Written-by:  WALLACE                          Creation-date:  23-Jun-82 16:55:38
Edited-by:   WALLACE                          Edit-date:      23-Jun-82 16:55:57


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE




Problem:  The TAPE device dispatch routine MTATR clobbers AC's
U and IOS.

Diagnosis:  GTJFN does not expect the AC clobberage when it
calls MTATR.

Solution:  At the beginning of routine MTATR save the AC's
U and IOS.


                               [End of TCO 6.1176]
                               TCO-number:  6.1180



Written-by:  PAETZOLD                         Creation-date:  28-Jun-82 13:52:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  

Wierd crashes from MUUO entry code in APRSRV caused by executing an
illegal extend instruction in an extended section.

Diagnosis:  

A Microcode bug in previous context XBLT is causing the ACs to get smashed.
We are exercising this bug with an extra MCENTR in the illegal instruction
code.

Solution:  

Move the MCENTR in the gfloat code down past the opcode checks.  THis bug
is also in release 5.



                               [End of TCO 6.1180]
                               TCO-number:  6.1181



Written-by:  WALLACE                          Creation-date:  30-Jun-82 11:09:51
Edited-by:   WALLACE                          Edit-date:      30-Jun-82 11:11:44


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:  JFNS% does not output all attributes on a parse only JFNS.

Diagnosis:  Code assumes after outputting the protection, account, and
temporary attributes, that there are no more legal attributes for
parse only JFN's.

Solution:  At JFNS6, if the JFN is parse only then add a call to
JFNSAT, which will output any linked attributes, before jumping
to MRETN.


                               [End of TCO 6.1181]
                               TCO-number:  6.1183



Written-by:  COBB                             Creation-date:   7-Jul-82 16:13:33
Edited-by:   COBB                             Edit-date:       7-Jul-82 16:42:42


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	MEXEC




Problem:  No problem, just making an enhancement


Diagnosis:  Monitor does not know about the new logical name "DEFAULT-EXEC:".

Solution:  In MEXEC at job startup, change SYSTEM:EXEC.EXE to DEFAULT-EXEC:.
In STG, make DEFAULT-EXEC: a system-wide logical name.



                               [End of TCO 6.1183]
                               TCO-number:  6.1184



Written-by:  CDUNN                            Creation-date:  12-Jul-82 13:46:08
Edited-by:   CDUNN                            Edit-date:      12-Jul-82 13:46:55


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  ATACH% JSYS does not allow attaching to a terminal assigned by the
caller.

Diagnosis:  Data returned from TTYSRV routine GTCJOB was tested incorrectly.

Solution:  Fix ATACH to compare the returned job number in T3 with JOBNO instead
of -1.


                               [End of TCO 6.1184]
                               TCO-number:  6.1185



Written-by:  LEACHE                           Creation-date:  12-Jul-82 15:05:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC




Problem:  OPENF bit OF%RDU does not work for directory files.

Diagnosis:  Test at DSKOPA-2 only allows OF%THW.


Solution:  Add OF%RDU to previously described test.


                               [End of TCO 6.1185]
                               TCO-number:  6.1189



Written-by:  CDUNN                            Creation-date:  19-Jul-82 22:28:03
Edited-by:   CDUNN                            Edit-date:      19-Jul-82 22:28:38


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SETSPD




Problem:  SETSPD doesn't understand how to copy dumps to structures other than
PS:

Diagnosis:  No code

Solution:  Teach SETSPD to do the proper sequence of MSTR's to mount the 
structure implied by logical name DMP:. Note that this is a new feature and 
should be documented.


                               [End of TCO 6.1189]
                               TCO-number:  6.1191



Written-by:  MOSER                            Creation-date:  22-Jul-82 14:06:43
Edited-by:   MOSER                            Edit-date:       8-Apr-83 08:52:33


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:  ILPAG1 BUGHLTS.

Diagnosis:  MOVDSK CALLS SKPNWR TO INSURE THAT A PAGE IS NOT BEING WRITTEN
BEFORE SWAPOUT BUT IT THEN CALLS AGECHK WHICH CAN DISMS. THIS CAN LOSE IF
DDMP RUNS AND DECIDES TO SWAP OUT THE PAGE.

Solution:  CALL SKPNWR AGAIN AFTER CALLING AGECHK.


                               [End of TCO 6.1191]
                               TCO-number:  6.1192



Written-by:  DONAHUE                          Creation-date:  27-Jul-82 09:01:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:  SWPSTL Bugchk's.
Diagnosis:  Routine ADJSWP forgets to set up T1 before calling SETSSP,
which expects T1 to have the total number of drum pages.

Solution:  Set up T1.


                               [End of TCO 6.1192]
                               TCO-number:  6.1193



Written-by:  COBB                             Creation-date:  27-Jul-82 14:35:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	SCHED




Problem:  Routine NBNSB, which keeps a count of NOSKED page-fault locations, 
adds needless overhead to page-fault and scheduler code.

Diagnosis:  Code is really for debugging.

Solution:  Put it under SKEDSW conditional (and make table for PC,,counts 100
words long instead of 20, to get more data when debugging)


                               [End of TCO 6.1193]
                               TCO-number:  6.1194



Written-by:  COBB                             Creation-date:  27-Jul-82 14:38:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  Top forks which have ENQ locks never release them.

Diagnosis:  Code in MEXEC regards (as do we all) the top fork of a job as
sacred.  While killing an inferior fork takes pains to release the locks,
a top fork does not.
Solution:  In MEXEC, after SJLGO4, add a call to ENQFKR to release locks.  FTS-20
is one example of a program which needs this.

                               [End of TCO 6.1194]
                               TCO-number:  6.1195



Written-by:  MOSER                            Creation-date:  27-Jul-82 15:43:26
Edited-by:   MOSER                            Edit-date:       8-Apr-83 08:53:14


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  NODE NAMES ARE NOT EVER FILLED IN IN USAGE RECORDS EVEN IF SUPPLIED.

Diagnosis:  CODED LIKE THAT.

Solution:  FILL IN THE NODE NAME IF THE USER SUPPLIES ONE.


                               [End of TCO 6.1195]
                               TCO-number:  6.1196



Written-by:  CDUNN                            Creation-date:  28-Jul-82 21:32:12
Edited-by:   CDUNN                            Edit-date:      28-Jul-82 21:32:41


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC




Problem:  DSKOP JSYS does not allow use of the DOP%EO bit as documented.

Diagnosis:  the DOP%EO flag was not included in the list of allowed flags.

Solution:  Add the DOP%EO bit to the list of allowed flags.


                               [End of TCO 6.1196]
                               TCO-number:  6.1198



Written-by:  WACHS                            Creation-date:  30-Jul-82 04:41:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	PHYH2	PHYSIO	PHYPAR




Problem:  Mods for CI/KLIPA stuff

Diagnosis:  yes

Solution:  yes


                               [End of TCO 6.1198]
                               TCO-number:  6.1199



Written-by:  CDUNN                            Creation-date:  30-Jul-82 09:59:59
Edited-by:   CDUNN                            Edit-date:      30-Jul-82 10:00:20


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:  CFS code dies with ILLUUO

Diagnosis:  Forgotten RET in CFSFCA (inside IFNSK. macro) falls into
unexpected code

Solution:  Add the RET


                               [End of TCO 6.1199]
                               TCO-number:  6.1201



Written-by:  MOSER                            Creation-date:  30-Jul-82 14:30:02
Edited-by:   MOSER                            Edit-date:       8-Apr-83 08:53:21


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:  CHFDB will return CFDBX2 (illegal to change specified bits) when
CFBDX3 (write or owner access required) is more appropriate.

Diagnosis:  Oversight.

Solution:  Return correct error.


                               [End of TCO 6.1201]
                               TCO-number:  6.1202



Written-by:  MOSER                            Creation-date:  30-Jul-82 14:32:58
Edited-by:   MOSER                            Edit-date:       8-Apr-83 09:04:28


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTPHDV




Problem:  ILMNRF Running SETHOST.

Diagnosis:  TINET3 calls TTCBF9 with static pointer. TTCBF9 expects dynamic
pointer. Stuff gets trashed and finally TTRLBF gets called which kills the
system.

Solution:  Do a STADYN before calling TTCBF9.


                               [End of TCO 6.1202]
                               TCO-number:  6.1203



Written-by:  PAETZOLD                         Creation-date:  31-Jul-82 13:15:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DEVICE




Problem:  

Damn NUMSIX routine in DEVICE puts PC into section zero.

Diagnosis:  

Routine plays with the stack by sotring information in the left half of 
the return PC.

Solution:  

Rewrite it.



                               [End of TCO 6.1203]
                               TCO-number:  6.1205



Written-by:  MILLER                           Creation-date:   2-Aug-82 18:43:05
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:35:19


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	monsym




Problem:  Many large applications exhibit behavior contrary to the
expectations of the monitor's working set manager. These applications
have no way of directing the monitor to manage the working set
more apporpriately. An example of such an application is LISP.

Diagnosis:  As above.

Solution:  Add a new JSYS: WSMGR. This JSYS allows a program
to delete pages from its working set, to prefault some of its
pages, to discover its current working set as well as to
to "reset" its working set. A complete description of the
new JSYS is in <DOC-SPECS>WSMGR.SPC


                               [End of TCO 6.1205]
                               TCO-number:  6.1206



Written-by:  MOSER                            Creation-date:   4-Aug-82 13:56:44
Edited-by:   MOSER                            Edit-date:       8-Apr-83 09:04:33


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC




Problem:  If the system crashes after a long file has been closed by a writer
who has the file open short the file may be corrupted.

Diagnosis:  File is not checked for new longness during close.

Solution:  Check FDB for FB%LNG and if set make the file be a long file
for our job in DSKCLZ.


                               [End of TCO 6.1206]
                               TCO-number:  6.1207



Written-by:  MOSER                            Creation-date:   4-Aug-82 13:59:23
Edited-by:   MOSER                            Edit-date:       8-Apr-83 09:04:42


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IPCF




Problem:  MSEND can fail with undeserved IPCF11 (WHEEL or IPCF privs required).

Diagnosis:  VALARG check -1-(some legal bits) instead of just privleged
bits. Thus if a innocuous bit is set it fails.

Solution:  Check the right thing (IP%CFP)


                               [End of TCO 6.1207]
                               TCO-number:  6.1208



Written-by:  MOSER                            Creation-date:   4-Aug-82 14:01:20
Edited-by:   MOSER                            Edit-date:       8-Apr-83 09:04:48


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  WFORK waits forever if the fork in question is halted and frozen.

Diagnosis:  Only major state is checked.

Solution:  If fork is frozen check pre-freeze state for halted or forced
termination in TRMTST.


                               [End of TCO 6.1208]
                               TCO-number:  6.1217



Written-by:  PAETZOLD                         Creation-date:   6-Aug-82 14:23:51
Edited-by:   PAETZOLD                         Edit-date:      17-Aug-82 18:16:36


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO	PHYP2	PHYP4	PHYPAR	GLOBS	STG


Related-TCO:  	6.1220	6.1228



Problem:  

Disk read/write counts in UDBs differ from the counts in the SYSTAT
GETTAB table.

Diagnosis:  

Read after Write disk skip reads are counted as normal disk reads in the 
UDBs.  However they are not counted at all in the system wide read/write
counts for the SYSTAT GETTAB table.

Solution:  

Add a new word to the SYSTAT gettab table called DSKRVC.  This word will
bumped for each skip read.  Also add a word to the UDB call UDBRVC which
will be incremented for each skip read for the unit.



                               [End of TCO 6.1217]
                               TCO-number:  6.1219



Written-by:  PAETZOLD                         Creation-date:   9-Aug-82 15:05:40
Edited-by:   PAETZOLD                         Edit-date:       9-Aug-82 15:06:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG	filnft	NETWRK	NSPSRV	DISC	MAGTAP
			TAPE	DISC	LINEPR	CDRSRV	cdpsrv	FESRV
			FILMSC	GTJFN




Problem:  

Some device dependant routines need to be notified of the releaseing of
JFNs in order to release free space etc...

Diagnosis:  

RELJFN does not currently call any device dependant stuff in the dtb.

Solution:  

Add a new offset to the DTB which is called in RELJFN.  Modify all existing
DTBs to have an entry.



                               [End of TCO 6.1219]
                               TCO-number:  6.1221



Written-by:  CDUNN                            Creation-date:   9-Aug-82 19:27:04
Edited-by:   CDUNN                            Edit-date:       9-Aug-82 19:28:20


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  TRAPSK to short for CFS support

Diagnosis:  Not enough words in the allocated stack

Solution:  Move ENSKR to before the hardware locs in the PSB and PIPDB after
the hardware locs. This allows 32 (octal) more words for TRAPSK.


                               [End of TCO 6.1221]
                               TCO-number:  6.1223



Written-by:  LEACHE                           Creation-date:   9-Aug-82 20:59:43


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  The "WHY RELOAD" question won't accept lowercase.  Also,
it has a nasty habit of typing out unwanted help text.

Diagnosis:  As Above.

Solution:  Set bit RD%RAI in the RDTTY so that lowercase will be accepted.
If an erroneous response is made, type out the following message:

	Not a valid response (?=HELP).

Only type out the help message if the user types a question mark (followed
by a CRLF).


                               [End of TCO 6.1223]
                               TCO-number:  6.1224



Written-by:  HAUDEL                           Creation-date:  10-Aug-82 10:22:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC




Problem:  

When executing a LOGOUT command, with opened files (long) on a
dismounted structure, the system crashes with an ILMNRF (Illegal to
map file on dismounted structure).
Diagnosis:  

The code in OFNJFT does not check for dismounted structure.

Solution:  

Add code to check for dismounted structure and RET if structure
is dismounted.


                               [End of TCO 6.1224]
                               TCO-number:  6.1226



Written-by:  GRANT                            Creation-date:  16-Aug-82 07:46:50
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:02:53


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IO	PROLOG	STG	GLOBS


Related-TCO:  	6.1236



Problem:  Extremely difficult to write a TOPS-20 device driver which does
	 asynchronous I/O on a JFN.
Diagnosis:  TOPS-20 device independent I/O has no provisions for it.  IO.MAC
	   assumes synchronous I/O on a JFN.
Solution:  Create new words in the JFN block so that input and output counts
	  and byte pointers are maintained separately.

	  Create a new file status bit which new device drivers will set when
	  doing output.

	  Put tests in IO.MAC to check for new output so IO.MAC will use the
	  appropriate storage locations.


                               [End of TCO 6.1226]
                               TCO-number:  6.1227



Written-by:  GRANT                            Creation-date:  16-Aug-82 14:03:30
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:03:53


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  System running out of swappable free space.
Diagnosis:  Number of DECnet servers is growing.
Solution:  Expand DECnet's swappable storage.

                               [End of TCO 6.1227]
                               TCO-number:  6.1228



Written-by:  PAETZOLD                         Creation-date:  17-Aug-82 18:11:19
Edited-by:   PAETZOLD                         Edit-date:      17-Aug-82 18:16:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP4	phyp2


Related-TCO:  	6.1217



Problem:  

UDBRED and UDBRCT do not conform.  
Diagnosis:  

UDBRED includes skip reads and UDBRCT does not.  SPEAR uses UDBRED in 
its reports.

Solution:  

For the sake of uniformity include skip reads in UDBRCT and watch will
subtract them out.  Gene Leache wanted this TCO.



                               [End of TCO 6.1228]
                               TCO-number:  6.1229



Written-by:  LEACHE                           Creation-date:  17-Aug-82 19:45:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  SEND-ALL lock improperly managed.


Diagnosis:  TTYSRV obtains the SEND-ALL lock and then checks for user
privileges.  If the check fails, a GTDIX1 error is generated, but the
SEND-ALL lock is NOT cleared.  Subsequently, no SEND-ALL's can be
performed.

Solution:  Clear the lock when the privilege-check fails.


                               [End of TCO 6.1229]
                               TCO-number:  6.1230



Written-by:  MCINTEE                          Creation-date:  18-Aug-82 14:05:28
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:54:46


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	JSYSF	MONSYM	PROLOG


Related-TCO:  	6.1030	6.1270



Problem:  For remote aliases, DIM has a need
Diagnosis:  As of today no one has taken the lead
Solution:  'Tis I who shall go
and write T C O,
with great stylishness, accomplishing the deed.
(Teach CRDIR% to insert, delete, and change accounts and passwords in the
directory's remote alias list. Teach GTDIR% to spew out the remote alias list,
if desired)

                               [End of TCO 6.1230]
                               TCO-number:  6.1232



Written-by:  LEACHE                           Creation-date:  19-Aug-82 17:40:19


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM	TTYSRV




Problem:  If one attempts to assign a TTY while a short block is assigned
for the line, a TTYX01 error is returned ("Line is not active").  Actually,
the line is active, but only temporarily so.

Diagnosis:  TTYX01 has been spread a little thin.

Solution:  Create TTYX03 ("Line is temporarily active") and return that in
the above mentioned case.


                               [End of TCO 6.1232]
                               TCO-number:  6.1233



Written-by:  LEACHE                           Creation-date:  19-Aug-82 19:01:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC




Problem:  Bit DOP%EO (generate error on drive offline) is always on for
DSKOPS.

Diagnosis:  DOP%EO may or may not be turned on by the user in the DSKOP.
It should also be turned on by the monitor when a multi-page transfer has
been requested; unfortunately, the monitor always turns it on.

Solution:  Change the monitor to set DOP%EO only for multi-page transfers.


                               [End of TCO 6.1233]
                               TCO-number:  6.1236



Written-by:  GRANT                            Creation-date:  25-Aug-82 06:03:47
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:03:27


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV


Related-TCO:  	6.1226



Problem:  Can't communicate with VMS.
Diagnosis:  Incorrect bytes being returned to user program HOST.
Solution:  New 2-way I/O definitions in the JFN block cause confusion in
	NSPSRV.  Have NSPSRV use FILBNO instead of FILBFI.

                               [End of TCO 6.1236]
                               TCO-number:  6.1237



Written-by:  LEACHE                           Creation-date:  25-Aug-82 12:13:43
Edited-by:   LEACHE                           Edit-date:      25-Aug-82 12:23:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  When the KLSTAT feature of SPEAR is enabled, an AR/ARX parity
error crashes the monitor with a MONPDL, and the KLSTAT block does
not get written.

Diagnosis:  Routine ALCSEB, which allocates SYSERR blocks from resident free
space, consumes more stack space than was ever allocated for the KLSTAT
stack (BUGSPL).

Solution:  Increase size of stack.


                               [End of TCO 6.1237]
                               TCO-number:  6.1238



Written-by:  LEACHE                           Creation-date:  27-Aug-82 15:29:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC




Problem:  Directory page-allocation counts are inaccurate.

Diagnosis:  

(1)  GALAXY is stepping on the monitor's toes by changing the page
count of output files.

(2)  Anytime a directory file is closed, its own page count goes-nonzero,
     skewing the disk allocation counts.

Solution:  
(1)  Have GALAXY changed to stop changing the page count with CHFDB.
(2)  On a file close, only update the page count if the file is open
for WRITE/APPEND and is a non-directory file.  For the time being,
a directory file should never have a non-zero page count.


                               [End of TCO 6.1238]
                               TCO-number:  6.1239



Written-by:  MOSER                            Creation-date:  27-Aug-82 16:33:24
Edited-by:   MOSER                            Edit-date:       8-Apr-83 09:04:59


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIRECT




Problem:  New files can be temporary even if GJ%TMP is not set.

Diagnosis:  Bit is propagated if an old generation of the file exists which
is temporary.

Solution:  Zero the FB%TMP bit when copying info from old FDB to new one.


                               [End of TCO 6.1239]
                               TCO-number:  6.1243



Written-by:  MCINTEE                          Creation-date:  31-Aug-82 10:24:15
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:55:06


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN	GLOBS




Problem:  Error messages while attempting to compile GTJFN

Diagnosis:  The ENDSTR macro is interfering with the ENDSTR routine

Solution:  Change the ENDSTR routine to ENDSTX 

                               [End of TCO 6.1243]
                               TCO-number:  6.1244



Written-by:  LEACHE                           Creation-date:  31-Aug-82 11:10:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  
The monitor's terminal characteristics are not correct for VK100 terminals.

Diagnosis:  
As above.

Solution:  
Change width to 84 and use correct escape sequence for screen erasure.


                               [End of TCO 6.1244]
                               TCO-number:  6.1245



Written-by:  HALL                             Creation-date:   1-Sep-82 15:57:40
Edited-by:   HALL                             Edit-date:      23-Mar-83 12:36:29


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  
Occasionally when we reload the -11, we get into section 0. This is bad,
because we could wind up referencing the DST (which is in a non-zero
section).

Diagnosis:  
A special routine, JHTEST, is called under the DTESW conditional at
various times during the reload procedure. It BUGHLT's if it is called
from section 0.

Solution:  
The bomb went off!!!! The routine RELODR does a transfer indirect through
a table that doesn't have IFIWs. That gets us into section 0. Ordinarily
this occurs after the checks, and after the code that needs to run in
section 1. However, an exception occurs if the -11 crashes a second time
before we exit from this code. If that happens, we try to reload it again,
and this time we're in section 0, and the bomb goes off.

I've been looking for this one since July 1981. Do I get TCO-of-the-week?


                               [End of TCO 6.1245]
                               TCO-number:  6.1246



Written-by:  MOSER                            Creation-date:   1-Sep-82 16:18:29
Edited-by:   MOSER                            Edit-date:       8-Apr-83 09:05:06


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  ILMNRF when JSYS trapping.

Diagnosis:  At TRPSI4 a load is done indexing off of T1. TRPSI4 can be
gotten to after calling JTLOCK which trashes T1.

Solution:  Use P6 instead of T1 to index.


                               [End of TCO 6.1246]
                               TCO-number:  6.1247



Written-by:  LEACHE                           Creation-date:   2-Sep-82 18:17:18


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM	JSYSA	JSYSF	PROLOG




Problem:  
No password encryption.

Diagnosis:  
No password encryption code.

Solution:  
Add password encryption code.


                               [End of TCO 6.1247]
                               TCO-number:  6.1251



Written-by:  MCINTEE                          Creation-date:   3-Sep-82 15:27:07
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:55:20


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  MONPDL bughlt from NODE% jsys

Diagnosis:  Code pushes ALL reachable node numbers onto stack. So, if
there happens to be too many reachable nodes, crash occurs.
Solution:  Change code in routine NDGNT.

                               [End of TCO 6.1251]
                               TCO-number:  6.1255



Written-by:  MILLER                           Creation-date:   7-Sep-82 10:36:57
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:35:29


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  When one is debugging and must reload the monitor frequently,
the start-up dialog is a nuisance.

Diagnosis:  There is no way to suppress entering the time and date and
"reload reason".

Solution:  If DBUGSW=3, suppress the start up questions.


                               [End of TCO 6.1255]
                               TCO-number:  6.1257



Written-by:  WEETON                           Creation-date:   9-Sep-82 16:42:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  When doing a proxy attach, T4 is supposed to contain the terminal
to which to the job is going to be attached to.  ATACH, however, assumes
that the data in T4 is correct.  But, if T4 contains some type of device
designator other than a terminal, it will blindly pretend T4 contains
a terminal designator.

Diagnosis:  No code to check if T4 contains one following:  600012,,n  -or-
0,,.TTDES+n -or- terminal number.

Solution:  Add Code.


                               [End of TCO 6.1257]
                               TCO-number:  6.1258



Written-by:  MOSER                            Creation-date:  10-Sep-82 13:04:45
Edited-by:   MOSER                            Edit-date:       8-Apr-83 09:05:16


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIRECT




Problem:  Lost pages. Long files become short. Wrong creation dates on files.
Possibly lots of other problems.

Diagnosis:  When a user aquires a JFN on a file specifying a generation
of -1 or a generation of 0 and not requiring an old file TOPS-20
may try to reuse old FDBs which are marked nonexistant which correspond
to the file that the user requested. If these nonexistant FDBs are
associated with an open file which is later closed then the file may
be in a strange state because the FDBs are reinitialized before they are
reused.

Giving a totally new FDB will not work because programs depend on FOO.BAR.-1
to give them a JFN associated with an open file if there is one.

Solution:  If the reusable FDB is found to correspond to an open file then
do not reinitialize the FDB but still return it.


                               [End of TCO 6.1258]
                               TCO-number:  6.1259



Written-by:  MILLER                           Creation-date:  10-Sep-82 13:29:29
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:35:36


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	SCHED




Problem:  A "remote logout" of a job may cause the logged out
job to overlfow its stack.

Diagnosis:  Some cases of remote logout do not cause the stack
to be intialized. Therefore, the logout code is entered with
the stack in whatever state it was when the remote logout was
detected. If the job was in the midst of a monitor routine that
uses most of the stack: boom!

Solution:  Fix the routines JOBCOF, in MEXEC, and PIRLGO, in SCHED,
to force the stack to be intialized by FLOGO.


                               [End of TCO 6.1259]
                               TCO-number:  6.1260



Written-by:  MOSER                            Creation-date:  13-Sep-82 12:42:07
Edited-by:   MOSER                            Edit-date:       8-Apr-83 09:05:28


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE




Problem:  Cannot read Format D EBCDIC tapes.

Diagnosis:  Open code in TAPE calls SETRSZ to set the record size if there is a
record size present in the HDR2 label. For format D tapes this field contains
zeros which is correct for format D but the code does not allow it.

Solution:  Allow record size 0 for format D tapes.


                               [End of TCO 6.1260]
                               TCO-number:  6.1261



Written-by:  MOSER                            Creation-date:  13-Sep-82 14:18:04


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE




Problem:  Cannot read certain EBCDIC tapes.

Diagnosis:  TOPS-20 enforces the "EBCDIC volume switch indicator" in the HDR2.
While some systems write this others apparently do not.

Solution:  If it isn't there forget it. The tape will read fine without it.


                               [End of TCO 6.1261]
                               TCO-number:  6.1262



Written-by:  MOSER                            Creation-date:  13-Sep-82 17:34:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  GTDIR WITH DIRECTORY NUMBER 0 IS ADVERTISED TO RETURN SYSTEM
DEFAULTS IN THE BLOCK. THE OFFLINE EXPIRATION DATE IS WRONG IF THE DEFAULT
HAS BEEN CHANGED USING SMON.

Diagnosis:  AS ABOVE.

Solution:  USE TAPE RECYCLE PERIOD INSTEAD OF A MAGIC NUMBER UNLESS
THE MAGIC NUMBER IS ALL THERE IS.


                               [End of TCO 6.1262]
                               TCO-number:  6.1263



Written-by:  PAETZOLD                         Creation-date:  14-Sep-82 10:38:03


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  

TYLMD and TTOCN in TTDAT1 conflict.  the MSB for one is the LSB for the other.

Diagnosis:  


Solution:  

Change DEFSTR for TYLMD to end on bit four instead of bit 5.  This is a 
two bit field and bits 0,1,2,3 were allready free.



                               [End of TCO 6.1263]
                               TCO-number:  6.1264



Written-by:  MOSER                            Creation-date:  14-Sep-82 10:54:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  ACJ sometimes gets function .GOLGO (logout) with the arguments
in the wrong order.

Diagnosis:  There are 2 GTOKMs in the monitor for .GOLGO one of them is correct.

Solution:  Make GTOKM at JOBCF1 pass arguments in correct order.


                               [End of TCO 6.1264]
                               TCO-number:  6.1265



Written-by:  MOSER                            Creation-date:  14-Sep-82 10:57:54
Edited-by:   SHTIL                            Edit-date:       7-Dec-84 11:08:35


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-TCO:  	6.2283



Problem:  RCVOK argument block word .RCTER contains 0,,-1 for detached job.
This is undocumented and nonstandard.

Diagnosis:  DEFSTR of GOKTRM is for 18 bits in the right half this prevents
the normal -1 for detached job. The left half word is unused.

Solution:  Make the DEFSTR for GOKTRM use 36 bits.


                               [End of TCO 6.1265]
                               TCO-number:  6.1266



Written-by:  PAETZOLD                         Creation-date:  14-Sep-82 19:46:57
Edited-by:   PAETZOLD                         Edit-date:      14-Sep-82 19:48:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  

Unprived TTMSG JSYS can be used to output obnoxious control character strings
to unsuspecting users.  

Diagnosis:  

No checking of characters from user is performed.

Solution:  

Check the characters the user has in the string.  Discard all control characters
except BEL, CR, LF, and HT.  This only affects unprived TTMSGs to a single line.



                               [End of TCO 6.1266]
                               TCO-number:  6.1271



Written-by:  MILLER                           Creation-date:  17-Sep-82 13:49:01
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:35:41


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	PROLOG




Problem:  A page fault during the scheduler's 20 MS cycle can
cause untold side-effects -- all of them bad.

Diagnosis:  The scheduler performs the 20 MS tasks in the context
of whatever is running at the time. If this is other than the
scheduler, page faults dispatch to PGRTRP instead of to KIPFS.
The code at PGRTRP assumes it is not used when the scheduler is
running.

Solution:  Check for this case and dispatch to KIPFS should it occur.
Put the code under a new DEBUG conditional, CKSPFL.


                               [End of TCO 6.1271]
                               TCO-number:  6.1273



Written-by:  LEACHE                           Creation-date:  20-Sep-82 10:02:32


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM	PROLOG	DSKALC	FILINI	MEXEC	MSTR




Problem:  
There are 2 separate sets of flags for the flag word in the home blocks,
and these sets can overlap if new flags are added to either set.

Diagnosis:  
One set (MS%xxx) is defined in MONSYM and one set (part of the MI%xxx series)
is defined in PROLOG.

Solution:  
Change the appropriate subset of the MI%xxx series (MI%ASG and MI%MXB) to
the MS%xxx series and define them in MONSYM.


                               [End of TCO 6.1273]
                               TCO-number:  6.1280



Written-by:  MURPHY                           Creation-date:  23-Sep-82 17:18:03


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  Sluggish response, slow logouts, possibly others.

Diagnosis:  NEWST not making adequate distinction between
completely compute-bound jobs and jobs which block
for short-to-moderate periods of time.  Particularly with
large load averages, jobs can stay in low queue even
after blocks of a minute or more.

Solution:  Revise NEWST algorithms.  Make handling of low queue
forks more like previous releases.


                               [End of TCO 6.1280]
                               TCO-number:  6.1282



Written-by:  MOSER                            Creation-date:  24-Sep-82 17:02:34


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:  Swap errors for directories are treated just like swap errors
for ordinary files. Directories are usually somewhat more important.

Diagnosis:  It is impossible to determine at swap in time whether a given
page is in a directory or not. Consequently nothing special is done and
the poor user just has to wait for the ax to fall.

Solution:  Check at read complete time whether the OFN for a page
with a swap error is the same as DIROFN if so give a new BUGCHK, SWPDIR.


                               [End of TCO 6.1282]
                               TCO-number:  6.1283



Written-by:  MOSER                            Creation-date:  24-Sep-82 17:26:47
Edited-by:   MOSER                            Edit-date:      24-Sep-82 17:27:31


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	DISC




Problem:  When the monitor marks a file as possibly bad, FB%BAT in the
FDB, it isn't assertive enough. It may be quite awhile before the user
notices the bit is set and when he does notice he has no idea when
it happened or what backup tape has a good copy of his file.

Diagnosis:  As above.

Solution:  Invent a new BUGINF, FILBAT, and issue it when setting FB%BAT.


                               [End of TCO 6.1283]
                               TCO-number:  6.1284



Written-by:  MOSER                            Creation-date:  24-Sep-82 17:32:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  When the monitor times out an ACJ request it almost always
does the wrong thing.

Diagnosis:  When issuing a RCVTMR BUGCHK the monitor kills the ACJ
and then looks through the queue of requests and attempts to deny
or allow them depending on the default. It also trashes the AC
which indexes into the default table and ends up using the
default for function number 1 for every request.

For GIVTMR BUGCHKs it uses a wrong skip instruction and denies all
requests which should be allowed and allows all which should be
denied.

Solution:  Fix code to do the right stuff.


                               [End of TCO 6.1284]
                               TCO-number:  6.1285



Written-by:  MOSER                            Creation-date:  27-Sep-82 14:40:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:  J0NRUN Bughlts.

Diagnosis:  Dump shows STRLOK locked. DDMP locks STRLOK before going NOINT
it seems to be the likely culprit.

Solution:  NOINT before locking STRLOK at DDMP.


                               [End of TCO 6.1285]
                               TCO-number:  6.1291



Written-by:  MOSER                            Creation-date:  30-Sep-82 10:22:20


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE




Problem:  MTOPR function .MONTR (set "no translate" for EBCDIC tapes) works
in a very strange way.

Diagnosis:  "No translate" implies that records should not have CRLF appended
to the ends. This is setup when the tape is opened. It is illegal to
set no translate when the tape is closed. The only way to prevent CRLFs
is to open the tape, set no translate, close the tape, open it again.

Solution:  Make .MONTR clear "append CRLFs" when it is done. Also make this
function legal if the file is not opened.


                               [End of TCO 6.1291]
                               TCO-number:  6.1292



Written-by:  LEACHE                           Creation-date:  30-Sep-82 18:23:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FUTILI




Problem:  
Bad 30-bit addresses dupplied to the NODE JSYS can crash the monitor.


Diagnosis:  

At STRDIR3:
  UMOVEM A,@C
WIll cause an ILLIND BUGHLT if bits 0 and 1 are on in C.

Solution:  
Change the above instruction to:
  UMOVEM A,(C)


                               [End of TCO 6.1292]
                               TCO-number:  6.1294



Written-by:  NEUSTAEDTER                      Creation-date:   1-Oct-82 05:08:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV	STG	PROLOG	globs




Problem:  none

Diagnosis:  none

Solution:  Implement a recovery address for BUG. This becomes the 8th field
in the BUG. macro (after the long text), and does not have to be supplied
unless used. The macro will only generate the word containing the recovery
address if it is being used, which means that all current BUG.s will still
generate the same code as they used to.


                               [End of TCO 6.1294]
                               TCO-number:  6.1299



Written-by:  LEACHE                           Creation-date:   4-Oct-82 22:50:01
Edited-by:   LEACHE                           Edit-date:       4-Oct-82 23:09:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  Bad byte pointers supplied to a JSYS can crash the monitor.

Diagnosis:  As above.

Solution:  Change KIMXCT so that it returns +1 (to monitor code) if we
are NOINT at the time of the trap, and generates an illegal instruction trap
to user code if we are not NOINT.


                               [End of TCO 6.1299]
                               TCO-number:  6.1300



Written-by:  MOSER                            Creation-date:   6-Oct-82 13:08:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:   Spurious RCVTMR BUGCHKs.

Diagnosis:   When a single request is queued it may be removed before
the ACJ does a RCVOK. The GETOK starts the request timer but this timer
is only reset when the queue becomes empty during a RCVOK. If the RCVOK
is done after the queue is empty and no other requests come in then
a RCVTMR BUGCHK results and the ACJ is killed.

Solution:   Reset the RCVOK timer when a RCVOK is done with the queue empty.


                               [End of TCO 6.1300]
                               TCO-number:  6.1309



Written-by:  GRANT                            Creation-date:  13-Oct-82 06:47:35
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:05:06


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  When a non-enabled user does a TTMSG JSYS, the output on the
	receiver's terminal is not formatted correctly, namely, the colon
	and the space are missing.
Diagnosis:  Incorrect byte pointer being passed to GSALCP.
Solution:  In GETSAL, change MOVEI to HRROI.

                               [End of TCO 6.1309]
                               TCO-number:  6.1310



Written-by:  MOSER                            Creation-date:  13-Oct-82 13:44:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  Idle time is always zero, Jobs hang and WATCH output looks terrible
if windfall is withheld. Problems may also occur when windfall is not withheld
and with the bias scheduler.

Diagnosis:  Number of runnable jobs is determined by subtracting NHOLDF from
NGOJOB. NGOJOB may be greater than the number of runnable jobs since to
run a job must be both on the GOLIST and in the balance set.

Solution:  Use NBPROC instead of NGOJOB.


                               [End of TCO 6.1310]
                               TCO-number:  6.1314



Written-by:  DONAHUE                          Creation-date:  14-Oct-82 10:12:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC




Problem:  Disk I/O is not split across a multi-pack structure evenly.

Diagnosis:  When we allocate a file page on the disk for a file that already
has pages allocated, the algorithm to assign the page is different than when
we are assigning the first page for the file. The DSKASN routine will try to
assign the new page as close as possible to the last page that was allocated
for the file. The effect of this is that most pages will be allocated on the
first pack of a multi-pack structure until that pack is full. This causes
a heavy I/O load on one pack while the other packs in that structure are
nearly idle. If the packs are on different channels, we might as well get
rid of the extra channels since they are hardly used.

Solution:  When we are assigning a page for an old file (i.e. it already has
some pages assigned), try to assign the new page on the same cylinder as the
last page that was assigned for this file. If that cylinder is full, interleave
across packs in the structure. This interleaving is the same algorithm used
for the first page of a file.


                               [End of TCO 6.1314]
                               TCO-number:  6.1315



Written-by:  COBB                             Creation-date:  14-Oct-82 10:57:50
Edited-by:   COBB                             Edit-date:      17-Oct-82 16:52:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	TTYSRV




Problem:  Hole in CRJOB% can cause two jobs on one TTY:, and
two jobs are not better than one.

Diagnosis:  CRJOB% does an internal RELD% on the TTY it was told to use
for the new job so this new job can assign it.  Between this RELD% and 
the CREATED job's assignment, the TTY is up for grabs.  Even though
someone else may have grabbed this TTY, CRJOB still completes successfully,
hence the two jobs...
Solution:  1)  At SYSINE+10, add a SETZM CRJTTY to flag that we are done
with this word. 

	  2)  At TTYASC, if some job is assigning the same TTY as is 
currently in CRJTTY, make sure that this job is the one being created.
If not, return TTY unavailable for assignment error.


Another CRJOB hole plugged...hackers beware!

                               [End of TCO 6.1315]
                               TCO-number:  6.1316



Written-by:  MOSER                            Creation-date:  14-Oct-82 11:41:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  PTNON0 BUGHLT when user logs in.

Diagnosis:  ACTLCK can become unlocked by a fork which never locked it. Thus
fork A can lock and unmap page. B can unlock (without locking). C can lock
and map page. A then runs again and tries to map over the existing page.

Solution:  Move lock up a few lines to take care of this case. Also change
GTAD Jsyses to internal calls to speed things up a bit.


                               [End of TCO 6.1316]
                               TCO-number:  6.1317



Written-by:  MCINTEE                          Creation-date:  15-Oct-82 08:49:26
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:55:50


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC




Problem:  ILLUUO BUGHLT

Diagnosis:  Routine DSKCLZ uses PUSHs and POPs. In an exceptional case,
it is done wrong. (Not that it is exceptional that such a thing is wrong,
but rather the case infrequently occurs) 
Solution:  There already is a TRVAR at the start of the routine. Add two
more variables to the list.

                               [End of TCO 6.1317]
                               TCO-number:  6.1318



Written-by:  DONAHUE                          Creation-date:  15-Oct-82 16:04:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IO




Problem:  ILMNRF Bughlts

Diagnosis:  It is possible to create a non-shareable save file that, if the
user sets the proper page write protected, will crash the system when the
user issues a GET or RUN. For non-shareable save files, the GET jsys will
read the file in using a SIN. When the SIN tries to write to the write
protected page, the page fault handler will generate the ILMNRF since the
reference was from the monitor.

Solution:  Insert an ERJMP after the IDPB instruction in the literal near
SINW that will return an Illegal memory write to the user.


                               [End of TCO 6.1318]
                               TCO-number:  6.1320



Written-by:  PAETZOLD                         Creation-date:  18-Oct-82 16:05:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  

SAVELN in TTYDEA may be skipped if the TTY is an arpanet NVT.

Diagnosis:  

TDCALL calls NVTDET.  NVTDET has a skip return.  The SAVELN gets skipped.


Solution:  

Add a NOP after the TDCALL.



                               [End of TCO 6.1320]
                               TCO-number:  6.1321



Written-by:  GRANT                            Creation-date:  19-Oct-82 06:50:46
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:05:37


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  No more resident free space.
Diagnosis:  Free space full of unused blocks assigned to DECnet pool.  DTE
	driver got into a loop after getting a byte count of zero from the
	MCB.
Solution:  At DOFMCI, put in a check for a zero count;  if count is zero,
	BUGCHK and reload MCB - this is a protocol violation.

                               [End of TCO 6.1321]
                               TCO-number:  6.1324



Written-by:  LEACHE                           Creation-date:  22-Oct-82 11:08:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISK




Problem:  
Disk allocation counts inaccurate.

Diagnosis:  
The directory-allocation update code is not being invoked in
certain cases.

Solution:  
Make sure that the directory-allocation count is updated anytime
RELOFN returns a positive page count.


                               [End of TCO 6.1324]
                               TCO-number:  6.1325



Written-by:  MOSER                            Creation-date:  25-Oct-82 10:44:55


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYH2




Problem:  PH2PIM is a BUGCHK and not a BUGHLT even though an occurance of it
can mean that the file system will be trashed.

Diagnosis:  As above.

Solution:  Change it to a BUGHLT.


                               [End of TCO 6.1325]
                               TCO-number:  6.1326



Written-by:  GRANT                            Creation-date:  25-Oct-82 11:36:19
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:05:50


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FREE	PROLOG




Problem:  Difficult to debug swappable free space problems.
Diagnosis:  No information available.
Solution:  Create a header word for the swappable free space blocks and put
	the caller's PC in it.

                               [End of TCO 6.1326]
                               TCO-number:  6.1327



Written-by:  MOSER                            Creation-date:  25-Oct-82 13:19:39
Edited-by:   MOSER                            Edit-date:      26-Oct-82 10:46:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYH2




Problem:  None observed but code is very wrong. When the monitor dismisses
an RH20 interrupt it tries to restore the PREP register using a DATAO RHx,CDBRST
In all cases this fails because the monitor actually does a CONI RHx,CDBRST!!!

Diagnosis:   In RH2INI as the CDBs are setup the monitor does a
HRLI T1,(DATAO T1,0) and then IORMs in the bits for RHx and CDBRST. There is
no such instruction as DATAO T1, instead this assembles as CONI 0,0.

 Luckily this dosen't matter since all RH interrupts happen at the same PI
level.

Solution:  Change the instruction to assemble a DATAO instead of a CONI.


                               [End of TCO 6.1327]
                               TCO-number:  6.1330



Written-by:  MOSER                            Creation-date:  26-Oct-82 13:35:08
Edited-by:   MOSER                            Edit-date:      26-Oct-82 13:44:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MSTR




Problem:   MSTR function .MSGSS (Get structure status) never returns the bit
MS%PS (This structure is a public structure).

Diagnosis:   Bit is not in mask for allowed bits to be returned and it is not
set if the structure is the public structure.

Solution:   Include it in the mask and set it when the MSTR is done.


                               [End of TCO 6.1330]
                               TCO-number:  6.1334



Written-by:  PAETZOLD                         Creation-date:  26-Oct-82 17:22:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  

MODULE names in LOADMODULES are truncated to five characters.  THis means that
module names must be unique in the first five characters.  THis is not always
obvious and causes immense grief.

Solution:  

Add a simple check to the LOADMODULE macro to check if the $'MODULE symbol
has allready been defined.  If it has generate an error in a PRINTX.


                               [End of TCO 6.1334]
                               TCO-number:  6.1336



Written-by:  COBB                             Creation-date:  28-Oct-82 16:45:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LINEPR




Problem:  Line printers can hang because FE doesn't update their status
if there are solar flares active.

Diagnosis:  Don't know about solar flares, but asking the FE for status
of the LPTs does not mean it will always give it.  H/W flakes or a failing
call to DTEQ can cause this.
Solution:  Make STSWAT notice not only the status coming back, but also see
hard errors.

                               [End of TCO 6.1336]
                               TCO-number:  6.1337



Written-by:  COBB                             Creation-date:  29-Oct-82 13:53:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DEVICE




Problem:  System can crash with ILMNRF when it should crash with a NOFNDU.
Diagnosis:  If we're gonna crash, we might as well crash quickly and correctly.
Solution:  If FILDEV is 0 on a call to FNDUNT, give the NOFNDU.

                               [End of TCO 6.1337]
                               TCO-number:  6.1340



Written-by:  DONAHUE                          Creation-date:   1-Nov-82 09:14:45


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND




Problem:  If a user attempts to default a field being parsed by the .CMTOK
function of COMND, the monitor will return an error.

Diagnosis:  There is no code to handle defaulting of the token function.

Solution:  Add the code to check if the user wants to default the field,
and if so, copy the string into the atom buffer.


                               [End of TCO 6.1340]
                               TCO-number:  6.1341



Written-by:  GRANT                            Creation-date:   1-Nov-82 11:53:26
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:06:04


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  No more swappable free space.
Diagnosis:  Space is filled with 6-word blocks which are no longer needed.
	When a DECnet server closes a connection and goes back into wait
	state one of the swappable blocks is not released before assigning
	a new one.
Solution:  In routine CLRBLK, release old block if one exists.

                               [End of TCO 6.1341]
                               TCO-number:  6.1342



Written-by:  LEACHE                           Creation-date:   1-Nov-82 14:38:28


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  No way to determine monitor version number without retrieving
the monitor version string and parsing it.

Diagnosis:  As above

Solution:  Add a new GETAB table, MONVER, which will return the contents
of monitor location 137.


                               [End of TCO 6.1342]
                               TCO-number:  6.1343



Written-by:  COBB                             Creation-date:   2-Nov-82 08:24:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  Assigning permanent lines is permanent!
Diagnosis:  TTPFK, the top fork of the SCTTY tree, is never cleared on
a deassign of a permanent line.  ASSIGN CTY: gets you the CTY, but 
DEASSIGN just hangs waiting for TTPFK to go to -1.
Solution:  At TTYDE3, where DEASSIGNing permanent lines, add a SETONE
TTPFK(T2).

                               [End of TCO 6.1343]
                               TCO-number:  6.1344



Written-by:  WEETON                           Creation-date:   3-Nov-82 11:15:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  Enabled Wheels are Operators get the error message "?Execute access
required" when attempting to create a new job with a special program  as
the new job's top level process.

Diagnosis:  After performing the LOGIN JSYS, both the capability mask word and
the capabilities enabled word are zeroed.  Then an attempt is make to set up
the above words as they should be.  However, the code does this wrong.

Solution:  Put in better code to set up the capablilites enabled word
properly.


                               [End of TCO 6.1344]
                               TCO-number:  6.1345



Written-by:  MOSER                            Creation-date:   3-Nov-82 13:28:31
Edited-by:   MOSER                            Edit-date:       3-Nov-82 16:10:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYH11




Problem:   Cannot read some tapes on 2020s running TOPS-20. Tapes can be read
on 2020s running TOPS-10 and on KLs running anything.

Diagnosis:   For PE format tapes certain error bits can be set in the
drive error register without indicating that the operation failed. The
TM02/TM03 driver ignores these bits under the proper conditions but
any of these bits being set also sets the bit RH1TRE (transfer error)
in the RH11. This bit is checked and if set the operation fails.

Solution:  Check the correct bits in seperate registers to determine if
a problem occurred. Don't depend on the catch all bit, RH1TRE.


                               [End of TCO 6.1345]
                               TCO-number:  6.1348



Written-by:  LEACHE                           Creation-date:   5-Nov-82 14:41:32


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:  
When using a password supplied with an encryption version number, CRDIR is
too stringent in protecting against building a directory with an encrypted
password on a structure for which encrypted passwords have not been enabled.


Diagnosis:  
CRDIR is not checking for the case where the version number is zero (I.E.,
the password is in plaintext form).

Solution:  
Add the missing check at CRDRP1.


                               [End of TCO 6.1348]
                               TCO-number:  6.1352



Written-by:  MOSER                            Creation-date:   8-Nov-82 11:25:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LINEPR




Problem:   OKSKBG Bughlts.

Diagnosis:   TOPS-20 may decide to reload the front end and may call LPTINT
in LINEPR during reload processing. This can go OKSKED without going NOSKED.

Solution:   Go NOSKED when appropriate.


                               [End of TCO 6.1352]
                               TCO-number:  6.1353



Written-by:  MOSER                            Creation-date:   8-Nov-82 11:30:33


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:   GETOK block for ATACH is wrong. It contains the user number
in the job number word. The documentation is wrong too. The documentation
gives the wrong symbols with the wrong values for this function.

Diagnosis:   Code does the wrong thing.

Solution:   Pass the job number in the job number in the job number word.


                               [End of TCO 6.1353]
                               TCO-number:  6.1354



Written-by:  MAYO                             Creation-date:   8-Nov-82 13:34:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  None, but code is obviously wrong.
Diagnosis:  At CLRSAL:, the instruction SETZM TTSAL2 can be found. TTSAL2 is
defined as 3, and the SETZM thereby trashes an innocent AC that never did it
any harm. Possibly no one calling CLRSAL cares if T3 gets zeroed, but...

Solution:  ... the code should read SETZM TTSAL2(T2), clearing the correct
word in the terminal data instead of T3.


                               [End of TCO 6.1354]
                               TCO-number:  6.1355



Written-by:  WACHS                            Creation-date:   9-Nov-82 04:02:01


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	PHYSIO




Problem:  Mods for KLIPA/MSCP


                               [End of TCO 6.1355]
                               TCO-number:  6.1358



Written-by:  LOMARTIRE                        Creation-date:  10-Nov-82 16:26:49
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:10:06


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	 18380



Problem:  The DELBDD BUGINF is not documented and it does not provide enough 
information about the problem.
Diagnosis:  The DELBDD BUGINF was never documented.
Solution:  Add the necessary documentation in JSYSF.  Also, add code to 
place the sixbit structure name in register A.  This will be printed on the 
CTY when the BUGINF is issued.

                               [End of TCO 6.1358]
                               TCO-number:  6.1365



Written-by:  MOSER                            Creation-date:  11-Nov-82 17:03:40


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  ILPPT3 Bughlt.

Diagnosis:  ACJ can do a RCVOK with -1 as the argument block length. This
will eventually end up in BLTMU1 which will try to BLT an entire section
into the users space. Depending on the circumstances (starting address of
the BLT) you get an ILPPT3 or ILMNRF.

Solution:  Return ARGX17 if RCVOK is done with arg block length less than
or equal to zero.


                               [End of TCO 6.1365]
                               TCO-number:  6.1371



Written-by:  LEACHE                           Creation-date:  15-Nov-82 13:26:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  USAGE function .USCKI (set checkpoint time interval) does not
require privileges to perform.

Diagnosis:  Oversight.

Solution:  Require WHEEL or OPERATOR to perform the function.


                               [End of TCO 6.1371]
                               TCO-number:  6.1372



Written-by:  MOSER                            Creation-date:  15-Nov-82 16:44:27


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:   SOBE is documented to return +1 if the terminal output buffer
is non-empty with AC2 containing the count of characters in the buffer.
Sometimes this works but other times AC2 contains the device designator.

Diagnosis:   TTSOBE returns +1 if output is active without setting up the
character count. The device designator happens to be in the AC.

Solution:   Rearrange the tests a bit to do the correct thing. Documentation
should reflect that the character count can be 0 on a non-skip return if
output is currently active.


                               [End of TCO 6.1372]
                               TCO-number:  6.1375



Written-by:  MOSER                            Creation-date:  16-Nov-82 14:17:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:   Dregs queue is mishandled. Jobs become "stuck" in the dregs queue.

Diagnosis:   When a fork is in the dregs queue it cannot run until the system
is otherwise idle. To come out of the dregs queue it becomes necessary to run,
since the fork cannot run it is effectivly stuck until the system is idle.

Solution:   In CHKBMP give a boost to forks with PSIPRI (priority change PSI)
set. Check for fork on the dregs queue when it shouldn't be in GLREM and
SAVRT and fix up FKQN if this is the case.


                               [End of TCO 6.1375]
                               TCO-number:  6.1376



Written-by:  MOSER                            Creation-date:  16-Nov-82 14:24:32
Edited-by:   MOSER                            Edit-date:       8-Dec-82 17:22:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GETSAV	FORK


Related-TCO:  	6.1409



Problem:   FLKTIM, FLKNS Bugchks sometimes followed by GLFNF Bughlts.

Diagnosis:   FORK.MAC has more races than Churchill Downs. One particularly
nasty one is when FORK A owns the Fork Lock and tries to suspend FORK B
which is trying to get the fork lock while NOINT. There are 2 routines which
try to lock the fork lock and which get called NOINT all the time.

Solution:   In FKHP1 and VECSET (in GETSAV) use NOSKED/OKSKED instead of
FLOCK/FUNLK.


                               [End of TCO 6.1376]
                               TCO-number:  6.1377



Written-by:  MCINTEE                          Creation-date:  16-Nov-82 15:18:54
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:56:03


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  Yet another JHTEST bughlt.

Diagnosis:  Yet another indirect table. 
HOWEVER, this one has 400000 in the left half for 
SOME of the entries. 
Solution:  Yet another filling in of IFIWs

                               [End of TCO 6.1377]
                               TCO-number:  6.1378



Written-by:  PAETZOLD                         Creation-date:  16-Nov-82 15:19:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IO




Problem:  

ILMNRF's from TTYBLO in FILMSC.

Diagnosis:  

Yet more amazing confusion between .TTDES designators and universal terminal
designators.  For those of you lately in the game universal designators also
caused problems with OWGBPs.

TTYBLO is testing JFN and forgets about the universal case.  Probably lots
of other code scattered around also forgets.

Solution:  

In CHKJFN convert the universal designator to a .TTDES designator.  In reality
the code allready does this but takes pains to restore the universal form.
Do not restore the universal form.


                               [End of TCO 6.1378]
                               TCO-number:  6.1380



Written-by:  MOSER                            Creation-date:  16-Nov-82 16:46:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:   Jobs hang when logged out while doing a save to magtape.

Diagnosis:   SSAVE uses JSB free space which can be released on a RESET,
unfortunatly the RESET in the logout code is after the call to WTSPT which
waits for the SPT share count to go to 1, consequently it never does.

Solution:   Add another reset before the call to WTSPT. The origional one is
still needed to reset TTY modes and stuff which can change while we wait.


                               [End of TCO 6.1380]
                               TCO-number:  6.1381



Written-by:  MOSER                            Creation-date:  17-Nov-82 11:16:29
Edited-by:   MOSER                            Edit-date:       8-Dec-82 13:37:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIRECT




Problem:   Monitor reports that a structures Root directory or backup
root directory is bad when it is not.

Diagnosis:   Out of OFNs.

Solution:   Invent a new BUGINF CGROFN, Can't get Root directory OFN and
issue it when ASROFN fails.


                               [End of TCO 6.1381]
                               TCO-number:  6.1385



Written-by:  PAETZOLD                         Creation-date:  18-Nov-82 11:03:11
Edited-by:   PAETZOLD                         Edit-date:      18-Nov-82 11:36:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  

Amazing GFLOAT simulation.  GFLT0 goes to JSYS context after deciding 
if this instruction needs to be simulated.  This was done to avoid a
microcode problem.  Unfortunatly MCENTR trashes a few ACs on us.  
The monitor crashes.

Diagnosis:  

Engineer brain damage.

Solution:  

Go NOINT and refetch the information from the user's context after entering
JSYS context via the MCENTR.  THis is also a problem in the release 5.1
autopatch monitor.



                               [End of TCO 6.1385]
                               TCO-number:  6.1387



Written-by:  PAETZOLD                         Creation-date:  19-Nov-82 18:35:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  

ILLIND BUGHLTs in some cases where an ILLUUO BUGHLT should have resulted.

Diagnosis:  

KIMXCT (the wonderfull routine which checks for illegal OWGBPs in PXCTs) 
decrements the MUUO PC.  If the MUUO PC was zero the decrement will result 
in a 36 bit minus one.  The instruction fetch (using an indirect reference)
will fail with an illegal indirect.

Solution:  

Add a HRRZS after the decrement in KIMXCT.  

We will probably still get an ILLUUO instead of an ILLIND but what the heck.



                               [End of TCO 6.1387]
                               TCO-number:  6.1390



Written-by:  MURPHY                           Creation-date:  23-Nov-82 11:18:13
Edited-by:   MURPHY                           Edit-date:       6-Jan-83 15:46:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	TTYSRV	TTPHDV


Related-TCO:  	6.1444



Problem:  Noisy 20F lines not being shut off.  Wasting lots of
cycles in 20F and TOPS20.

Diagnosis:  If inactive line generates one noise character,
TOPS20 echos one bell during next bigbuf cycle.  This may
generate one more noise character which will cause another
bell during the next bigbuf cycle, etc.  The current noisy
line check requires more than 2 noise characters during
one cycle.

Solution:  Add a check for more than 2 input characters on
inactive line during one second interval.
This will detect noisy line regardless of frequency of
bigbuf activity.


                               [End of TCO 6.1390]
                               TCO-number:  6.1391



Written-by:  PAETZOLD                         Creation-date:  24-Nov-82 11:27:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  

NOINTs at GFLT0 are not strong enough.  Another fork may try to play games on 
us.

Diagnosis:  

More engineer brain damage.

Solution:  

Change the NOINT and OKINT to NOSKED and OKSKED.



                               [End of TCO 6.1391]
                               TCO-number:  6.1401



Written-by:  WEETON                           Creation-date:   2-Dec-82 16:05:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	JSYSA


Related-SPR:  	 18144



Problem:  Infinite number of ITRLGO BUGCHKs and a WAITNI BUGHLT.

Diagnosis:  No ERJMPs after JSYSes in the Monitor.

Solution:  Put in ERJMPs after failing JSYSes.  In the interrupt code, add
an extra routine that will do a new BUGINF ("LGFAIL") when interrupts happens
in the interrupt code.


                               [End of TCO 6.1401]
                               TCO-number:  6.1402



Written-by:  PAETZOLD                         Creation-date:   5-Dec-82 14:50:43
Edited-by:   PAETZOLD                         Edit-date:       7-Dec-82 13:46:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG




Problem:  

Symbol LOCAL in PROLOG conflicts with one of the TCP MACROs. 
Diagnosis:  

The TCP MACRO is used a lot.  The PROLOG symbol is used for the lock definition
stuff only.  

Solution:  

Change the LOCAL symbol in PROLOG to LLCAL.  Also change the GLOBAL symbol to
GLLBAL.



                               [End of TCO 6.1402]
                               TCO-number:  6.1404



Written-by:  GRANT                            Creation-date:   7-Dec-82 13:03:44
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:06:17


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  Fork stuck in a SOUTR is hogging the system.
Diagnosis:  Scheduler test CHKSCT wakes up incorrectly.
Solution:  Make CHKSCT wake up only when the resend queue is ready to
	accommodate another segment.

                               [End of TCO 6.1404]
                               TCO-number:  6.1405



Written-by:  PAETZOLD                         Creation-date:   7-Dec-82 13:48:03
Edited-by:   PAETZOLD                         Edit-date:       7-Dec-82 13:50:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYH2




Problem:  

PH2PIM BUGHLTs do not give enough information.


Diagnosis:  

Currently they give the channel that we are upset with.  We should also
output the CONI we did receive.

Solution:  

In the PH2PIM BUGHLT also output the results of the CONI and the value we
expected but did not receive.


                               [End of TCO 6.1405]
                               TCO-number:  6.1407



Written-by:  PAETZOLD                         Creation-date:   7-Dec-82 15:21:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG	TTYSRV




Problem:  

TVTs do not have a terminal type.

Diagnosis:  

Never existed before.

Solution:  

They exist now.



                               [End of TCO 6.1407]
                               TCO-number:  6.1408



Written-by:  MOSER                            Creation-date:   8-Dec-82 13:43:05


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MSTR	DIRECT




Problem:   Backup root directories cause more problems than they solve.

Diagnosis:   If a backup root directory is bad there is no simple way to fix
it. It is quite difficult to even find out what is wrong.

Solution:   If the backup root directory cannot be copied, issue a BUGINF
CCBROT which gives LSTERR as additional information. Also allow mounts
of the structure which specify MS%IGN (ignore errors) to succeed.


                               [End of TCO 6.1408]
                               TCO-number:  6.1409



Written-by:  MOSER                            Creation-date:   8-Dec-82 17:21:45
Edited-by:   MCLEAN                           Edit-date:      13-Apr-84 21:48:28


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK	IPCF	GETSAV


Related-TCO:  	6.1376	6.2034



Problem:  FLKTIM Bugchks followed by FLKNS Bughcks.

Diagnosis:   Don't allow this. Fix the known cases in GET and MSEND and
reinstall the FLKINT BUGINF to detect other offenders. This BUGINF is currently
repeat zeroed.

Solution:   Don't allow this. Fix the known cases in GET and MSEND and
reinstall the BUGINF FLKINT which is currently repeat zeroed to detect
other offenders.


                               [End of TCO 6.1409]
                               TCO-number:  6.1410



Written-by:  DONAHUE                          Creation-date:   9-Dec-82 15:39:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	PHYX2	PHYM2	PHYM78	GLOBS




Problem:  DX2N2S Bugchk's when a TU72 gets set online

Diagnosis:  A system with some TU72's switchable to another system and some
tape drives online when the system comes up will initialize the online drives
to unit numbers starting at 0 when the system is brought up. SETSPD can then
set those drives to be up to unit number 7. This leaves MTINDX pointing at
slot 7 in the MTCUTB table. When an operator sets the TU72's online, the
monitor will grab the pointer out of MTCUTB to determine a unit number for
the new drives. Since MTINDX points to the highest slot in MTCUTB, we
generate the Bugchk.

Solution:  Don't use the MTINDX pointer. Instead, search MTCUTB for the first
available slot. Change all references to MTINDX to use a STKVAR, since we only
need it for temporary storage now.


                               [End of TCO 6.1410]
                               TCO-number:  6.1411



Written-by:  GRANT                            Creation-date:  10-Dec-82 11:30:34
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:06:29


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  DECnet spends an enormous amount of time in the routine LLLKUP.
	It should be made as efficient as possible.  It is called while
	processing every incoming DECnet message and during almost every
	DECnet scheduler test.

Diagnosis:  LLLKUP currently does a binary search on a tree of logical link
	blocks.  The more links you have on the system, the greater the
	potential for spending excess time finding the logical link block
	you want.  Need a different mechanism for looking up the logical
	block address when presented the link's id.
Solution:  Get rid of the tree structure entirely.  Create a table which
	can be indexed into by the 7 bits of the logical link ID which are
	unique to the monitor.

                               [End of TCO 6.1411]
                               TCO-number:  6.1413



Written-by:  PAETZOLD                         Creation-date:  11-Dec-82 17:07:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  

Hard to track down bugs involving excessive ECSKEDs.

Diagnosis:  

I guess no one ever had trouble with them before.

Solution:  

Create a new BUGHLT called CSKBUG which detects excessive ECSKEDs.


                               [End of TCO 6.1413]
                               TCO-number:  6.1414



Written-by:  DONAHUE                          Creation-date:  13-Dec-82 08:56:38
Edited-by:   DONAHUE                          Edit-date:      13-Dec-82 09:00:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IO	PAGEM	PROLOG




Problem:  ILLUUO, ILMNRF, ILFPTE and probably many others, when running a
program that passes bogus arguments to SOUT.

Diagnosis:  SOUT uses the BYTBLT routine to transfer most of the bytes. BYTBLT
will set up address TRPDSP in case it gets an illegal read or write during the
transfer. The page fault code checks TRPDSP, and if it is set, will return
to BYTERR after handling the page fault. BYTERR simply pops all saved ACs off
the stack and RETs. A problem occurs when BYTBLT receives the illegal read/write
in the middle of a subroutine that has been CALLed. The cleanup routine then
restores all of the ACs incorrectly, since P is off by one. Not only that,
but when the cleanup routine attempts to RET, it will return to the address
that called the subroutine and attempt to continue BYTBLT, with several ACs
clobberred.

Solution:  Set a flag in TRPDSP before CALLing any routines from BYTBLT. Don't
zero TRPDSP in the page fault handler as is done now. Instead, check TRPDSP
in the cleanup routine, and if the flag is set, adjust the stack pointer
to compensate for the extra CALL. Then zero TRPDSP before leaving the cleanup
routine.


                               [End of TCO 6.1414]
                               TCO-number:  6.1417



Written-by:  DONAHUE                          Creation-date:  15-Dec-82 09:00:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  OKSKBG Bughlts

Diagnosis:  The code at SALLI2 has an OKSKED following a call to LCKTT
which already went OKSKED.

Solution:  Replace the OKSKED with an OKINT.


                               [End of TCO 6.1417]
                               TCO-number:  6.1420



Written-by:  MOSER                            Creation-date:  15-Dec-82 14:39:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:   Inconsistent PMAP behavior. If a user tries to delete a page
in a nonexistent file section he gets a LNGFX1 error. If he tries to delete
a nonexistent page in an existant file section everything is OK.

Diagnosis:   No check for deleting pages if CPMAPX fails.

Solution:   Check for this case.


                               [End of TCO 6.1420]
                               TCO-number:  6.1421



Written-by:  MOSER                            Creation-date:  15-Dec-82 14:44:37


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE




Problem:   Direct of a labeled tape shows N files but a COPY TAP:*.*.* to NUL:
only copies N/2 of the files! Examination shows that every second file was
skipped.

Diagnosis:   If a file has the exact same name as a previous file then TAPE
thinks that it is still looking at the previous file and skips ahead to the
next file.

Solution:   Check the tape position before skipping ahead. Only skip if it is
the same as the last position. Save the position in FILMS2 of the JFN block.


                               [End of TCO 6.1421]
                               TCO-number:  6.1422



Written-by:  MOSER                            Creation-date:  15-Dec-82 15:01:24
Edited-by:   MOSER                            Edit-date:      21-Dec-82 11:01:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE




Problem:  Cannot write "standard" variable length (FORMAT:D) tapes.

Diagnosis:  Record length stored in the HDR2 is wrong. It should be the size of
the largest possible RCW it is actually 4 less than this because the RCW
length is not counted.

Solution:  Use correct size.


                               [End of TCO 6.1422]
                               TCO-number:  6.1423



Written-by:  MCINTEE                          Creation-date:  16-Dec-82 11:33:40
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:56:21


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:  ILSPTH BUGHLTs
Diagnosis:  In the routine SETPT0, a share pointer to an existing page is
being constructed. The existing SPTH entry is checked for consistency, and
fails the test. The reason it fails the test is that the bit OFNERR is set 
for that entry. However, this entry is not in the OFN portion of SPTH,
and should not have that bit set. 
Solution:  The routine which sets the OFNERR bit already does various checks
for being in the OFN portion of the SPTH table. Add one final check in routine
BADCPG.

                               [End of TCO 6.1423]
                               TCO-number:  6.1426



Written-by:  GRANT                            Creation-date:  27-Dec-82 08:16:00
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:06:46


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ttphdv	TTYSRV




Problem:  DECnet logical link block in "DI read" state stays around forever.
Diagnosis:  If a user SETHOSTs in to a system and then SETHOSTs out to another
system, a certain combination a LOGOUTs and escape characters will cause the
TTPRM bit to get turned off for an MCB terminal.  Taking a TTY out of "net
user" state normally turns off the TTPRM bit;  it should not do this if the
TTY is an MCB or the CTY.
Solution:  When undoing "net user" state or closing an NVT connection check
for MCB TTY type;  if it is, don't turn off TTPRM.

                               [End of TCO 6.1426]
                               TCO-number:  6.1427



Written-by:  GRANT                            Creation-date:  27-Dec-82 08:19:43
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:06:55


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV	nsppar	STG




Problem:  The NCP command SHO NODE FOO COUNTERS doesn't return the "seconds
since last zeroed" parameter when the executor node is TOPS-20.
Diagnosis:  Monitor doesn't return this value to NMLT20 because the monitor
doesn't keep track of it.
Solution:  Add code to support it.


                               [End of TCO 6.1427]
                               TCO-number:  6.1428



Written-by:  GRANT                            Creation-date:  27-Dec-82 09:01:56
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:07:11


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  There are 2, almost consecutive, UMOVE T4,4 in routine MTSNIN.
Diagnosis:  That's one too many.
Solution:  Remove one.

                               [End of TCO 6.1428]
                               TCO-number:  6.1429



Written-by:  GRANT                            Creation-date:  27-Dec-82 09:06:52
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:07:20


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  None, at least for now.
Diagnosis:  Missing OKINT in routine DCDCS.  This routine is currently only
executed by the background task so there's probably no harm done yet.
Solution:  Insert the OKINT.

                               [End of TCO 6.1429]
                               TCO-number:  6.1430



Written-by:  GRANT                            Creation-date:  28-Dec-82 07:51:43
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:08:11


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  Unnecessary processing of the resend queue on Phase II connections.

Diagnosis:  CCs are not put on the resend queue now, they once were.
Solution:  In the background fork's code for processing ACKs and Data
segments, remove the logic which scans the resend queue looking for a CC.


                               [End of TCO 6.1430]
                               TCO-number:  6.1431



Written-by:  DONAHUE                          Creation-date:  29-Dec-82 11:00:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYM78




Problem:  KPALVH Bughlts

Diagnosis:  A dual ported TM78 will occasionally send online interrupts to
both systems. The system that doesn't know about the drives on this
controller will loop through routine NOUDB, looking for the proper UDB.
When it can't find a UDB it will simply return. Apparrently, the interrupt
is still up at this time.

Solution:  Clear the interrupt before returning.


                               [End of TCO 6.1431]
                               TCO-number:  6.1433



Written-by:  LOMARTIRE                        Creation-date:   3-Jan-83 13:17:09
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:12:11


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
Related-SPR:  	 18387



Problem:  There is no way to prevent logins on DECnet lines.
Diagnosis:  There is no code (in version 5) to do this.  In versions 5.1 and 6, 
TCO 5.1.1039 makes DECnet login permission be governed by the state of remote 
logins.  An ^ESET NO LOGINS-ALLOWED DECNET-LINES command is needed to disallow 
DECnet logins specifically.  ^ESET LOGINS-ALLOWED DECNET-LINES needs to be 
added in order to allow DECnet lines specifically.
Solution:  Add the new code to four modules: TTYSRV, EXECSE, EXECIN, and 
MONSYM.  In MONSYM, add SMON/TMON function code 27 (.SFMCB) and a new 
monitor flag (SF%MCB).  Check the login request in TTYSRV and, if disallowed, 
print ?LOGGING IN ON DECNET LINES IS CURRENTLY DISALLOWED.  Also, remove the 
code in TTYSRV added by TCO 5.1.1039 which uses the remote login setting as 
the DECnet logins-allowed value.  Add code in EXECSE which will provide for 
the setting/clearing of SF%MCB when allowing/disallowing DECnet logins.  In 
EXECIN, print out whether logins are or are not allowed when INFORMATION 
SYSTEM-STATUS is issued.

                               [End of TCO 6.1433]
                               TCO-number:  6.1434



Written-by:  MILLER                           Creation-date:   3-Jan-83 14:50:11
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:35:49


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIRECT




Problem:  The field OFOPC in the SPT is not properly maintained. Now
and then, the value in the field is negative.

Diagnosis:  Some of the callers to RELOFN do not correctly indicate
if the call is to close a file or to simply decrement an OFN share
count. The latter case is common for directory files.

Solution:  Set FILUB in calls to RELOFN when the caller is decrmenting
the share count and not closing the file.


                               [End of TCO 6.1434]
                               TCO-number:  6.1435



Written-by:  GRANT                            Creation-date:   4-Jan-83 13:15:48
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:08:34


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  The node counter "connect resource errors" is always 0.
Diagnosis:  Code doesn't properly check for "no such object".
Solution:  Rewrite part of CI message processing to better deal with
	incoming connect errors

                               [End of TCO 6.1435]
                               TCO-number:  6.1440



Written-by:  DONAHUE                          Creation-date:   6-Jan-83 13:02:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYP4




Problem:  RP4UNF Bughlts when an RP06 dual ported between 2 systems is
powered on.

Diagnosis:  When the drive is powered on, it will send an interrupt
to both systems. Depending on the port switch, the DCL will send all
zeroes to the one of the systems when it tries to read the drive type
while trying to initialize the drive. Zero is an invalid typ and will
cause the bughlt.

Solution:  Change the Bughlt to a Bugchk.


                               [End of TCO 6.1440]
                               TCO-number:  6.1441



Written-by:  MCINTEE                          Creation-date:   6-Jan-83 13:22:34
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:56:38


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM




Problem:  No symbol in MONSYM for the GETAB table MONVER.
Diagnosis:  

Solution:  Think of a symbol, any symbol. Aha - .MONVR !


                               [End of TCO 6.1441]
                               TCO-number:  6.1442



Written-by:  GRANT                            Creation-date:   6-Jan-83 13:41:47
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:08:50


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  Obsolete code.
Diagnosis:  Code which checks for 2020 loopback mode gets executed for
	every DECnet message.  Release 6.0 will never run on a 2020.
Solution:  Remove everything pertaining only to 2020.

                               [End of TCO 6.1442]
                               TCO-number:  6.1443



Written-by:  GRANT                            Creation-date:   6-Jan-83 14:09:10
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:09:00


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  All DECnet jobs are hung.
Diagnosis:  NSP is accidently trying to do inactivity timing on a local link.
	The code is designed specifically not to time local links.  Trying
	to send a local link service message while in the background task's
	inactivity timer tries to get a lock it already has and spins forever.

Solution:  The inactivity timer is being set for a local link when it shouldn't
	be.  Remove the incorrect setting of the timer.

                               [End of TCO 6.1443]
                               TCO-number:  6.1444



Written-by:  CDUNN                            Creation-date:   6-Jan-83 15:44:48
Edited-by:   CDUNN                            Edit-date:       6-Jan-83 15:45:59


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV


Related-TCO:  	6.1390



Problem:  The fix for the bug introduced by TCO 6.1390 does not cover all cases.

Diagnosis:  Engineer brain fade.

Solution:  Fix the fix to the first fix. Move the TTCHN1 label up one line such
that the line number is always loaded before the noisy line check...


                               [End of TCO 6.1444]
                               TCO-number:  6.1445



Written-by:  MCINTEE                          Creation-date:   7-Jan-83 11:19:59
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:57:56


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	GLOBS	VERSIO


Related-TCO:  	6.1446



Problem:  Need a different calling mechanism for SYSJOB

Solution:  Use the same mechanism as for SETSPD; the monitor will
invoke X-SYSJOB.EXE which will use as command files X-SYSJOB.RUN,
X-SYSJOB.DEBUG, X-SYSJOB.TEST0, where X is the monitor version number.


                               [End of TCO 6.1445]
                               TCO-number:  6.1447



Written-by:  MURPHY                           Creation-date:   7-Jan-83 12:36:06


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  "One man's meat is another man's poison" when it
comes to scheduling algorithms.  That is, some customers
think our scheduling parameters could be improved.  They
may be right for their own installation.  In any case,
they are the customer.

Diagnosis:  System administrator should be able to change
more scheduling parameters.

Solution:  Add functions to SKED% JSYS to:

  1. Allow specific setting of bias bits;
  2. Allow setting of queue quanta and number of queues.

Plus SETSPD and OPR stuff to set and read the stuff.


                               [End of TCO 6.1447]
                               TCO-number:  6.1448



Written-by:  COBB                             Creation-date:  10-Jan-83 11:12:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  GLFNF bughalts...
Diagnosis:  NTCTAB, the table of forks who wish network-topology-change
interrupts, contains an erroneous entry.  This is because top-level forks
do not go through code which removes them from this table.
Solution:  Add a call to NTCOFF in .RESET code, under FTSNSPSRV conditional.

                               [End of TCO 6.1448]
                               TCO-number:  6.1452



Written-by:  MILLER                           Creation-date:  11-Jan-83 19:28:58
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:35:57


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	mstr	monsym




Problem:  CFS-20 needs an MSTR function that will designate
a structure as SHARED or EXCLUSIVE.

Diagnosis:  As above

Solution:  Add .MSCSM function to MSTR. Also add appropriate error
messages and defintions.


                               [End of TCO 6.1452]
                               TCO-number:  6.1453



Written-by:  MCINTEE                          Creation-date:  12-Jan-83 08:05:23
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:58:31


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  SOME OF THE DEFAULTS FEATURE TEST SWITCHES ARE NOT GLOBAL

Diagnosis:      


Solution:  MAKE ALL OF THEM GLOBAL.


                               [End of TCO 6.1453]
                               TCO-number:  6.1454



Written-by:  GRANT                            Creation-date:  12-Jan-83 12:20:53
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:09:25


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV	nsppar	STG	ntman




Problem:  NSPSRV is getting too big.
Diagnosis:  

Solution:  Break it up into 2 modules, NSPSRV and NTMAN;  NTMAN contains the
NTMAN% JSYS.

                               [End of TCO 6.1454]
                               TCO-number:  6.1455



Written-by:  GRANT                            Creation-date:  12-Jan-83 14:13:09
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:09:37


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  Old Code.
Diagnosis:  Check for internal links are scattered throughout NSPSRV and all
	the "driver" code for internal links still gets assembled.
Solution:  Remove it all.

                               [End of TCO 6.1455]
                               TCO-number:  6.1458



Written-by:  CHALL.WIZARD                     Creation-date:  12-Jan-83 16:35:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GETSAV




Problem:  CSKBUGs.

Diagnosis:  A GET% of an execute-only file which will get an error
because the monitor couldn't get the Job Fork Handle (a call to 
STJFKR gets an error return) does two FUNLK's, each of which try
to ECSKED.

Solution:  In GET02, eliminate the CALL FUNLK before jumping to
GETE2 (GETE2 calls GETEND, which does the other FUNLK).

While I'm in there, tighten the code up a little by creating 
label GETE0: and making several error jumps go there. That eliminates
a number of literals.


                               [End of TCO 6.1458]
                               TCO-number:  6.1462



Written-by:  CHALL.WIZARD                     Creation-date:  13-Jan-83 14:06:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  CSKBUG BUGHLT.

Diagnosis:  PMAP does a FLOCK early and keeps it. If it gets an error
it goes to a routine which releases PMAP locks (PMAPRL) and then calls
FUNLKI to negate the FLOCK. But PMAPRL calls LUNLKF calls ULKSTR, and
the latter goes CSKED/ECSKED. The ECSKED zeroes FLKCNT, so the later
FUNLKI doesn't think the fork was locked.
Solution:  Going CSKED while CSKED is flaky, so in that PMAP error routine
reverse the calling order to call FUNLKI first, then PMAPRL.


                               [End of TCO 6.1462]
                               TCO-number:  6.1463



Written-by:  HALL                             Creation-date:  13-Jan-83 15:02:02
Edited-by:   HALL                             Edit-date:      23-Mar-83 12:37:41


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	STG	PROLOG




Problem:  
PAGEM's too big to carry around and takes too long to assemble.

Diagnosis:  
Not enough END statements.

Solution:  
Make three modules. Move data definitions to STG. Make a whole lot of things
global, and add them to PROLOG. The modules are as follows:

PAGEM - memory management stuff; PGRTRP; XGC; GCCOR; swapping

PAGFIL - file system stuff; OFN routines; SETMPG and friends

PAGUTL - everything else; general-purpose routines; PGRINI


                               [End of TCO 6.1463]
                               TCO-number:  6.1466



Written-by:  PAETZOLD                         Creation-date:  17-Jan-83 14:21:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	sysdpy




Problem:  

SYSDPY does not work anymore.

Diagnosis:  

It looks for symbols in PAGEM that are not in PAGEM anymore.

Solution:  

Look somewhere else.


                               [End of TCO 6.1466]
                               TCO-number:  6.1469



Written-by:  GRANT                            Creation-date:  19-Jan-83 08:11:25
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:09:49


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV	NTMAN	STG	PROLOG




Problem:  TOPS-20's node parameter "state" is always on.  The network manager
	would like to put it into the "shut" and "restricted" states when
	appropriate.
Diagnosis:  No code.
Solution:  Add code to NTMAN% to allow the setting and displaying of the state;
	also, add code to NSPSRV to disallow connection attempts, as
	dictated by the state setting.

                               [End of TCO 6.1469]
                               TCO-number:  6.1470



Written-by:  MCINTEE                          Creation-date:  19-Jan-83 12:32:17
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:58:47


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  KPALVH bughlts
Diagnosis:  A new feature of BUGCHK (continuation address) doesn't work
when the SYSERR queue is full. Lately, the SYSERR queue appears full
during system startup, i.e., BUGCNT = BUGMAX. 

Solution:  Fix the code in the bug handler so that the continuation feature
works. 

                               [End of TCO 6.1470]
                               TCO-number:  6.1471



Written-by:  MCINTEE                          Creation-date:  19-Jan-83 15:32:18
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:59:01


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	MEXEC




Problem:  SEBQOU and BUGCNT disagree.

Diagnosis:  During system startup, it is possible to get a BUGCHK before
SEBQIN has been initialized. In particular, PHYINI frequently gets a 
an RP4SSC bugchk on KL2136.
Solution:  Move the initialization (CALL SEBINI) from EXEC0 to SYSGO1,
just before PHYINI. 

                               [End of TCO 6.1471]
                               TCO-number:  6.1472



Written-by:  MURPHY                           Creation-date:  19-Jan-83 18:03:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  CSKBUG bughlts.  That is, attempt to do ECSKED when
process is not CSKED.

Diagnosis:  JSYS (e.g. PMAP) goes CSKED, then calls another JSYS
(e.g. SMAP%) which gets an error.  PMAP is prepared to handle
the error and has an ERJMP after the SMAP%, but the ITRAP
routine thinks it needs to "clean up", and clears the
CSKED.  Hence, we're now back in PMAP but not CSKED.  When
PMAP attempts to return normally and do the ECSKED, it gets
a biiiiig surprise.

Solution:  1. Prevent ITRAP code from clearing CSKED.
	2. However, it may be that some JSYSes fail to do a
	   needed ECSKED when generating an error return.
	   To detect this in ITRAP, look for the case of
	   returning to user mode OR returning to monitor
	   mode without an ERJMP.  In this case, the previous
	   context could not or should not have been CSKED,
	   so being CSKED now indicates that this JSYS is
	   not cleaning up properly.  Do a NOSKTR and
	   make it a BUGHLT to discourage this sort of
	   behaviour.


                               [End of TCO 6.1472]
                               TCO-number:  6.1474



Written-by:  MILLER                           Creation-date:  20-Jan-83 09:35:54
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:36:02


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ENQ	cfssrv




Problem:  The first release of LCS-20 will support only CFS. Consequently,
other important services, such as ENQ/DEQ, will be limited to
processes running on a single processor. However, an application
that uses ENQ/DEQ that also takes advantage of CFS will malfunction.

Diagnosis:  Absolutley correct! If copies of the application are run
simultaneously on two or more CFS nodes, these applications will
successfully share the file contents but will not be sharing the
ENQ/DEQ resource. Most likely no one will notice this until the
data base has been irretrievably damaged.

Solution:  Add a check in ENQ/DEQ whenever a "lock block" is
created for an OFN resource being established. If so, ask
CFS-20 to allocate an "exclusive" file resource to inhibit programs
on other processors from using ENQ/DEQ on the file.

Also, delete the CFS file resource whenever the "lock block"
is deleted.


                               [End of TCO 6.1474]
                               TCO-number:  6.1475



Written-by:  MURPHY                           Creation-date:  20-Jan-83 18:31:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  Entering PA1050 in extended section doesn't work.

Diagnosis:  UUO was done in section 0, so PCS is 0 when monitor
is trying to setup PA1050 entry vector.  Hence, monitor can
only reference section 0.

Solution:  Set PCS to section of entry vector before referencing it.


                               [End of TCO 6.1475]
                               TCO-number:  6.1480



Written-by:  WEAVER                           Creation-date:  27-Jan-83 21:13:26
Edited-by:   WEAVER                           Edit-date:      15-Aug-83 10:21:02


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV	TTPHDV




Problem:  

Terminal lines appear to lose an occasional XON and possibly XOFFs as well.


Diagnosis:  

When RSX20F receives an XOFF, it stops output immediately and passes the
XOFF through to TOPS20 so that TOPS20 can stop sending characters.  TOPS20
will turn around and tell the front-end to stop output which is redundant
as it forces RSX20F to go through the same code it executed when it first
received the XOFF.

When RSX20F receives an XON, it does nothing other than pass the character
through to TOPS20.  TOPS20 will then see the XON and tell RSX20F to start
output again.

It is unclear exactly how it happens, but it appears that this scenario
produces a race condition which can make 20F appear to lose the XON in
rare circumstances.  This same condition happened on TOPS10 as well and
the cure that follows remedied that problem.


Solution:  

Eliminate any possibility of race conditions.  Allow RSX20F to control both
the starting and stopping of output, rather than just the stopping.  Create
a bit in TTSTAT (TT%XFF) that allows TOPS20 to force the front-end to set/clear
the XOFFed state.  This will allow two consecutive ^C's and a ^O to be able
to restart output.  This bit is only set by the routine that flushes output
(TTCBF7), as this routine handles both cases.

Edit A to RSX20F is required to make RSX20F restart output when it receives
an XON.  If this edit is not installed lines will hang when an XOFF is typed,
and the only way to clear them will be by typing 2 ^C's or a ^O.



                               [End of TCO 6.1480]
                               TCO-number:  6.1483



Written-by:  GRANT                            Creation-date:  28-Jan-83 22:13:17
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:10:34


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  ILMNRF BUGHLTs and hung forks with DECnet links.
Diagnosis:  Logical link block being improperly unlocked during processing
	of a DI.
Solution:  Fixes in routine DCDCS.

                               [End of TCO 6.1483]
                               TCO-number:  6.1485



Written-by:  WEAVER                           Creation-date:   1-Feb-83 13:40:46
Edited-by:   WEAVER                           Edit-date:      31-Mar-83 17:05:39


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	TTYSRV	TTPHDV




Problem:  

Monitor crashes since last Friday.


Diagnosis:  

Engineer has no brain.


Solution:  

T2 does not point to the static area but the dynamic area, so define TT%XFF
to be in the dynamic area (which is more appropriate) rather than the static
area.



                               [End of TCO 6.1485]
                               TCO-number:  6.1486



Written-by:  GRANT                            Creation-date:   2-Feb-83 07:20:18
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:10:59


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  ILMNRF BUGHLTs.
Diagnosis:  Scheduler's queue header for incoming DECnet messages is inconsistent.
Solution:  It appears that the routines which queue and dequeue the messages can
	be called from the background task.  Make the routines NOSKED.

                               [End of TCO 6.1486]
                               TCO-number:  6.1487



Written-by:  WEETON                           Creation-date:   2-Feb-83 09:33:26


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DATIME	JSYSA	STG	MONSYM




Problem:  Customers can't conviently turn on or off Daylight Saving Time.

Diagnosis:  No code was ever written to do this.

Solution:  Add new SMON and TMON functions to set/read DST conversion
method.  In DATIME.MAC change DST checking routines to read new format,
and add a new routine to get current setting, and issue a BUGINF is
DSTLFG contains an illegal value.


                               [End of TCO 6.1487]
                               TCO-number:  6.1491



Written-by:  GRANT                            Creation-date:   2-Feb-83 12:30:25
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:11:13


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  MTOPR doing the DECnet function "get link's segment size" fails.
Diagnosis:  The monitor returns failure if the link is not in the run state.
Solution:  Return the segment size once it has been establish, regardless of
	link state.

                               [End of TCO 6.1491]
                               TCO-number:  6.1493



Written-by:  GRANT                            Creation-date:   3-Feb-83 11:58:50
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:11:33


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC	PHYSIO	FREE	STG




Problem:  PHYSIO doesn't fit the model of how users of resident free space need
	to behave.
Diagnosis:  It rarely gives back any blocks of free space.
Solution:  Make a separate pool for PHYSIO (and DSKALC) and change the 2/3
	allocation of total space to 100%.

                               [End of TCO 6.1493]
                               TCO-number:  6.1495



Written-by:  WACHS                            Creation-date:   4-Feb-83 05:03:11
Edited-by:   LEACHE                           Edit-date:      25-Apr-84 14:44:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  Monitor
  Routines-affected:   	BOOT




Problem:  BOOT wipes out KLIPA/KLNI microcode
Diagnosis:  DATAO/DATAI to read drive type register writes the
microcode.
Solution:  test CONI bits. If bits 0,16, and 17 are on then don't
read the drive type register

                               [End of TCO 6.1495]
                               TCO-number:  6.1497



Written-by:  MILLER                           Creation-date:   9-Feb-83 13:21:31
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:37:35


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGFIL




Problem:  It is possible for a file opened with OF%DUD set not to
be opened in the correct mode.

Diagnosis:  OFNDUD is not set if the OFN already exists. Therefore, if
the OFN is created for a file not opened for OF%DUD, subsequent
sharers requesting OF%DUD will not realize that request.

Solution:  If OFNDUD is requested, and the OFN already exists, set OFNDUD in
the existing OFN's data base (SPTH).

Also, a related problem is in the routine RELP4. This code does not
call SCNOFN for an OFN that is becoming unshared and has OFNDUD set.
Although this will usually be harmless, it is also incorrect. So, always
call SCNOFN when an OFN's share count is reduced to zero.


                               [End of TCO 6.1497]
                               TCO-number:  6.1498



Written-by:  LEACHE                           Creation-date:   9-Feb-83 17:21:47
Edited-by:   PURRETTA                         Edit-date:      25-Apr-84 15:03:16


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	BOOT




Problem:  BOOT is very sensitive to transient IO errors.
Diagnosis:  Unlike the monitor, BOOT does not have error-correction logic and 
head-repositioning logic.
Solution:  1.  Up the IO retry count from 5 to 15.
2.  On an IO error, display the channel status, drive status, and the
    contents of drive error-registers one and two.
3.  When an IO error occurs during a dump, print out the page number(s)
    on which the error(s) occurred.

                               [End of TCO 6.1498]
                               TCO-number:  6.1501



Written-by:  WACHS                            Creation-date:  11-Feb-83 03:58:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYH2




Problem:  System won't come up - loops in RH20 initialization

Diagnosis:  If a KLIPA or KLNI exists, and the monitor was not built
to support that device, then we think it is a vanilla RH20. If there
is no valid microcode in the device then we get an unclearable CRAM
parity error as soon as a PI is lit in the device.

Solution:  After the conditional checks for KLIPA/KLNI check the CONI.
If bits 0, 16, and 17 are on then don't give the device a PI assignment.


                               [End of TCO 6.1501]
                               TCO-number:  6.1502



Written-by:  HALL                             Creation-date:  14-Feb-83 09:58:36
Edited-by:   HALL                             Edit-date:      23-Mar-83 12:38:11


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	FREE	NSPSRV




Problem:  
We're running out of virtual address space in the monitor.

Diagnosis:  
Among other things, resident free space is allocated from the PC section
(sections 0 and 1). Some users of free space run in section 1 and can
address free space in another section. They just need a way to get that
free space.

Solution:  
Allow allocation of free space outside of the PC section. There will be
two areas of resident free space, one in the PC section as it is today,
and one in some other section.

In theory, there is no need to change the callers. Those that require the
old style free space should have been setting bit RS%SE0 when they called
ASGRES. In practice, some of them probably do not. In the future, all callers
should set or clear this bit as appropriate.


                               [End of TCO 6.1502]
                               TCO-number:  6.1503



Written-by:  MCINTEE                          Creation-date:  14-Feb-83 11:24:00
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:59:20


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGFIL




Problem:  1) Jobs hanging in LKDTST, and in NLKTST.
2) ILSPTH bughlts with OFNWRB set for non-OFN entries.
3) DEAUNA bugchks

Diagnosis:  Routine RELADR has been changed to support new functionality.
The change has greatly increased the entropy of the monitor.
Solution:  In routine RELADR, after the CALL REMFP1, restore T2, fixing
ILSPTH & DEAUNA problems. Also, change the CALLRET RETZ to SETZ T1, fixing
the hanging jobs problems. Remove the now extraneous SAVEAC <T2>.
So, entropy has been decreased,
Address space has not been increased,
Three fixes in one,
REL-AD-R Is done,
The monitor group should be pleased.

                               [End of TCO 6.1503]
                               TCO-number:  6.1504



Written-by:  MURPHY                           Creation-date:  14-Feb-83 13:49:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  Monitor fails to reload 20F.

Diagnosis:  Fork running RELOAD code not properly initialized.  Return
PC is not set before MCENTR.  Hence, UPDL and context not properly
setup.

Solution:  Init FFL before MCENTR.


                               [End of TCO 6.1504]
                               TCO-number:  6.1505



Written-by:  COBB                             Creation-date:  15-Feb-83 08:41:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE




Problem:  	MTOPR% fails,
		User wails,
		We get mails.

Diagnosis:  Function .MORRS (Read record size) succeeds on MTAs, but fails on
MTs with "?File not open".  OPENF% routine MTAOPN sets the OPN bit in MTASTS
but MTOPN does not.  Comments claim that .MORRS should work the same for MTs
as for MTAs, but it does not, since .MORRS code checks for the OPN bit before
performing the function.

Solution:  Call MAGTAP through jacket routine MTLFCN, which temporarily sets
the OPN bit.  Note that all other functions which claim to be MTA/MT independent
use this routine to access the MAGTAP routines.


                               [End of TCO 6.1505]
                               TCO-number:  6.1506



Written-by:  MURPHY                           Creation-date:  15-Feb-83 09:25:47


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  Job 0 errors not reported in system error file.

Diagnosis:  Job 0 unexpected interrupts result in message being
explicitly printed on CTY, but no BUGCHK or other general
notification for error file.

Solution:  Make these events be BUGCHKs; take out typeout on CTY.
BGCHKs are: JB0INT, unexpected interrupt during initialization;
JB0CSH, unexpected interrupt during normal operation; DDMINT, unexpected
interrupt in DDMP process.


                               [End of TCO 6.1506]
                               TCO-number:  6.1507



Written-by:  MURPHY                           Creation-date:  15-Feb-83 09:30:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  MONPDL bughlt.

Diagnosis:  Monitor runs out of UPDL space while handling carrier off
event (also network terminal disconnect).  This event causes an
interrupt to JOBCOF which attempts to detach the job without
aborting the JSYS then in progress.  Hence, the fork may already
be deep into UPDL.  Doing the detach attempts to send a message
to the "logging terminal" which includes the user name.  This
requires a lot of stack, particularly if CFS is present and
various resources must be obtained.

Solution:  Don't attempt to type a message on the logging terminal
in this case.  As far as we know, no one actually uses the logging
terminal; hence, the message were being written to the null
device anyhow.


                               [End of TCO 6.1507]
                               TCO-number:  6.1510



Written-by:  DONAHUE                          Creation-date:  16-Feb-83 13:45:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  Some applications (such as X29SRV) get large numbers of terminal input
characters at one time and SOUTR them to a DCN: file, for which the monitor
gives it a PTY. Soon the terminal input buffer fills up and Tops-20 sends
Control/G's to the terminal as characters get lost.

Diagnosis:  This problem is normally handled by Tops-20 sending an XOFF to the
terminal before the input buffer gets full. This is not sufficient in this case
as the terminal has already sent more characters which are bufferred by the
application. We need some way to identify these terminals and wake up the
forks to process the input before the TTY buffer fills up.

Solution:  In this case, the lines are in half duplex mode. Therefore, we can
wake a fork whose TTY is in half duplex mode whenever we see a carriage return
character for that line. This should wake the fork up
in time to process the characters before the input buffer is full. Note that
this is not a cure all, as an application can send a line that is longer than
123 characters with no carriage return imbedded. It is up to the application
for breaking the line down appropriately.


                               [End of TCO 6.1510]
                               TCO-number:  6.1511



Written-by:  HALL                             Creation-date:  16-Feb-83 16:31:07
Edited-by:   HALL                             Edit-date:      23-Mar-83 12:38:48


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	FORK	APRSRV




Problem:  
RESET JSYS doesn't clear effect of SWTRP JSYS.

Diagnosis:  
Code never written.

Solution:  
Write CLRTRP in FORK, and call it from RESET. Make it call the three
routines in APRSRV.


                               [End of TCO 6.1511]
                               TCO-number:  6.1514



Written-by:  MURPHY                           Creation-date:  17-Feb-83 18:09:43


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  User AC1 clobbered on fail return from certain JSYSes
even though ERJMP is present.

Diagnosis:  Coded that way.

Solution:  At MRETNE in SCHED, check for ERJMP/ERCAL present
before storing error code into user AC1.  Store error
code into user AC1 IFF ERJMP/ERCAL not present.

Documentation note: Monitor call manual, section 1.4 presently
says "if ERJMP or ERCAL executes on error...contents of any
ACs that would normally contain an error code may be
unreliable".  This should be changed to a more definite statement.
In particular "If ERJMP or ERCAL is executed as a result of
any monitor call, the error code will not be stored in any
AC.  The ACs returned will be either be unchanged from the
call or will be updated values from the call reflecting
partial completion of the function.  The error code will
only be available from the GETER% monitor call."


                               [End of TCO 6.1514]
                               TCO-number:  6.1515



Written-by:  PAETZOLD                         Creation-date:  18-Feb-83 15:53:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYSIO	PHYH2	PROLOG




Problem:  

PH2PIM BUGHLTs on 2102 are very difficult to solve.

Diagnosis:  

Need code in the monitor for a while to help.


Solution:  

Temporarily create a new debuging switch named PH2DBG.  When the switch is on
the following thngs will change:

PHYCHK will check the channels from 7 to 0 instead of 0 to 7.  Also PH2PIM 
will be a BUGCHK.  Also RH2CHK will recheck the channel PI level on a PH2PIM.
The the channel refuses to use the correct PI level a KPALHV will result.



                               [End of TCO 6.1515]
                               TCO-number:  6.1517



Written-by:  MURPHY                           Creation-date:  21-Feb-83 00:08:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  Monitor found running in section 0.  Can't reference
interesting data.

Diagnosis:  If a JSYS is invoked with the internal call mechanism and
that JSYS itraps, and the caller had an ERJMP after the internal
call, the ERJMP jumps to section 0.  This happens because PCS
is not set on an internal call, and ITRSIM uses PCXT of XMOVEI
to compute the effective address of the ERJMP.

Solution:  Make ITRSIM check for internal call and not use PXCT.
Instead, just plug in the section of the call if there is no
indexing or indirection.  If there is indexing, use XMOVEI.
Indirection can't be used, and indexing must generate a global
address.


                               [End of TCO 6.1517]
                               TCO-number:  6.1520



Written-by:  MILLER                           Creation-date:  22-Feb-83 09:55:32
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:36:10


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	monsym	DSKALC	PAGEM	PAGUTL	PAGFIL	MEXEC




Problem:  Allocating new disk pages is expensive. With the advent
of CFS, disk allocation will become even more expensive.

Diagnosis:  Each call to DSKASN performs considerable overhead
in interlocking data bases and computing the indices into the
bit table.

In addition to all of this, a CFS monitor must interlock the
bit table from the other CFS systems.

Solution:  Add a new entry point into the allocator that will
allocate a group of consecutive pages.

Also, add a new "per OFN" word where the unused pages may be kept.

Each time the monitor needs to assign a page to a file, it will
first try to use an unused, preallocated page. Failing that, it
will acquire a group of pages.

When the OFN is released, all unused pages will be returned to the allocator.
To make this work efficiently, a new entry point into the deallocator
is provided to return a group a pages.


                               [End of TCO 6.1520]
                               TCO-number:  6.1524



Written-by:  MAYO                             Creation-date:  23-Feb-83 15:09:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	 17907



Problem:  ARCF% function 12 doesn't exist, but if given it has the effect
of crashing the system.

Diagnosis:  Off by one at .ARCF+6 when checking the function number.

Solution:  Change the CAILE to a CAIL.


                               [End of TCO 6.1524]
                               TCO-number:  6.1525



Written-by:  MURPHY                           Creation-date:  23-Feb-83 15:26:00


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG	SCHED	others




Problem:  Can't build some monitor configurations.

Diagnosis:  Insufficient address space.

Solution:  Various: 1. Make sure all possible code runs in non-0 section.
	2. Move various storage areas out of section 0/1.
	3. Provide for code to run in another section or sections
	   beside 0/1.


                               [End of TCO 6.1525]
                               TCO-number:  6.1526



Written-by:  LOMARTIRE                        Creation-date:  23-Feb-83 15:49:40
Edited-by:   LOMARTIRE                        Edit-date:      29-Mar-83 16:14:15


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FILMSC


Related-SPR:  	 18498



Problem:  As soon as an ATTACH is done to operator job 1 running PTYCON, which 
is connected to a subjob running OPR, the CTY hangs.  The only character that 
can be typed is a CTRL/X, which returns control back to PTYCON command level.
Diagnosis:  PTYCON is in terminal input wait and the scheduler test (TCITST) is 
set up to check the original SYSJOB terminal line for input.  Once the ATTACH 
is done, the job's controlling terminal is changed but the line number in 
FKSTAT is not.  So PTYCON remains in input wait and the CTY input is ignored.  
When the PTYCON interrupt character (CTRL/X) is typed, the entry in FKSTAT is 
changed to the line number of the controlling terminal.
Solution:  In TTYIN2, check to see if the JFN for the terminal is for the 
controlling terminal.  If so, place the line number in the left half of DEV.  
This will eventually be placed in FKSTAT by code in TTYSRV.  This problem is 
not present in version 4 since this code exits to handle this situation.

                               [End of TCO 6.1526]
                               TCO-number:  6.1527



Written-by:  PAETZOLD                         Creation-date:  25-Feb-83 01:13:27
Edited-by:   PAETZOLD                         Edit-date:      25-Feb-83 01:13:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  

Analyzing ILLUUO BUGHLTs is made difficult by the KIMXCT subroutine.

Diagnosis:  

KIMXCT smashes up the old contents of the stack.  It is therefore difficult
to see what has just happened on the stack.

Solution:  

There are no easy solutions.  The best solution (for debuging) would be to
add a stack just for KIMXCT.  This seems like a bit of a waste.  

Another "solution" would be to artificially bump the stack pointer before
calling KIMXCT and then decrement it after the call.  We will "adjust" the
stack pointer by eight words and then fix it up.  This is a bit of a kludge
but then again this whole routine is a kludge.



                               [End of TCO 6.1527]
                               TCO-number:  6.1528



Written-by:  MCINTEE                          Creation-date:  28-Feb-83 07:49:02
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:59:37


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MACSYM


Related-TCO:  	6.1519



Problem:  Exec won't compile.
Diagnosis:  The macro BEGSTR doesn't clean up after itself. It uses intermediate
macros, one of which is FIELD, which conflicts with the Exec macro of the 
same name.
Solution:  In the macro ENDSTR, purge all the intermediate macro names.

                               [End of TCO 6.1528]
                               TCO-number:  6.1529



Written-by:  PAETZOLD                         Creation-date:  28-Feb-83 19:03:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  

Lots.  Mainly ILLUUOs and possibly PH2PIMs when UNICHK gets into UNIC10
to check the home blocks on a unit.

Diagnosis:  

UNIC10 trashes all over Q1 and it claims it should not.

Solution:  

Rework some code to use T3 instead of Q1.  


                               [End of TCO 6.1529]
                               TCO-number:  6.1530



Written-by:  MOSER                            Creation-date:   1-Mar-83 14:15:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:   MONPDL BUGHLT when mounting a multi pack structure and errors
are encountered.

Diagnosis:   If the first pack has good home blocks the SDB for the structure
is set up including the count of units in the structure. If errors are
encountered later in the mount but before all UDB addresses are stored in the
SDB the monitor may call CLRSTR which loops through all units in the
structure. Some UDB addresses may be 0 and stuff gets destroyed including
the stack pointer.

Solution:   If the UDB address is 0 don't use it.


                               [End of TCO 6.1530]
                               TCO-number:  6.1531



Written-by:  GROSSMAN                         Creation-date:   1-Mar-83 15:09:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTINIT




Problem:  RSX20F can't tell what operating system is running on the KL.

Diagnosis:  It has no way of finding out.

Solution:  Put a number which indicates the operating system type in an
unused field in the DTE comm region.  This is the same number that the
GETTAB %CNMNT (112,,11) returns (it happens to be four for TOPS20).


                               [End of TCO 6.1531]
                               TCO-number:  6.1532



Written-by:  MCINTEE                          Creation-date:   3-Mar-83 13:04:55
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 10:59:55


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  JSSEC0 BUGCHKS

Diagnosis:  In the code to create a job, there is an SE1ENT-SE0ENT bracketing
a CALL BLTMU. All JSYSes following that are then executed in section 0 (big
surprise)
Solution:  Remove the SE1ENT-SE0ENT. Put in a TSTMS0 just in case there REALLY
is a case where that code is run while in section 0. The comments claim
it mysteriously does, but those are old comments...

                               [End of TCO 6.1532]
                               TCO-number:  6.1533



Written-by:  MOSER                            Creation-date:   3-Mar-83 15:39:44
Edited-by:   MOSER                            Edit-date:       3-Mar-83 16:12:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:   ILMNRF crash when releasing all assigned devices using .RELD
with an argument of -1 and one of the devices is a tape drive.

Diagnosis:   T2 is required as an index to the device tables when calling
DSMNT0 but in the all device case it isn't set up before the call. If
a magtape is being released then T2 will be trashed before this call. The
code does set up P3 before the call but it is never used by anyone before
or after the call.

Solution:   Setup the ac we will use instead of an unused one.


                               [End of TCO 6.1533]
                               TCO-number:  6.1534



Written-by:  WEETON                           Creation-date:   3-Mar-83 16:40:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:  RCDIR doesn't know how to handle logical names containing
wild cards.

Diagnosis:  RCDIR doesn't take into consideration this possiblity.

Solution:  Modify the routine that handle logical names to install directory
terminators around the defination, then go back and process the directory.


                               [End of TCO 6.1534]
                               TCO-number:  6.1540



Written-by:  MILLER                           Creation-date:  11-Mar-83 12:48:20
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:36:16


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  BLCAL support routines do not work with a "global"
stack pointer.

Diagnosis:  .ENTER assumes that the stack is local and that
it may "popped" by subtracting <n,,n> from the current
stack pointer. This results in mayhem if the stack pointer
is global.

Solution:  Use ADJSP instead of SUB to change the stack pointer.


                               [End of TCO 6.1540]
                               TCO-number:  6.1541



Written-by:  WACHS                            Creation-date:  14-Mar-83 07:45:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp	phymsc




Problem:  Undefined globals when trying to build a monitor with KLIPA, SCA
but no MSCP

Diagnosis:  Routines in wrong modules

Solution:  Move DMA routines from PHYMSC to PHYKLP


                               [End of TCO 6.1541]
                               TCO-number:  6.1544



Written-by:  MILLER                           Creation-date:  15-Mar-83 10:46:25
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:36:20


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL	MEXEC




Problem:  It is possible for the pages that contain BOOT to be assigned
as part of the CTS, DST, etc. during monitor start-up.

Diagnosis:  The routines that allocate the CST and the DST acquire
memory pages from the replacable queue, as one might expect. However,
the original assumption made by the author of BOOT was that BOOT
would be mapped before any of the pages on the replacable queue were
needed. Therefore, BOOT's pages are placed on the replacable queue during
the intial memory scan, and are fair game for any routine needing
memory. Up until now, the combined sizes of the resident monitor,
the CST and the DST have been sufficiently small not to need
BOOT's pages, but any day now...

Solution:  Put BOOT's pages on the special memory queue instead of
on the replacable queue. Then, when BOOT is mapped, retrieve the pages
from the special memory queue.


                               [End of TCO 6.1544]
                               TCO-number:  6.1546



Written-by:  MILLER                           Creation-date:  15-Mar-83 16:40:35
Edited-by:   MILLER                           Edit-date:      20-Mar-83 17:36:25


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	diag	SYSERR	monsym




Problem:  Diagnostics need a way of determining whether the monitor
reported any errors while the diagnostic was running.

Diagnosis:  As above.

Solution:  Provide a counter that is incremented each time QUESEB is called
and a DIAG% function to read the counter.


                               [End of TCO 6.1546]
                               TCO-number:  6.1549



Written-by:  WACHS                            Creation-date:  16-Mar-83 04:08:27
Edited-by:   PURRETTA                         Edit-date:      25-Apr-84 15:07:21


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	BOOT




Problem:  BOOT doesn't load the KLIPA or KLNI microcode
Diagnosis:  no code
Solution:  Add code to load them

                               [End of TCO 6.1549]
                               TCO-number:  6.1554



Written-by:  MCINTEE                          Creation-date:  17-Mar-83 08:27:01
Edited-by:   MCINTEE                          Edit-date:      28-Mar-83 11:00:14


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-TCO:  	6.1542



Problem:  While bringing up a monitor,
1) SERGOF bugchks
2) No SETSPD message
3) ACCOUNTS-TABLE.BIN not found
 and finally,
4) UXXCRE bughlt
Diagnosis:  TCO 6.1542 was OBVIOUSLY not tested at all, since removing
the one line of code fixed all of the above problems.

                               [End of TCO 6.1554]
                               TCO-number:  6.1557



Written-by:  PAETZOLD                         Creation-date:  18-Mar-83 14:01:27
Edited-by:   PAETZOLD                         Edit-date:      18-Mar-83 15:23:34


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	FORK	globs	GTJFN	JSYSA	JSYSF	PAGUTL
			PAGFIL	params	PROLOG	STG	TTYSRV	ttntdv
			ttphdv	imppar	IMPDV	NETWRK	impanx	iman22
			tttvdv	ipipip	ipfree	tcptcp	tcpcrc	tcpjfn
			anaunv	mnetdv




Problem:  

Release 6 does not know about new arpanet protocols.

Diagnosis:  

Merge in code to support new arpanet protocols.

Solution:  

Change a lot of modules.  The following modules are replaced with new versions:

IMPANX.MAC
IMPDV.MAC
NETWRK.MAC

The following modules have gone away:

IMPPAR.MAC
IMAN22.MAC

The following modules are new:

ANAUNV.MAC
MNETDV.MAC
IPIPIP.MAC
IPFREE.MAC
TCPTCP.MAC
TCPCRC.MAC
TCPJFN.MAC
TTTVDV.MAC

The following modules have had significant edits:

GLOBS.MAC
MEXEC.MAC
STG.MAC
TTYSRV.MAC
TTNTDV.MAC

Several other modules have had minor edits.



                               [End of TCO 6.1557]
                               TCO-number:  6.1558



Written-by:  GRANT                            Creation-date:  19-Mar-83 06:13:40
Edited-by:   GRANT                            Edit-date:      28-Mar-83 20:11:49


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  Extraneous BUGINF NSPBAD.
Diagnosis:  An illegal node init from the MCB causes 2 BUGINFs - ILLSTR and
	NSPBAD;  the NSPBAD doesn't need to occur.
Solution:  After the ILLSTR BUGINF, just throw away the message.

                               [End of TCO 6.1558]
                               TCO-number:  6.1559



Written-by:  WEETON                           Creation-date:  20-Mar-83 11:31:44
Edited-by:   WEETON                           Edit-date:      20-Mar-83 11:40:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  DSKOP JSYS fails when running in section 1.

Diagnosis:  When routine IOLOCK checks to see if a reasonable address
was passed, it only checks the right half of the word and doesn't
allow for sections other than 0.

Solution:  Modify the check to check for sections 1-37 also.


                               [End of TCO 6.1559]
                               TCO-number:  6.1562



Written-by:  MOSER                            Creation-date:  23-Mar-83 06:53:41


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	MSCPAR	MEXEC	PHYMVR	JSYSA


Solution:  MSCP SERVER.


                               [End of TCO 6.1562]
                               TCO-number:  6.1568



Written-by:  MOSER                            Creation-date:  24-Mar-83 17:33:21
Edited-by:   MOSER                            Edit-date:      25-Jul-83 17:21:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	MEXEC	globs	params	monsym	JSYSA


Related-TCO:  	6.1752



Problem:   Jobs get logged out to soon after a carrier off interrupt.

Diagnosis:   A value of 5 minutes is used and some users would like it to be
longer. Unfortunatly there is no way to change this value without a DDT
patch.

Solution:   Put a word in STG, COFTIM, which holds the value of the
time to remain detached. Add a parameter to PARAMS, COFMIN, as the default
and make it 5 minutes. Allow users to change this with a new SMON function,
.SMCOF, which takes the time in milliseconds as an argument.


                               [End of TCO 6.1568]
                               TCO-number:  6.1569



Written-by:  WACHS                            Creation-date:  25-Mar-83 03:11:07


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIAG	MONSYM	PHYKLP




Problem:  Diagnostics need some new CI functions

Diagnosis:  Add DIAGs to turn polling on or off, start remote system,
reset remote system, set/read performance counters


                               [End of TCO 6.1569]
                               TCO-number:  6.1570



Written-by:  WEAVER                           Creation-date:  25-Mar-83 12:14:22
Edited-by:   WEAVER                           Edit-date:      15-Aug-83 10:22:15


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  

DDT11 can't look at <SYSTEM>0DUMP11.BIN.


Diagnosis:  

File name is more than 6 characters.


Solution:  

Change 0DUMP11.BIN to 0DMP11.BIN.



                               [End of TCO 6.1570]
                               TCO-number:  6.1571



Written-by:  MURPHY                           Creation-date:  25-Mar-83 15:33:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GLOBS	STG	PROLOG




Problem:  MACRO runs out of space when assembling some the
larger monitor modules.

Diagnosis:  MACRO is a loser.  Hence, the monitor must
make lesser demands of it.  In particular, the amount of
universal and macro definition space should be reduced
if possible.

Solution:  Modify handling of GLOBS.  Make GLOBS separate
universal so that it can be searched on pass 2 only.
Also purge the GGLOBS macro immediately after use
thus eliminating a very big macro definition.


                               [End of TCO 6.1571]
                               TCO-number:  6.1577



Written-by:  PAETZOLD                         Creation-date:  26-Mar-83 12:06:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:  

Global symbol FPTEPG giving problems in PAGUTL assemble.
Diagnosis:  

Nees to be declared external.

Solution:  

Add it in the EXTN macros in the begining of the module.  Why aren't these
symbols in GLOBS?



                               [End of TCO 6.1577]
                               TCO-number:  6.1578



Written-by:  PAETZOLD                         Creation-date:  27-Mar-83 12:06:09


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	globs




Problem:  

SCSKIL symbol needs to be in globs.


Diagnosis:  

I love doing other peoples work.

Solution:  

Add the SCSKIL symbol to globs.


                               [End of TCO 6.1578]
                               TCO-number:  6.1579



Written-by:  MILLER                           Creation-date:  29-Mar-83 20:06:06
Edited-by:   MILLER                           Edit-date:       2-Apr-83 21:10:09


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIRECT




Problem:  Doing an "expunge and rebuild symbol table" does not
always correct the reported values for the directory allocation.

Diagnosis:  The code in DIRECT, RBLDST, computes the correct value
for the directory allocation and stores this value in the
directory. However, it does not call ADJALC and therefore any
locally cached values for the directory allocation remain unchanged
and incorrect.

Solution:  RBLDST should call ADJALC when the new value for the
directory allocatio is stored.


                               [End of TCO 6.1579]
                               TCO-number:  6.1585



Written-by:  MILLER                           Creation-date:   1-Apr-83 11:47:14
Edited-by:   MILLER                           Edit-date:       2-Apr-83 21:10:17


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  If a program specifies an arithmetic trap block addres or
an PDL overflow block address that is in a non-zero section, and
a trap occurs in section 0, the monitor does not use the
correct address for the trap block.

Diagnosis:  The monitor uses PXCT instructions to reference the
trap block. However, if PCS (previous context section) is zero,
all memory references will be made to section 0 in the previous context.

Solution:  Since the monitor needs to reference the previous context
as defined at the trap, as well as an arbitrary section for the
trap block, the monitor must first gather all of the information
about the trap (instruction and effective address), force PCS
to be non-zero, and then reference the trap block.


                               [End of TCO 6.1585]
                               TCO-number:  6.1586



Written-by:  MILLER                           Creation-date:   2-Apr-83 21:05:02
Edited-by:   MILLER                           Edit-date:       2-Apr-83 21:07:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  The PSI dispatch to EXECI when the top fork of a job halts,
crashes the monitor.

Diagnosis:  The dispatch from the PSI code starts EXECI in section 0.
The first time it calls into TTYSRV (need I go on?)...

Solution:  Place an EA.ENT at EXECI. Perhaps there is a more general
solution for instances of the PSI code using MONBK as an 18-bit
dispatch address, but that is for another time.


                               [End of TCO 6.1586]
                               TCO-number:  6.1587



Written-by:  WACHS                            Creation-date:   4-Apr-83 07:24:11


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	PHYMSC




Problem:  Can't put more than 1 RA81 in a file structure

Diagnosis:  It's too large

Solution:  Make all addresses for RA81s be on a per-page basis. This
quadruples the max number of units on an RA81. Make the same
change to RA60s for internal consistency


                               [End of TCO 6.1587]
                               TCO-number:  6.1588



Written-by:  MILLER                           Creation-date:   4-Apr-83 09:38:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV	cfssrv




Problem:  CFSSRV needs to determine if two adjacent virtual pages
are also physically adjacent.

Diagnosis:  No routine to do this.

Solution:  Add CPPCON to APRSRV.


                               [End of TCO 6.1588]
                               TCO-number:  6.1589



Written-by:  MILLER                           Creation-date:   4-Apr-83 12:43:39
Edited-by:   MILLER                           Edit-date:       4-Apr-83 13:19:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  The message "Problem on device..." can appear
when it shouldn't.

Diagnosis:  PHYSIO checks once-a-minute to determine if any devices
need an operator assistance message. However, in the case of
a dual-ported drive in use on the other system, the time since
this system first encountered the problem and the time PHYSIO
decides to type the message may be less than the "port release" time.

Solution:  Make sure that the system has had adequate time to retry
the operation before typing the operator assistance message.


                               [End of TCO 6.1589]
                               TCO-number:  6.1592



Written-by:  MILLER                           Creation-date:   5-Apr-83 15:17:09


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYP4




Problem:  A dual-ported Massbus disk, such as an RP07, can deliver
an attention status to the wrong port.

Diagnosis:  Apparently (who's to know?) the DCL in the drive can
be provoked into reporting an attention to a system that did
not request an operation warranting an attention. This has two
ramifications: the system not expecting the condition considers this
a drive exception and the system expecting the condition might
never be notified of it.

Solution:  If a system detects an attention condition in a drive
and is not expecting the condition, clear the condition and
proceed with the requested operation. This will be done only
if all other apsects of the drive's status are legitimate.


                               [End of TCO 6.1592]
                               TCO-number:  6.1593



Written-by:  FLEMMING                         Creation-date:   6-Apr-83 05:50:09


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG	GLOBS	MONSYM	DIRECT	JSYSA	JSYSF
			FILINI




Problem:  New: Implement TOPS-10 PPNs for compatability. See PPN.MEM
for details.


                               [End of TCO 6.1593]
                               TCO-number:  6.1594



Written-by:  COBB                             Creation-date:   6-Apr-83 09:06:07


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	MONSYM




Problem:  QUEUE% application debugging features not "robust" enough.
Diagnosis:  As above...
Solution:  QUEUE% currently uses a full-word table, indexed by function,
to retrieve the target-PID for this function.  Make it use a half-word
table, with the RH as it was and the LH as the debugging PID for the same
application.  Add a bit in the flags to say "use debug entry".  The debug
entries correspond to new entries in the system pid table, which a user 
would fill in with a .MOSSP MUTIL% call.

                               [End of TCO 6.1594]
                               TCO-number:  6.1600



Written-by:  WEAVER                           Creation-date:   7-Apr-83 20:57:51
Edited-by:   WEAVER                           Edit-date:      15-Aug-83 10:23:05


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  

TOPS20 will not allow a line to be set as AUTOBAUD without the line being
declared as REMOTE.


Diagnosis:  

Now that RSX20F allows a line to be put back into autobaud by typing
2 consecutive <BREAK>s or by logging out a local line when not logged
in, it would be nice to make use of autobaud for LOCAL lines as well
as REMOTE lines.  Unfortunatly, because of previous restrictions in
RSX20F, TOPS20 goes out of its way to insure that only REMOTE lines
get set as AUTOBAUD.


Solution:  

Remove all checks for REMOTE when setting a line as AUTOBAUD.



                               [End of TCO 6.1600]
                               TCO-number:  6.1601



Written-by:  MURPHY                           Creation-date:   7-Apr-83 21:38:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	PAGUTL	PAGFIL




Problem:  Too hard to find code in PAGEM.

Diagnosis:  Code isn't in PAGEM.  It's in PAGFIL or PAGUTL.
Where 1 module was too few for all this code, it appears
that 3 is too many.

Solution:  Condense PAGxxx into 2 modules, PAGEM and PAGUTL.
PAGFIL vanishes.  PAGEM has pager traps, swap in and out,
and PMAP and SMAP stuff.  PAGUTL has initialization, DDMP,
and other stuff.


                               [End of TCO 6.1601]
                               TCO-number:  6.1602



Written-by:  WACHS                            Creation-date:   8-Apr-83 05:22:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYKLP	PHYPAR




Problem:  If the KLIPA dies it doesn't get automatically reloaded

Diagnosis:  No code

Solution:  Have PHYKLP set a bit in the CDB, kick JOB 0 to reload
the microcode


                               [End of TCO 6.1602]
                               TCO-number:  6.1603



Written-by:  WACHS                            Creation-date:   8-Apr-83 05:26:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYP2	PHYP4	PHYPAR




Problem:  Operator/CFS need to know if a massbus disk is dual-ported
between 2 systems

Solution:  Add a bit - US.2PT - which is on the UDBSTS if a disk is
potentially dual-ported between 2 systems


                               [End of TCO 6.1603]
                               TCO-number:  6.1604



Written-by:  WACHS                            Creation-date:   8-Apr-83 05:29:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKLP	MEXEC




Problem:  Long delay between system being booted and it starting to run.

Diagnosis:  The KLIPA driver waits for 20 seconds to make sure that all
HSCs on the CI net are willing to talk to us.

Solution:  Remove the wait since HSC disks will not be PS.
Note that for stress testing it would be nice to allow PS on an
RA81. The assembly switch FTKEARLY in SYSFLG can be set non - 0
to put back the wait and the possibility of using an RA81 as PS.


                               [End of TCO 6.1604]
                               TCO-number:  6.1605



Written-by:  GRANT                            Creation-date:   8-Apr-83 06:44:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  SKDPF1 BUGHLT
Diagnosis:  Swappable code being referenced from scheduler.
Solution:  Make routine INTINT resident.

                               [End of TCO 6.1605]
                               TCO-number:  6.1606



Written-by:  WACHS                            Creation-date:   8-Apr-83 07:27:48


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	DIAG	MONSYM




Problem:  User mode diagnostics can wipe out the CI

Diagnosis:  CI ports are considerably different from RH20 chans, what
works for one will not work for the other.

Solution:  Invent a new DIAG - .DGENB - which will allow the DIAG which
gains control of the channel to work.
If this DIAG has not been done, then attempting to do a DIAG to gain control
of a CI port will fail.
Call:	MOVE 1,[-3,,ADDR]

ADDR:	.DGENB
	Port number (7 for a KLIPA)
	Value

	DIAG
	  LOSE
	WIN

VALUE=0 to disable other DIAGS;  =NON-0 to enable them

If the chan is currently under control of a DIAG then this JSYS will
fail.


                               [End of TCO 6.1606]
                               TCO-number:  6.1609



Written-by:  MOSER                            Creation-date:  11-Apr-83 17:02:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CDRSRV	PROLOG




Problem:   Card readers don't work under version 5 of TOPS-20.

Diagnosis:   RSX20-F now sends configuration messages to CDRSRV. This
is very confusing to CDRSRV so it treats it as a normal status message.
 There is also a problem with setting the offline PSI is needed bit when
no fork is blocked.

Solution:   Ignore configuration messages. Don't set CDOFI if CDBLK isn't set.


                               [End of TCO 6.1609]
                               TCO-number:  6.1610



Written-by:  MILLER                           Creation-date:  12-Apr-83 09:44:49


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYSIO	cfssrv	PHYP4	phyp2




Problem:  If a CFS system is "cut off" from the CFS network because its
CI port fails, it may destroy the data on the shared, dual-ported
MASSBUS disks.

Diagnosis:  CFS uses the CI to coordinate accesses to disks. If the CI port
fails, the system will not be able to access the CI disks (HSC), but it
can access MASSBUS disks. If it does try to use a MASSBUS disk that
is also connected to another system, the on-disk structure will be
destroyed.

Solution:  Add a bit to the UDB to indicate that if this drive is dual-ported
it is not to be used. CFS will direct PHYSIO to set these bits.
PS: is excluded from this.


                               [End of TCO 6.1610]
                               TCO-number:  6.1611



Written-by:  WEETON                           Creation-date:  12-Apr-83 16:03:43
Edited-by:   WEETON                           Edit-date:      12-Apr-83 16:11:44


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MSTR	MONSYM




Problem:  Job can get hung when attempting to dismount a structure.

Diagnosis:  After doing DSKAS JSYS with DA%INI set, and before doing
DSKAS with DA%WRT if a fork does a dismount of the structure (via MSTR),
the fork will wait untill D1%INI get turned off in DEVCH1.  If this
fork happens to be the same fork that did the DSKAS with DA%INI set,
and hasn't done the DA%WRT yet, the fork will never return.  In addition,
the fork is running NOINT!  Say good bye to your fork.  Unfortunately,
this not only hangs the fork, but also hangs the structure.

Solution:  When doing the dismount function of MSTR, check if D1%INI is
set, if it is, return an error.


                               [End of TCO 6.1611]
                               TCO-number:  6.1612



Written-by:  WEETON                           Creation-date:  12-Apr-83 16:09:30
Edited-by:   WEETON                           Edit-date:      12-Apr-83 16:12:19


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC	MONSYM




Problem:  No way to abort DA%INI function of DSKAS JSYS.

Diagnosis:  (see TCO 6.1611) Noone ever thought it might be nessesary.

Solution:  Add new function (DA%AIN) which aborts the initialization of the
private copy of the bit table.


                               [End of TCO 6.1612]
                               TCO-number:  6.1615



Written-by:  PAETZOLD                         Creation-date:  15-Apr-83 16:26:38
Edited-by:   PAETZOLD                         Edit-date:      16-Apr-83 14:18:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  

Address space is tight.


Diagnosis:  

A page of storage from old LCS stuff still hangs around.

Solution:  

Remove BLKTRN.



                               [End of TCO 6.1615]
                               TCO-number:  6.1617



Written-by:  PAETZOLD                         Creation-date:  19-Apr-83 22:22:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  

Problems in release 6.0 when DECNET is turned off.

Diagnosis:  

Several symbols and jsys' which do not get defined in a non decnet module
are undefined.

Solution:  

Add dummies for DIMLNK, EVRKIL, OURNAM, OURNOD, and .NODE.



                               [End of TCO 6.1617]
                               TCO-number:  6.1619



Written-by:  PAETZOLD                         Creation-date:  20-Apr-83 13:45:18
Edited-by:   PAETZOLD                         Edit-date:      21-Apr-83 14:28:09


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	execca	EXEC0	EXECGL




Problem:  

No monitor support for H19 terminals.


Diagnosis:  


Solution:  

Add H19 terminal code to STG and MONSYM.  Precedent exists in supporting 
TI and Teletype terminals.



                               [End of TCO 6.1619]
                               TCO-number:  6.1620



Written-by:  WACHS                            Creation-date:  21-Apr-83 07:40:50


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO	MSTR	MONSYM




Problem:  GALAXY needs to know if a disk is potentailly dual-ported
between systems.

Diagnosis:  Need a bit in MSTR.

Solution:  return a bit, MS%2PT, if US.2PT is lit in the UDB's status
word. This bit is returned in the .MSRST word


                               [End of TCO 6.1620]
                               TCO-number:  6.1622



Written-by:  MAYO                             Creation-date:  22-Apr-83 13:52:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	mstr


Related-SPR:  	 18667



Problem:  MSTR% doesn't always take user byte pointers. Sometimes it
just takes the RH of the byte pointer and sticks POINT 7 in the LH.

Diagnosis:  The STOSTR: routine has a bad check for -1 LH byte pointers.

Solution:  Replace the bad check with the more usual TLC, TLCN sequence.


                               [End of TCO 6.1622]
                               TCO-number:  6.1623



Written-by:  MILLER                           Creation-date:  25-Apr-83 14:11:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	JSYSA




Problem:  The current technique for deterring people from guessing
passwords is inadequate and inconvenient.

Diagnosis:  The 3 second pause for an incorrect password is annoying
for those of us who are poor typists, and of marginal deterrent
value to those intent on breaching the system's security measures.

Solution:  Implement a new scheme that limits the number of guesses
one is entitled to.


                               [End of TCO 6.1623]
                               TCO-number:  6.1624



Written-by:  MCLEAN                           Creation-date:  25-Apr-83 20:07:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  ILMREF FROM UUO

Diagnosis:  UU1050 HAS PCU IN THE PC WORD CAUSING A SECTION
GREATER THAN 27 PAGEFAIL

Solution:  REMOVE PCU PC WORD.


                               [End of TCO 6.1624]
                               TCO-number:  6.1627



Written-by:  LOMARTIRE                        Creation-date:  27-Apr-83 09:09:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG


Related-SPR:  	 19033



Problem:  The customer cannot increase the size of FFF unless he has 
sources.
Diagnosis:  FFF was moved from STG to POSTLD so that it would be the last 
area to be placed in the RSDAT PSECT.  The intent was to allow any extra 
space at the end of the PSECT to be used as additional patching space.  But 
PAT.. and the symbol table are always placed after FFF, so (except for that 
offered by PAT..) there is no addtional space available.
Solution:  Move FFF back into STG so that even customers without sources can 
change the size of the patching area.

                               [End of TCO 6.1627]
                               TCO-number:  6.1628



Written-by:  LOMARTIRE                        Creation-date:  27-Apr-83 09:23:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DEVICE


Related-SPR:  	 19091



Problem:  ILMNRF BUGHLT.
Diagnosis:  While doing a CLOSF, after the device dependent routine has been 
called to close the JFN, the monitor tries to clean up the DEVxxx tables.  
To do this it needs an index into these tables and so FNDUNT is called.  This 
routine searches INIDVT until the dispatch address is found which matches the 
one stored in the JFN block at FILDEV.  However, the JFN block has somehow 
been cleared and FILDEV is zero.  So FNDUNT returns with a bogus index and 
ILMNRF.
Solution:  In routine FNDUNT, if FILDEV is zero, use DEV (AC 13) instead.  
This is setup by CHKJFN to contain a copy of FILDEV and will always be 
correct since CHKJFN is called before FNDUNT.

                               [End of TCO 6.1628]
                               TCO-number:  6.1630



Written-by:  MCINTEE                          Creation-date:  27-Apr-83 14:52:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	MEXEC	IPIPIP	IMPDV




Problem:  JSSEC0 bugchks when some people login
Diagnosis:  Routine PSIMB forces section zero (the miniexec is entered via this
routine, and SOME people go to the miniexec after logging in)
Solution:  Change the MONBK/PSIMB technique and all users of it.
1) MONBK now contains the 30 bit address of the "interrupt" routine
   (formerly the right half of MONBK contained the address)

2) ITFFL & ITFPC will now be used for the storage of the flags & PC
   at the time of the interrupt, by having PSIMB store them there 
   directly. (formerly the left half of MONBK pointed to a 2 word block,
   which was either ITFFL (MEXEC) or ITFPC (ARPANET modules) - the
   latter being, of course, incorrect)


                               [End of TCO 6.1630]
                               TCO-number:  6.1633



Written-by:  LOMARTIRE                        Creation-date:  28-Apr-83 11:15:03
Edited-by:   LOMARTIRE                        Edit-date:      28-Apr-83 14:26:39


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL	STG


Related-SPR:  	 18449



Problem:  The customer cannot open large files and the error messages give 
no particular clue as to what the problem is.
Diagnosis:  The system has run out of OFN space.  However, there is no 
message given to the operator to indicate this - just MONX01 errors issued 
to the users.
Solution:  Create a new BUGINF called NOOFN.  This will be called from 
two places within ASOF4:.  The first is when a long file OFN cannot be 
created (just before returning with MONX01) and the other is when a normal 
file OFN creation attempt fails (just before returning with OPNX10).  There 
will be no additional data printed with this BUGINF.  Also, to make changing 
NOFN easier, change it's definition in STG to use the NDG macro.

                               [End of TCO 6.1633]
                               TCO-number:  6.1635



Written-by:  MURPHY                           Creation-date:  29-Apr-83 14:02:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	APRSRV




Problem:  References to user address space fail if monitor context
is not properly setup.  Many places where new flags are
established fail to ensure that PCU and PCS are set to
appropriate values.

Diagnosis:  Flag and field not being set.

Solution:  Create symbol MONENV which includes values for PCU and
PCS as well as current and previous AC blocks.  It should be
used in place of MONFLG wherever the entire flag word is being
set.


                               [End of TCO 6.1635]
                               TCO-number:  6.1637



Written-by:  MCLEAN                           Creation-date:   2-May-83 12:18:37
Edited-by:   COBB                             Edit-date:      22-Jun-83 23:50:26


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	SYSERR	JSYSA	MONSYM	SETSPD	GLOBS




Problem:  The SOFTWARE REQUIREMENTS DOCUMENT associated with TOPS-20 V6.0
contains many less-than-reasonable requests/demands.
Diagnosis:  One of them involves implementing a running count (since forever)
of SPEAR entries generated by TOPS-20 for a given system.
Solution:  Implement this, based on reading the old count out of the DUMP, if
possible.  If not, find old count in ERROR.SYS.  If these fail, BUGINF and
start count at 0.

                               [End of TCO 6.1637]
                               TCO-number:  6.1638



Written-by:  LEACHE                           Creation-date:   2-May-83 15:53:43


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CMSKSP




Problem:  User programs cannot parse a semi colon using any function
provided by the COMND% JSYS.

Diagnosis:  The code was written to always consider semi colon to
begin full line comments. There is no code to allow semi colon to
be parsed in any other way.

Solution:  Add a new bit (CM%NOC) to the FDB specific flags which
causes COMND% to skip the check for full line comment character.
If the bit is off, all programs work as before. If the bit is on
and a semi colon is seen is does NOT begin a full line comment, but
can be matched against the function in the FDB.


                               [End of TCO 6.1638]
                               TCO-number:  6.1639



Written-by:  MOSER                            Creation-date:   3-May-83 15:52:06
Edited-by:   COBB                             Edit-date:       6-May-83 13:28:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	POSTLD




Problem:  Not enough question marks?
	 Also, not enough percents%

Diagnosis:  The modules listed contain PRINTXs informing the assembler
(the person, not the program) of certain inconsistancies in defining
data.

Solution:  Add %'s and ?'s where applicable.


                               [End of TCO 6.1639]
                               TCO-number:  6.1641



Written-by:  LEACHE                           Creation-date:   4-May-83 08:48:03


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN	FREE	IPCF	ENQ




Problem:  Need more address space in the monitor.

Diagnosis:  As above.

Solution:  Move swappable free space into a non-zero section.


                               [End of TCO 6.1641]
                               TCO-number:  6.1642



Written-by:  GRANT                            Creation-date:   4-May-83 09:19:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV	nsppar




Problem:  ILMNRF BUGHLT

Diagnosis:  Swappable free space clobbered.  On incoming DECnet connections
TOPS-20 is not allowing enough space for 39-character user names, accounts,
and passwords.
Solution:  Create a new symbol SIZ39 and use it instead of OPTSIZ in
routine GTSBLK.

                               [End of TCO 6.1642]
                               TCO-number:  6.1645



Written-by:  MCLEAN                           Creation-date:   5-May-83 13:12:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  ILLUUO OCCURS WHEN A HARD ERROR OCCURS ON A DISK THAT IS DUAL PORTED
AND THE SECOND ACCESS PATH IS IN USE.

Diagnosis:  WHEN THE ERROR HAPPENS WE RECOVER CORRECTLY THE PROBLEM OCCURS WHEN
THE NEXT REQUEST TO THE ALTERNATE PATH HAPPENS.  THE NEW REQUEST INTERRUPTS FROM
SEEK DONE AND FINDS THAT UDBERR IS NON-ZERO.  IT THEN TRIES TO RECOVER AND 
WE WANDER OFF INTO THE WILDERNESS BECAUSE WE AREN'T IN ERROR RECOVERY ANY MORE.

Solution:  DON'T SWITCH BACK TO THE PRIMARY CHANNEL UNTILL ALL THE CLEANUP IS DONE
FOR THE UDB.

                               [End of TCO 6.1645]
                               TCO-number:  6.1648



Written-by:  PAETZOLD                         Creation-date:   5-May-83 20:19:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYH2




Problem:  

Still gettting PH2PIMs on 2102.

Diagnosis:  

Need help from the monitor.

Solution:  

Add a temporary change to recheck the rh PIA after  it is detected bad to
see if a possible timing/race condition exists.  In any case the machine will
still crash (as it does now).

During the duration of this change the following is true:

PH2PIM BUGHLT means that the RH PIA has gone away for a long time.

PH2PIX BUGHLT means that the RH PIA came back after it was detected incorrect.



                               [End of TCO 6.1648]
                               TCO-number:  6.1649



Written-by:  MCLEAN                           Creation-date:   5-May-83 20:22:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP4




Problem:  PHYP4 DOES PORT RELEASES WHEN IT SHOULDN'T.  THIS CAN CAUSE
ERROR RECOVERY TO FAIL IF THE OTHER PORT SEIZES THE DISK.  IT CAN ALSO
LEAVE THE DISK IN A VERY STRANGE STATE.
Diagnosis:  PORT RELEASES ARE SCATTERED A BIT TOO LIGHTLY THRU PHYP4.
Solution:  REMOVE SOME OF THE CALLS TO RP4DIS.

                               [End of TCO 6.1649]
                               TCO-number:  6.1651



Written-by:  WACHS                            Creation-date:  10-May-83 04:15:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYKLP




Problem:  KLIPA ucode doesn't get automatically reloaded after a diagnostic
has released the KLIPA channel

Diagnosis:  No code

Solution:  Add code to reset the KLIPA, set the appropriate bits so as not
to cause a BUGCHK, and ask that job 0 reload the ucode when the channel
is returned by a diagnostic


                               [End of TCO 6.1651]
                               TCO-number:  6.1655



Written-by:  COBB                             Creation-date:  12-May-83 09:52:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  GTDIR% trashes too many words of user space.

Diagnosis:  Its OK to trash the words the user asks us to, but an off-by-one
caused TOPS-20 to store into the user's block+1.

Solution:  Add the ever popular SOJLE Q2,GTDIR5 to account for the word we've
stored into user space.


                               [End of TCO 6.1655]
                               TCO-number:  6.1657



Written-by:  MCLEAN                           Creation-date:  15-May-83 21:35:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GLOB	PHYMSC




Problem:  NOT ENOUGH BUG.'S AND TOO MANY ##'S
Diagnosis:  PHYMSC NOTICES ERRORS BUT DOES NOT REPORT THEM IT JUST
DOES SOME WORK TO FIX THINGS UP OR DECLARE A UNIT OFF LINE AND CONTINUE'S

Solution:  ADD MORE BUGINF'S AND MAKE GLOB.MAC BIGGER TO REMOVE ##'S

                               [End of TCO 6.1657]
                               TCO-number:  6.1658



Written-by:  MCLEAN                           Creation-date:  16-May-83 21:46:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIAG




Problem:  A COUPLE OF PLACES IN DIAG CALL SC.ABF OKINT. SPECIFICALLY
DGSTRT,DGRSET
Diagnosis:  ADD A FEW NOINT'S ETC


                               [End of TCO 6.1658]
                               TCO-number:  6.1659



Written-by:  GRANT                            Creation-date:  17-May-83 10:11:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NTMAN




Problem:  Needless use of swappable free space.
Diagnosis:  NTMAN% uses swappable free space for a copy of the user's
	argument block;  the block is only 11 words long.  Also, this
	makes cleanup more complicated than necessary.
Solution:  Put the copy of the user's argument block on the stack instead
	of in swappable free space.

                               [End of TCO 6.1659]
                               TCO-number:  6.1660



Written-by:  MURPHY                           Creation-date:  18-May-83 11:43:32


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  Code appears wrong -- references variable never set up.
Probable result is inefficient scheduling under heavy swapping
conditions.

Diagnosis:  Half baked implementation.

Solution:  Remove half-baked code.  Yields more predictable result
than attempting to finish baking.


                               [End of TCO 6.1660]
                               TCO-number:  6.1664



Written-by:  COBB                             Creation-date:  21-May-83 22:09:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  Code is wrong.

Diagnosis:  PHYSIO calls ELOGOO: in MEXEC to logout a job which offened it.
To do this, it takes the halfword job number from FKJOB(fork #).  Unfortunately,
it picks the wrong half word.

Solution:  HLRZ, not HRRZ.


                               [End of TCO 6.1664]
                               TCO-number:  6.1665



Written-by:  MCLEAN                           Creation-date:  23-May-83 22:27:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYPAR




Problem:  DUPLICATE SERIAL NUMBERS SEEM TO APPEAR USING HSC.
Diagnosis:  48 BITS IS GREATER THAN 36 BITS.
Solution:  MAKE UDBDSN TWO WORDS DO WE CAN GET THE WHOLE SERIAL NUMBER
NOT JUST SOME MAGIC CONSTANT.

                               [End of TCO 6.1665]
                               TCO-number:  6.1666



Written-by:  MCLEAN                           Creation-date:  24-May-83 16:15:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP4




Problem:  SERIAL NUMBER IS MISSING IF PORT IS LOCKED TO OTHER SIDE

Diagnosis:  SERIAL NUMBER SHOULD BE SET WHEN PACK COMES ONLINE.

Solution:  FIX IT AND COMPLAIN ABOUT NO SERIAL NUMBER

                               [End of TCO 6.1666]
                               TCO-number:  6.1667



Written-by:  GRANT                            Creation-date:  25-May-83 10:31:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	NSPSRV	NTMAN




Problem:  Low on address space.
Diagnosis:  DECnet doesn't need node counter tables in section 0.
Solution:  Use NRE and RSE for the network management node counters.

                               [End of TCO 6.1667]
                               TCO-number:  6.1669



Written-by:  MCLEAN                           Creation-date:  26-May-83 19:36:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMSC




Problem:  RESTAC HAS AN INSTRUCTION SKIPN KDBIAC+2
Diagnosis:  MISSING (P2)

Solution:  ADD IT.

                               [End of TCO 6.1669]
                               TCO-number:  6.1672



Written-by:  CHALL                            Creation-date:   8-Jun-83 16:43:59
Edited-by:   MCLEAN                           Edit-date:       8-Jun-83 16:45:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SYSERR




Problem:  WE SEEM TO BE LOSING SYSERR ENTRIES INCLUDING GETTING LARGE
BLOCKS OF 0 WRITTEN

Diagnosis:  CODE LOOKS GOOD EXCEPT THAT IT IS POSSIBLE THE CHFDB GETS
DONE BEFORE THE FILE IS WRITTEN THEN WE CRASH AND LOSE THE DATA
BUT NOT THE END OF FILE POINTER.

Solution:  ADD A WELL PLACED UFPGS.


                               [End of TCO 6.1672]
                               TCO-number:  6.1673



Written-by:  CHALL                            Creation-date:   8-Jun-83 16:44:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IO	SCHED	FORK	GLOBS	MONSYM




Problem:  The signal JFN is not correctly recognized and acted upon.

Diagnosis:  It needs to be checked for specially by CHKJFN, and the
fork superior waked up.

Solution:  Add code to handle the signal JFN in IO, SCHED, and FORK.


                               [End of TCO 6.1673]
                               TCO-number:  6.1674



Written-by:  CHALL                            Creation-date:   8-Jun-83 16:44:52
Edited-by:   MOSER                            Edit-date:       8-Jun-83 16:46:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMSC




Problem:  The flag INIT in the MSCP driver and KLIPA driver is a tremendous
kluge. It causes more problems than it fixes.

Diagnosis:  As above. INIT is not needed unless HSCs can be PS anyway.

Solution:  Rip init out of PHYMSC.


                               [End of TCO 6.1674]
                               TCO-number:  6.1678



Written-by:  MURPHY                           Creation-date:   9-Jun-83 12:23:48


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	POSTLD




Problem:  Solving PSECT overflows is a big pain.  It often requires
several attempts to get it right.

Diagnosis:  Too gruesome to discuss is public.

Solution:  The ultimate solution may be long in coming.  However,
as a current expedient, make POSTLD write a file with computed
PSECT origins based on the length of the PSECTS in the load
just completed.  Assuming that nothing is changed in the
build, and that there is in fact 0 or more free pages in
section 0, the link and parameter files may be changed
to these origins and the build will work the next time.

Documentation: whatever documentation discusses building monitors
in the field should be updated to note that this file is
written at the conclusion of each build, and describe
how to put the values from it and put them into the files
which control the next load.  The file written by
POSTLD is PSORG.TXT.  It may also be that some of the existing
discussion about juggling PSECTS can be deleted.


                               [End of TCO 6.1678]
                               TCO-number:  6.1680



Written-by:  PAETZOLD                         Creation-date:   9-Jun-83 14:13:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  

SYSERR fork and QUASAR eventually stop talking to eachother and free
space gets used up and Paetzold can not login.

Diagnosis:  


Solution:  

Turn on QU%NRS in the QUEUE% JSYS call in WROPR0.


                               [End of TCO 6.1680]
                               TCO-number:  6.1681



Written-by:  MCLEAN                           Creation-date:   9-Jun-83 14:20:27


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYPAR




Problem:  NO-ONE KNOWS WHO OWNS THE CI AND NI CHANNELS.
Diagnosis:  PHYH2 SEEMS TO BE THE OWNER OF THE SETUP CODE AND
HE IS A RH20 GUY.

Solution:  MAKE PHYKNI AND PHYKLP BE THE OWNER OF THESE CHANNELS AND CDB'S.

                               [End of TCO 6.1681]
                               TCO-number:  6.1685



Written-by:  MOSER                            Creation-date:  13-Jun-83 16:48:05
Edited-by:   MOSER                            Edit-date:      20-Jun-83 17:37:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SYSERR




Problem:   System hung. Free space exhausted, in use from general pool.

Diagnosis:   Syserr fork is dead. It got a panic channel interrupt while
doing a Jsys Which returns +1, +2. Syserr can handle +1 but not interrupts.

Solution:   Change instructions after possibly failing JSYSes to ERJMPs
not JRSTs or JFCLs.


                               [End of TCO 6.1685]
                               TCO-number:  6.1687



Written-by:  GRANT                            Creation-date:  15-Jun-83 13:18:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  ILLSTR BUGCHKs.

Diagnosis:  A message is being processed as if it were a node init from the
DN20.  It's not.  It is an illegally constructed message from VMS but TOPS-20
doesn't detect it soon enough.

Solution:  In STRMSG, the routine which processes a node init, make sure we
are looking at the first byte in the message before proceeding.

                               [End of TCO 6.1687]
                               TCO-number:  6.1689



Written-by:  HALL                             Creation-date:  16-Jun-83 15:19:32


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  Need more address space

Diagnosis:  Fork tables in code section

Solution:  Move them elsewhere


                               [End of TCO 6.1689]
                               TCO-number:  6.1690



Written-by:  MCLEAN                           Creation-date:  17-Jun-83 20:55:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MSCPAR




Problem:  STATUS CODE ALWAYS SUCCESS.
Diagnosis:  BYTE POINTER WRONG (TONY WAS IN THE WRONG BYTE).
Solution:  PUT THE POSITION OF THE END STATUS IN P.STS WHERE IT BELONGS.

                               [End of TCO 6.1690]
                               TCO-number:  6.1692



Written-by:  LOMARTIRE                        Creation-date:  20-Jun-83 14:31:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DEVICE	ENQ	IPCF	PROLOG


Related-SPR:  	 18562



Problem:  As of version 5.0, a new macro was added to PROLOG called LCKINI.  It 
hides the global symbol LCKINI (which is in PAGUTL) and makes it unusable.  
Thus, the instruction CALL LCKINI doesn't work because the macro expansion is 
invoked.
Diagnosis:  As above.
Solution:  Change the name of the macro (and all invocations of it) from LCKINI 
to INILCK.  This name is not presently used.

                               [End of TCO 6.1692]
                               TCO-number:  6.1699



Written-by:  PAETZOLD                         Creation-date:  21-Jun-83 19:37:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  

ERROR.SYS and everything else is full of HPSCHKs.  
Diagnosis:  

They are not going away and just clog everything up.

Solution:  

Put a SKIPA before the HPSCHK for now.



                               [End of TCO 6.1699]
                               TCO-number:  6.1700



Written-by:  MURPHY                           Creation-date:  22-Jun-83 10:26:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:  Need to be able to map pages in scheduler-level code,
using either page identifier or physical core page number.

Diagnosis:  No code.

Solution:  Write some.  Enhance SETMPG to check INSKED and use
alternate procedure.  Requires that destination map be in
core already.  Source page must also be in core if it will
subsequently be referenced at scheduler level.

New routine SPHYPG which takes physical page number and
destination map ID.  Destination map must be in memory;
source page must be in core with legal CST0 age.


                               [End of TCO 6.1700]
                               TCO-number:  6.1702



Written-by:  MCLEAN                           Creation-date:  22-Jun-83 20:44:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMSC




Problem:  EXODUS GETS I/O ERRORS WHEN DRIVE GOES OFFLINE.

Diagnosis:  UNIT-AVAILABLE IS LEGAL ERROR RETURN FROM READ/WRITE
SO WE MUST OFF-LINE IT INSTEAD OF DECLARING FATAL ERROR TO USER.
Solution:  ADD AVAILABLE CHECK.

                               [End of TCO 6.1702]
                               TCO-number:  6.1703



Written-by:  MCLEAN                           Creation-date:  22-Jun-83 21:19:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMSC




Problem:  REGISTERS ARE GETTING TRASHED BUT CODE LOOKS GOOD.....
Diagnosis:  THE CODE HAS:

	SAVEAC	(Q1,Q2,Q3)
Solution:  THIS IS A CASE WHERE THE "WONDERFUL" MACROS DON'T GIVE AN
ERROR WHEN YOU TYPE SOMETHING WRONG!!!!!! (YUCK)

	CHANGE SAVEAC	(Q1,Q2,Q3) TO SAVEAC <Q1,Q2,Q3>.

                               [End of TCO 6.1703]
                               TCO-number:  6.1705



Written-by:  MCLEAN                           Creation-date:  25-Jun-83 20:40:49


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIAG




Problem:  ENABLE/DISABLE CI IS CURRENTLY MAINTENANCE CAPABILITY

Diagnosis:  IT SHOULDN'T BE.
Solution:  MAKE IT WHEEL OR OPERATOR ONLY.

                               [End of TCO 6.1705]
                               TCO-number:  6.1706



Written-by:  MCLEAN                           Creation-date:  26-Jun-83 10:04:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  BAT BLOCKS ARE NOT CREATED ON HSC DISK'S
Diagnosis:  IT WAS SPECIFICALLY DISABLED.
Solution:  IF IS.DVE (DEVICE ERROR) IS SET THEN DON'T CREATE BAT BLOCKS
FOR ERRORS THAT OCCUR ON HSC DISK'S.

                               [End of TCO 6.1706]
                               TCO-number:  6.1707



Written-by:  CHALL                            Creation-date:  27-Jun-83 16:40:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DATIME




Problem:  IDTNC interprets "1200midnight" as noon.

Diagnosis:  Midnight winds up as 1200pm.

Solution:  Treat midnight as 1200am.


                               [End of TCO 6.1707]
                               TCO-number:  6.1709



Written-by:  LOMARTIRE                        Creation-date:  29-Jun-83 10:24:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GETSAV


Related-SPR:  	 19299



Problem:  Illegal memory READ.
Diagnosis:  Create a non-zero section with SMAP% but don't create any pages in 
the section.  Then SAVE the core image and GET the .EXE file.  The section 
that was created is now gone.  The SSAVE JSYS fails to record an empty section 
(other than zero) in the directory area of the .EXE file.
Solution:  Add some code to SSAVE which will accurately record any empty 
section in the directory area of the .EXE file.

                               [End of TCO 6.1709]
                               TCO-number:  6.1710



Written-by:  PRATT                            Creation-date:  29-Jun-83 16:58:07
Edited-by:   PRATT                            Edit-date:       5-Jul-83 19:51:56


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIRECT


Related-SPR:  	 17020	 16235



Problem:  GNJFN does not return all generations of a particular file when
doing version lookups. This is demonstrated by having the files file.ext.1,
file.ext.10, and file.ext.20. Now GTJFN/OPENF to write file.ext.5 but don't
CLOSF. At this point GTJFN / GNJFN's of file.ext.* will return only 
generation 1.

Diagnosis:  When the version lookup code is scanning for old files only and
finds FB%NXF set in the FDB, it stops stepping thru the FDB chain and returns
a File not found error.

Solution:  When FB%NXF is detected, check to see if we are stepping versions.
If so, set the new version flag and go to the routine which will cause a
scan of the next FDB in the chain.


                               [End of TCO 6.1710]
                               TCO-number:  6.1712



Written-by:  TAMBURRI                         Creation-date:   1-Jul-83 14:11:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK	JSYSA	SCHED




Problem:  Extended section PA1050 confuses the monitor.

Diagnosis:  When a RESET% JSYS is done, the address of the current
	PA1050 is cleared to indicate that it no longer exists. The
	memory area or section in which PA1050 lives, is not cleared
	however, since the monitor that it will overwrite the area
	in another UUO is done. This works fine with a regular PA1050
	in section 0, but with the extended section PA1050, the
	monitor automatically looks for the first free section it finds.
	Since the old PA1050 is still occupying its section, we give
	the new one the next section following it, rather than overwriting
	the current one.

Solution:  Don't clear the entire PA1050 address on a RESET%. Rather,
	just clear the insection address, and keep the section number
	in the left half. The next time a UUO is done, see if we already
	have a section number, and if we do, use it instead of searching
	for a new section.

	NOTE: This fix also anticipates the same problem with RMS living
	in extended sections.


                               [End of TCO 6.1712]
                               TCO-number:  6.1713



Written-by:  MCLEAN                           Creation-date:   5-Jul-83 14:07:45


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO	PHYP4




Problem:  It is impossible to determine between drive offline and
CFS has forced the drive to be offline because it is dual ported.

Diagnosis:  need a new operator message and a few fixes to do this
in a better manner.
Solution:  add a new message
%Problem Drive Dual Ported to Unknown System:

Also fix it so that programs will now see the offline bit.

                               [End of TCO 6.1713]
                               TCO-number:  6.1714



Written-by:  MCLEAN                           Creation-date:   6-Jul-83 23:00:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP4




Problem:  Lots of NRFTCL and NPWQPD BUGCHKS occur with RP06/RP07's.
Diagnosis:  Code was changed from REL 4 to REL 5 at RP4ATU to call
PHYPDN which notify's PHYSIO that a position request is done.
The problem is that when we get to RP4ATU the device was offline and
was not active.  Therefore we could not have been positioning at
the time so why should we declare the positioning done??
Solution:  Fix it so that the JRST ATNXIU is a JRST ATNXIT where
it used to go.

                               [End of TCO 6.1714]
                               TCO-number:  6.1717



Written-by:  TSANG                            Creation-date:   7-Jul-83 17:01:33
Edited-by:   TSANG                            Edit-date:       7-Jul-83 17:08:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIRECT


Related-SPR:  	 18697



Problem:  If you submit a command like: @EXPUNGE PS:<*> the MONITOR may issue 
BUGCHK's DIRFDB, ILIBPT and then crashed the system with BUGHLT ILMNRF.
Diagnosis:  If the FBEXL field (link to FDB of next extension) contains some kind
of garbage which may cause by hardware problem, and later on when the MONITOR 
refers to that field, the system will crash with a BUGHLT ILMNRF.
Solution:  Insert a subroutine ADRCHK in MDDDC1 to check the address of next 
extension. If it is not valid skip that file and go to the next one. Later on 
a BUGCHK DIRFDB with the additional information "Internal format of directory
is incorrect" will be issued instead of a BUGHLT ILMNRF with system crashed.

                               [End of TCO 6.1717]
                               TCO-number:  6.1718



Written-by:  WEAVER                           Creation-date:   7-Jul-83 17:16:18
Edited-by:   WEAVER                           Edit-date:      15-Aug-83 10:24:38


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTPHDV




Problem:  

Remote flag gets set when FE tells TOPS20 what speed a local autobaud line is.


Diagnosis:  

Remote bit is not specifically checked, but rather a JUMPE C,... is used
where C contains both REMOTE (1B2) and AUTOBAUD (1B3) bits.


Solution:  

Specifically check the REMOTE bit before declaring the line REMOTE, then
fall through to check the AUTOBAUD bit.



                               [End of TCO 6.1718]
                               TCO-number:  6.1719



Written-by:  MURPHY                           Creation-date:   8-Jul-83 15:43:20
Edited-by:   MURPHY                           Edit-date:      25-Jul-83 17:21:35


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	PARAMS


Related-TCO:  	6.1752



Problem:  Some customers want system to do modem hangup on
logout, some don't.  TOPS20 now hangs up if job not logged in;
doesn't hang up if job is logged in.

Diagnosis:  No adjustment possible.

Solution:  Add parameters to PARAMS which can be set by customer
to get desired behaviour, as follows:

   HNGU0==:1	;Not-logged-in jobs, 0=don't hangup, 1=hangup
   HNGU1==:0	;Logged-in jobs, 0=don't hangup, 1=hangup

Above values are default settings consistent with previous releases.


                               [End of TCO 6.1719]
                               TCO-number:  6.1725



Written-by:  PRATT                            Creation-date:  12-Jul-83 18:28:47
Edited-by:   PRATT                            Edit-date:      12-Jul-83 18:30:50


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV


Related-SPR:  	 19285



Problem:  

Users that try to set their terminals pause character to ^S will hang
the line after they log out.


Diagnosis:  

The TTPCS code increments the line's lock count and calls TTPPCS which
checks the arguement for ^S. If it is, it generates an error without
decrementing the lock count.


Solution:  

Change the ITERR TTYX02 at TTPPCS+2 to ITERR (TTYX02,<CALL ULKTTY>)



                               [End of TCO 6.1725]
                               TCO-number:  6.1726



Written-by:  MOSER                            Creation-date:  14-Jul-83 09:59:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:   CHFDB can adversly affect file length field of the FDB. Even when
totally unrelated fields are changed.

Diagnosis:   Code makes incomplete checks and call UPDFLN (Update file length)
at the wrong times. For new files it can cause the length to be 0 bytes!

Solution:   Fix it.


                               [End of TCO 6.1726]
                               TCO-number:  6.1727



Written-by:  MOSER                            Creation-date:  14-Jul-83 11:27:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	MSTR




Problem:  

   MOUNTR is hung, SYSJOB too.
   No one knows quite what to do.
    They tried Control-E SPEAK,
    the situation looks bleak.
   Before 5 this never was true.

Diagnosis:  

   PMAP trashes structure lock count.
   MOUNTR then hangs during dismount.
    MSTR code has a race,
    in more than one place,
   DISMSes with large INTDF ammount.

Solution:  

   CALL LUNLKF from PMAP
   and that should prevent this mishap.
    Make MSTR benevolent
    by DISMSing OKINT.
   That should fix all of this crap.


                               [End of TCO 6.1727]
                               TCO-number:  6.1729



Written-by:  JCAMPBELL                        Creation-date:  14-Jul-83 11:36:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF	DIRECT




Problem:  EXEC cannot set FDB attribute for FORTRAN carriage control.
And even if they could, they might propogate them in new generations.

Diagnosis:  FB%FOR not an allowed bit for CHFDB. FB%FOR not cleared
by code to create new generation.

Solution:  Add FB%FOR for writer, owner, and wopr in CHFDB tables.
Add FB%FOR to flags to be cleared for new generation in DIRECT.MAC.


                               [End of TCO 6.1729]
                               TCO-number:  6.1733



Written-by:  PAETZOLD                         Creation-date:  15-Jul-83 14:17:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK	STG	globs	TTYSRV	IMPDV	IMPANX
			TCPTCP	TCPBBN	TCPCRC	ipipip	ipfree	MNETDV
			NETWRK




Problem:  

TCP code in release 6 not up to date.

Diagnosis:  

Lots of merging needs to be done.

Solution:  

Merge my changes since April.  This includes the removal of most of the old
ARPANET NCP code.


                               [End of TCO 6.1733]
                               TCO-number:  6.1734



Written-by:  MCLEAN                           Creation-date:  18-Jul-83 11:15:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SYSERR




Problem:  SYSERR JSYS doesn't account for extra crash spanning word.

Diagnosis:  split the transfer into two parts to account for this
without changing the jsys.

Solution:  Make the changes to JSYS code to split buffer and
insert crash spanning word.

                               [End of TCO 6.1734]
                               TCO-number:  6.1736



Written-by:  MILLER                           Creation-date:  18-Jul-83 14:55:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  STDEV does not return its error code in AC2 as documented. In
fact, it doesn't return its error code in AC1! The only way to
learn why STDEV failed is a GETER JSYS.

Diagnosis:  No code to do what we claim it does.

Solution:  Add the code to do what we claim it does.


                               [End of TCO 6.1736]
                               TCO-number:  6.1737



Written-by:  LEACHE                           Creation-date:  18-Jul-83 18:53:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	STG




Problem:  

It is sometime desireable to capture the state of a stuck fork with a dump.

Diagnosis:  

There is currently no easy way to do this.

Solution:  

Invent the crash-on-fork utility which will cause the scheduler to crash
ths system the next time the specified fork is run.  The facility is
invoked (from MDDT) as follows:

	T1/  Fork number
	CALL CRSFRK$X

The routine will set up the appropriate database, and give the fork a
PSI interrupt.  The next time the fork is chosen to run, the scheduler
will crash the system with a KRSFRK BUGHLT, displaying the number of
the crashed fork and the number of the job requesting the crash on
the CTY.  

The crash-on-fork utility is under the control of the DEBUG conditional.


                               [End of TCO 6.1737]
                               TCO-number:  6.1740



Written-by:  MCINTEE                          Creation-date:  19-Jul-83 11:28:09
Edited-by:   MCINTEE                          Edit-date:      19-Jul-83 11:57:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG




Problem:  The BUG. expansion in a listing does not display the continuation
address when it is used.
Diagnosis:  Bug in MACRO requires fix in BUG. macro
Solution:  Rearrange the BUG. macro, pushing the continuation feature down 
one level. 

                               [End of TCO 6.1740]
                               TCO-number:  6.1742



Written-by:  PAETZOLD                         Creation-date:  20-Jul-83 16:59:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  


ATTACH JSYS bombs out for ARPANET FTP servers.

Diagnosis:  

ATACH% was changed to only allow attaches when the target terminal is 
assigned to the current job.  ATACH will not allow attachs when the 
target terminal is unassigned.

Solution:  

Add code so that unaasigned tty's can be attached to.


                               [End of TCO 6.1742]
                               TCO-number:  6.1743



Written-by:  MCCOLLUM                         Creation-date:  20-Jul-83 20:35:57
Edited-by:   MCCOLLUM                         Edit-date:      18-Aug-83 13:52:22


Edit-checked:         No     Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM	MEXEC




Problem:  

PEEK% JSYS can't return data from extended sections.

Diagnosis:  

PEEK% JSYS wasn't intended to return data from extended sections.

Solution:  
Write XPEEK% JSYS to handle extended sections.
See document R60SPC:XPEEK-SPEC.DOC



                               [End of TCO 6.1743]
                               TCO-number:  6.1746



Written-by:  MOSER                            Creation-date:  22-Jul-83 09:35:52


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:   PLOCK cannot lock pages in sections other than zero.

Diagnosis:   It explicitly checks for page numbers less than 1000. It
cannot get the SPT number right for sections other than zero.

Solution:   Call FKHPTN to setup PTN,,PN and remove the inadequate code from
PLOCK. Also allow bit FK%EPN in AC1 for PLOCK.


                               [End of TCO 6.1746]
                               TCO-number:  6.1747



Written-by:  MOSER                            Creation-date:  22-Jul-83 11:01:23


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:   RMS cannot set the FB%FCF (file class field) of  files FDB unless
it has OWNER access to the file. Write access should be sufficent since
it is possible to change a file's class by writing it.

Diagnosis:   FB%FCF not in WRITER table of CHFDB.

Solution:   Add it.


                               [End of TCO 6.1747]
                               TCO-number:  6.1748



Written-by:  MOSER                            Creation-date:  22-Jul-83 16:12:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:   System runs strangly after SJPRI or SPRIW Jsys is done by
a careless WHEEL. It may crash or hang.

Diagnosis:   SJPRI and SPRIW do not check the users arguments for legal values
in the queue number fields. The monitor is happy to use the values supplied
by the user as indexes into many tables that are too short for the value
supplied. This can lead to lmost anything.

Solution:   Check for legal queue values in these Jsyses.


                               [End of TCO 6.1748]
                               TCO-number:  6.1749



Written-by:  WEETON                           Creation-date:  23-Jul-83 01:57:10
Edited-by:   MCLEAN                           Edit-date:       4-Aug-83 07:57:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYH2	PHYSIO




Problem:  NOIORB BUGHLT for tapes.
Diagnosis:  A lot of work has been done to CHECKD; thus CHECKD has been going
through growing pains.

Solution:  Fix SETUDB to return the Active UDB if there is one
and fix WRNGUN to BUGCHK if nothing was supposed to be active.

                               [End of TCO 6.1749]
                               TCO-number:  6.1750



Written-by:  TGRADY                           Creation-date:  23-Jul-83 12:54:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYH2




Problem:  

PH2PIM BUGHLT's are the apparent result of a hardware design problem
with RP07's, and filling the dump structure(s).


Diagnosis:  

Field Service has determined that the loss of PI assignment is intrinsic
in the design of the RP07, and all the BUGHLT's in the world aren't going
to help find the problem.


Solution:  

Make it back into a BUGCHK, as well as it's cousin PH2PIX, and wait for
hardware engineering to fix the bug.



                               [End of TCO 6.1750]
                               TCO-number:  6.1751



Written-by:  MURPHY                           Creation-date:  25-Jul-83 17:07:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  FPTMXX bughlt; possibly others in release 5, 5.1, etc.
related to paging confusion.

Diagnosis:  SKEDFC (force clear) flag invokes routine which
put AOBJN pointer in FX instead of just plain fork index.
This may confuse lower level paging routines.

Solution:  Use separate AC for count; keep LH of FX clear.


                               [End of TCO 6.1751]
                               TCO-number:  6.1752



Written-by:  MURPHY                           Creation-date:  25-Jul-83 17:20:45
Edited-by:   MURPHY                           Edit-date:      25-Jul-83 17:21:52


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	JSYSA	STG	PARAMS	MONSYM


Related-TCO:  	6.1568



Problem:  Need way for customers to control system carrier off
and hangup actions.

Diagnosis:  No adjustment presently possible.

Solution:  Create following new SMON/TMON functions:

.SFCOT - Value is time in milliseconds between carrier off event
	(including network connection broken) and automatic
	logout of job.  Default is 5 minutes.

.SFHU0 - Flag to control hangup action for not-logged-in jobs.
	0 = no hangup; 1 = hangup.  Default is 1.

.SFHU1 - Flag to control hangup action for logged-in jobs.
	0 = no hangup; 1 = hangup.  Default is 0.

This TCO replaces 6.1568 and 6.1719.


                               [End of TCO 6.1752]
                               TCO-number:  6.1753



Written-by:  PRATT                            Creation-date:  26-Jul-83 11:42:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-SPR:  	 17334



Problem:  Documentation says that the user may change the break
mask for switches but the code does not allow it.

Diagnosis:  The code is missing a CMSBF parameter for .CMSWI functions.

Solution:  Change the entry for .CMSWI at CFNTAB+3 to set CMSBF.


                               [End of TCO 6.1753]
                               TCO-number:  6.1758



Written-by:  MILLER                           Creation-date:   3-Aug-83 10:49:58


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	exec




Problem:  We need a way for each site to specify where the MAIL.TXT
files reside. This is particularly important for CFS.

Diagnosis:  Presently, the mail software assumes that MAIL.TXT
resides on PS:.

Solution:  Create the logical name POBOX: as the location of the
MAIL.TXT files. POBOX: is defined by the monitor to be PS: but
may be redefined in the CONFIG.CMD file. Changes the EXEC, MS
and the mailers to look on POBOX: for the mail files.


                               [End of TCO 6.1758]
                               TCO-number:  6.1762



Written-by:  MCINTEE                          Creation-date:   8-Aug-83 12:51:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  SKDPF1 bughlt

Diagnosis:  UNICHK runs in section 0, but references the fork tables, and
calls PSIRQ & ELOGOO, which reference the fork tables.
Solution:  Make those sections of code run in section 1.

                               [End of TCO 6.1762]
                               TCO-number:  6.1763



Written-by:  MCINTEE                          Creation-date:   8-Aug-83 14:30:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC




Problem:  ILMNRF bughlt

Diagnosis:  A PMAP done under the following conditions will cause a ILMNRF:
1) The file is a long file
2) The current page is being changed to another file section
3) The directory in which the file resides is not open

The ILMNRF occurs when the directory is referenced, assuming it is mapped 
in the usual manner. It isn't.
Solution:  Change routine CPJFNV to call SETDIR at its beginning, and USTDIR
at its end.

                               [End of TCO 6.1763]
                               TCO-number:  6.1764



Written-by:  MCINTEE                          Creation-date:   8-Aug-83 14:50:43
Edited-by:   MCINTEE                          Edit-date:       9-Aug-83 11:47:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  Sometimes in a SKDPF1 crash, TRAPPC, TRAPFL & UPTPFW have 
been trashed, apparently in the BUGHLT code.
Diagnosis:  To aid in the diagnosis of this type of crash, move the contents of
TRAPPC & TRAPFL into AC2 & AC3 respectively, and comment that fact.
UPTPFW is already in AC1.
Solution:  None.

                               [End of TCO 6.1764]
                               TCO-number:  6.1767



Written-by:  LOMARTIRE                        Creation-date:  11-Aug-83 10:57:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED


Related-SPR:  	 19356



Problem:  The .SKBCS function of the SKED JSYS only changes the batch class 
of the first running batch job; all others retain their original classes.
Diagnosis:  Routine SKDSCB is called to change the batch class and sets T4 
as a loop counter.  Then routine CHGCLS is called which in turn calls upon 
routine CHGCNT.  But CHGCNT trashes T4 and as a result only the first 
running batch job gets its class changed.
Solution:  Change the ASUBR at CHGCLS to a SASUBR.  This will restore T4 and 
allow for the proper stepping through all the batch jobs.

                               [End of TCO 6.1767]
                               TCO-number:  6.1768



Written-by:  LOMARTIRE                        Creation-date:  11-Aug-83 16:23:33
Edited-by:   LOMARTIRE                        Edit-date:      18-Oct-84 13:03:32


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV


Related-TCO:  	6.1769	6.2252

Related-SPR:  	 19162



Problem:  The system hangs after a spurious power fail.
Diagnosis:  It appears that a microcode bug does not allow paging to be 
turned off once it has been on.  In the routine IORST (which is called 
from within SYSRST), the monitor attempts to turn off paging and cache 
via a CONO PAG,@CONOPG.  Once this instruction has been executed after 
a spurious power fail, the system hangs.
Solution:  Insert a CONSO PAG,PGTPEN before the CONO PAG,@CONOPG so that 
paging will not be turned off once it has been turned on.  Also, place 
a CONSO PAG,PGTPEN before the UMOVEM T1,CSTBR in PAGRST so that the CST 
base register is not redefined if paging is kept on.

                               [End of TCO 6.1768]
                               TCO-number:  6.1769



Written-by:  LOMARTIRE                        Creation-date:  11-Aug-83 16:49:49
Edited-by:   LOMARTIRE                        Edit-date:      18-Oct-84 13:03:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV


Related-TCO:  	6.1768	6.2252

Related-SPR:  	 19223



Problem:  The system does not continue after a power fail and usually fails 
due to an ILLUUO BUGHLT.
Diagnosis:  See TCO 6.1768.  Routine PWRRST turns off paging and this causes 
the system to perform strangely.
Solution:  First install TCO 6.1768.  Next, place a CONSO PAG,PGTPEN before 
the CONO PAG,@CONOPG in PWRRST.  This will insure that paging will not be 
turned off if it is already on.

                               [End of TCO 6.1769]
                               TCO-number:  6.1779



Written-by:  PRATT                            Creation-date:  18-Aug-83 10:37:47


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-SPR:  	 18895



Problem:  
    TBADD  and  TBDEL  don't  know how to handle addresses which point to
command table entries for abbreviated keywords.


Diagnosis:  

    For  abbreviated keywords, the RH of the command table entry points to
the address of the table entry for which  it  is  an  abbreviation.  If  a
keyword  is  added to or deleted from the table, the address in the RH may
have to be incremented or deleted.


Solution:  

    Create a flag called TB%ABR (1B0), which can be set in AC 1 of a TBADD
or  TBDEL  jsys  call. When set, TB%ABR says that abbreviated keywords are
present in the command table. After adding or deleting the  keyword,  find
all abbreviated keywords and update the pointers if they were affected.






                               [End of TCO 6.1779]
                               TCO-number:  6.1781



Written-by:  LOMARTIRE                        Creation-date:  18-Aug-83 16:48:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GETSAV


Related-SPR:  	 19390



Problem:  The user can hang his job in the GET JSYS if he does a GET on a 
TTY or PTY.
Diagnosis:  At GET01, a call is made to GTSVID, where the device 
characteristics are obtained.  Next, the fork lock is obtained, the fork 
goes NOINT, and a BIN is used to obtain the first word of the directory 
section for the file.  At this point, if the user hits a CONTROL/C, the 
fork will hang in the TCIPIT test waiting for the fork to become 
interruptable.
Solution:  After the return from GTSVID, test the device.  If it is a TTY 
or a PTY, return a GETX1 error (which, if passed back to the EXEC, will 
result in a ?Bad .EXE file format message).

                               [End of TCO 6.1781]
                               TCO-number:  6.1782



Written-by:  TBOYLE                           Creation-date:  18-Aug-83 17:23:12
Edited-by:   TBOYLE                           Edit-date:      22-Feb-85 17:08:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC


Related-SPR:  	 18430



Problem:  Data in files that are opened short but become long can be lost
even if UFPGS (update file pages) is used. If a crash occurs, the file
can in some circumstances come back short. This can affect accounting data
files, PTYCON logs, DBMS Journals, or other applications that rely on
UFPGS working for long files.

Diagnosis:  The code that turns a short file into a long file turns on
the FILNB bit on storage address of the super-index block AFTER it
is saved in a temporary. When it is later used to store in the FDB,
it does not have the FILNB bit set!

Solution:  This bug is fixed by reversing the TLO and the MOVEM.


                               [End of TCO 6.1782]
                               TCO-number:  6.1784



Written-by:  GRANT                            Creation-date:  22-Aug-83 08:54:33
Edited-by:   GRANT                            Edit-date:      22-Aug-83 08:58:48


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTPHDV


Related-SPR:  	 18827



Problem:  Terminal page mode does not work on a DECnet NVT line.
Diagnosis:  If you do the MTOPR function .MOSNH twice on the same line, the first
time setting SH%LPM and second time not, ^S and ^Q have no effect.  This is 
caused by incorrect logic in the translating the user's SH%LPM setting into the
monitor's internal indicator.  The code assumes this funciton is done only once.
Solution:  If SH%LPM is not on, turn off TTNPM in the terminal data base.

                               [End of TCO 6.1784]
                               TCO-number:  6.1787



Written-by:  TBOYLE                           Creation-date:  25-Aug-83 11:33:22
Edited-by:   TBOYLE                           Edit-date:      26-Aug-83 12:42:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-SPR:  	 19182



Problem:  The TMON% JSYS zeros the right half of ac2 when called
with the .SFSOK function on GETOK% function code of 400000 (user defined)
but not on the other codes (.GOACC,.GOLOG,...) The sometimes zeroing
and sometimes leaving alone of RH AC2 is not consistent behavior.

Diagnosis:  Code zeros the right half of AC2 to index into the GETOK flags
table.

Solution:  Be sure RH AC2 has original value on return.


                               [End of TCO 6.1787]
                               TCO-number:  6.1788



Written-by:  TBOYLE                           Creation-date:  26-Aug-83 12:47:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK


Related-SPR:  	 18805



Problem:  If a user supplies the exact number of words needed for
the information block returned by GFRKS% JSYS, an error is returned.

Diagnosis:  fencepost error when using AOBJP.

Solution:  subtract another 1,,0 off the AOBJP pointer before doing the job.


                               [End of TCO 6.1788]
                               TCO-number:  6.1789



Written-by:  MOSER                            Creation-date:  26-Aug-83 17:11:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:   ILIBPT Bugchks, PAGLCK, PGNDEL, PTNIC1 Bughlts, File damage and
potentially other problems for sites which heavily excercise the file system.

Diagnosis:   When the system runs out of OFNs it calls FREOFN to release
all "unshared" OFNs. Unfortunatly FREOFN believes that many OFNs are unused
while they still are valid page tables and frees them. When they are later
used for something else various parts of TOPS-20 lose their minds when they
do not find the page table they expected.

Solution:   Only release OFNs which are unshared and unlocked in FREOFN.


                               [End of TCO 6.1789]
                               TCO-number:  6.1791



Written-by:  LOMARTIRE                        Creation-date:   1-Sep-83 11:27:46
Edited-by:   LOMARTIRE                        Edit-date:       1-Sep-83 11:57:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC


Related-SPR:  	 19445



Problem:  Any user can log into any account on the system from a batch 
job.
Diagnosis:  First, assign a terminal to act as a dummy controlling terminal.
Then, create a job via CRJOB%, keyed off of the controlling terminal; 
maintain ownership but don't log it in.  Next, attach to the new job and 
release ownership of it.  Now BATCON is controlling this new job (which is 
not logged in).  Since BATCON is privileged, the user can log into any 
account without giving a password.

Solution:  Add code which will return a CAPX1 error if the job attempting the 
ATACH% is running under batch and does not have WHEEL or OPERATOR capabilities 
enabled.


                               [End of TCO 6.1791]
                               TCO-number:  6.1792



Written-by:  LOMARTIRE                        Creation-date:   1-Sep-83 11:47:42
Edited-by:   LOMARTIRE                        Edit-date:      15-Jun-84 08:40:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FILMSC


Related-TCO:  	6.2100

Related-SPR:  	 15946



Problem:  A user can obtain and open 2 JFNs on the same TTY.  He will be 
unable to close the second JFN and has obtained "permanent" ownership of 
it.  If another user logs in with this TTY as his controlling terminal,  
he can be watched.
Diagnosis:  There is no check made to detect multiple openings made on the 
same TTY.
Solution:  As in the PTY case, test DV%OPN to see if the TTY is already open.  
If it is, fail with a OPNX9 (Invalid simultaneous access) error.  An exception 
to this will be an OPENF% on TTY:, which will always succeed.


                               [End of TCO 6.1792]
                               TCO-number:  6.1793



Written-by:  TBOYLE                           Creation-date:   7-Sep-83 11:33:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-SPR:  	 17233



Problem:  GTJFN can return the error ?No such file type when recognition
occurs and an extension is defaulted. This is fine, except that it can
also occur when the actual error is ?Directory is full i.e. when the symbol
table fills up.

Diagnosis:  The "do default extension" routine (DEFEXT) has a very general
interpretation of errors and informs its caller that no match occurs, the
caller then generalizes the error with even more humorous errors.

Solution:  Change DEFEXT to return the error GJFX23 if it is encountered
rather than "no match".


                               [End of TCO 6.1793]
                               TCO-number:  6.1795



Written-by:  PRATT                            Creation-date:   8-Sep-83 11:19:19
Edited-by:   PRATT                            Edit-date:       8-Sep-83 11:21:15


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-SPR:  	 17124



Problem:  

Using  editing  characters  such  as delete and ctrl-w on CRT, can confuse
users if a GTJFN informational message has been typed out by the monitor.


Diagnosis:  

Whenever a short form GTJFN is performed with GJ%CFM and GJ%MSG turned on,
or  a  long form GTJFN with G1%RCM turned off and GJ%CFM and GJ%MSG turned
on, the informational message is output only to the terminal. If a  delete
is  typed, the last character in the message is erased from the screen but
the last character in the filename is removed from the buffer.



Solution:  

If  we  are  waiting  for  a  confirmation character to be typed and get a
editing character instead, retype the filespec on the next line up to  the
point of the deleted character.



                               [End of TCO 6.1795]
                               TCO-number:  6.1796



Written-by:  PRATT                            Creation-date:   8-Sep-83 17:18:57
Edited-by:   PRATT                            Edit-date:      16-Nov-83 18:15:19


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV


Related-SPR:  	 18806



Problem:  

Certain  terminals  or  terminal like devices, such as graphics terminals,
plotters, hardcopy printers, and  even  microcomputers,  have  a  need  to
ensure  that no characters/messages are sent to it except data characters.
The REFUSE SYSTEM-MESSAGES, REFUSE ADVICE, and REFUSE LINKS  commands  are
not adequate to stop all messages sent to a terminal line.

    REFUSE SYSTEM-MESSAGES will not stop a TTMSG to a specific terminal.

    The  "TALK"  command  will  generate  bells  on  a  terminal  which is
    "refusing links".

    Nothing prevents a privileged user from BOUTing/SOUTing to a 
    specific terminal.


Diagnosis:  

There is no code to prevent certain messages or characters from being sent
to a particular line.


Solution:  

There are many changes. 

	1) Create a new multi-purpose MTOPR function which allows
	   several terminal related flags to be set. The initial
	   implementation creates the REFUSE USER-MESSAGES and
	   TERMINAL [NO] INHIBIT (NON-JOB OUTPUT)

	2) Modify TTMSG and TLINK to obey the flags for the new
	   commands mentioned above. Also modify the code so that
	   a priv'd user cannot BOUT/SOUT/etc to a terminal that 
	   does not want to be interrupted.

	3) Create the new EXEC commands REFUSE/RECEIVE USER-MESSAGES
	   and the TERMINAL [NO] INHIBIT (NON-JOB OUTPUT).

	4) Allow a new flavor of REFUSE/RECEIVE ADVICE/LINKS/SYSTEM/etc
	   which is [SET] TERMINAL [NO] RECEIVE ADVICE/LINKS/etc.

For addtional info, see R60SPC:TERMINAL-MESSAGES.MEM 
and R60SPC:REFUSE-USER-MESSAGES.MEM



                               [End of TCO 6.1796]
                               TCO-number:  6.1797



Written-by:  MCLEAN                           Creation-date:  12-Sep-83 13:21:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP4




Problem:  Pulling the lap plug on the RP06 may cause the unit to 
stop transferring when the plug is replaced
Diagnosis:  If the unit is active at the time we don't clear the active bits.
Solution:  clear the active and position bits.

                               [End of TCO 6.1797]
                               TCO-number:  6.1798



Written-by:  HALL                             Creation-date:  12-Sep-83 15:33:29


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PAGUTL	APRSRV	PROLOG	globs




Problem:  An ECO to the KL will allow it to support the "keep me" bit
in the hardware page table. We need software support.

Diagnosis:  

Solution:  Define some new bits in PROLOG. Make PGRINI set "keep me" in
the appropriate section map (sections 0 and 1) and map entries. Clear the
pager with "keep me" ignored at system startup, and then honor "keep me"
in subsequent pager clears.

Note: for now we are turning on the bit only in PSECTS RSCOD and SZCOD.
The whole thing is experimental until the hardware folks evaluate their
changes. Meanwhile, the code seems to have no adverse effects in a non-
ECOd KL.

There is one unexpected effect of this change: bit 8 of the page fail word,
which was supposed to mean "virtual reference", will now mean "keep me".
But that's OK because the hardware never got it right anyway. Also, the
SMAPOK macro, which checked for a successful MAP instruction, no longer
checks bit 8. Instead, it checks the "hard error" bit, which it should have
been doing all along.


                               [End of TCO 6.1798]
                               TCO-number:  6.1799



Written-by:  TBOYLE                           Creation-date:  13-Sep-83 17:01:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	 18733



Problem:  
WHEN A SUPERIOR DIRECTORY GOES OVER WORKING QUOTA, PEOPLE IN THE
SUBDIR'S RECIEVE "?REQUEST EXCEEDS SUPERIOR WORKING QUOTA" WHEN
THEY TRY TO CHANGE ANYTHING I.E. SUCH AS THE PASSWORD OR ANY OTHER
THING.

Diagnosis:  CRDIR% IS TOO SMART FOR ITS OWN GOOD. IT DOESN'T BOTHER
TO CHECK TO SEE IF THE CALLER IS NOT CHANGING THE WORKING QUOTA
AND SO WHEN THE SUPERIOR IS OVER QUOTA IT GIVES UP ON ANY
REQUEST.

Solution:  CHANGE PROPER CODE SO THAT THE CHECKS FOR SUPERIOR BEING
OVER QUOTA ARE MADE ONLY IF THE USER IS TRYING TO CHANGE THE WORKING
QUOTA. THIS INCLUDES THE CASE OF A NEW DIRECTORY AS WELL.


                               [End of TCO 6.1799]
                               TCO-number:  6.1800



Written-by:  TBOYLE                           Creation-date:  15-Sep-83 14:29:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR


Problem:  

CHKPNT ignores user records.

Diagnosis:  The size of a user record is calculated incorrectly.

Solution:  Repair calculation of user record size.


                               [End of TCO 6.1800]
                               TCO-number:  6.1802



Written-by:  TSANG                            Creation-date:  16-Sep-83 15:50:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-SPR:  	 19417



Problem:  A large number of unreleased JFNs exist if an error occurs when use
an indirect file. For example, if you submit a command "@SYSTAT @FOO.FIL X",
and then you submit another command "@INFO FILE", you will see a large number 
of "FOO.FIL not opened".
Diagnosis:  COMND JSYS is used to parse the argument  which appears after the
command. If the argument is an indirect file, the system tries to get a JFN
for that indirect file first, and then looks for CR to terminate it. If CR
is not following the indirect file, the system will try to reparse it and get
another JFN for that indirect file. That is the reason why you will see "FOO.FIL
 not opened" many times.
Solution:  If the argument after an indirect file can not be parsed successfully,we have to release the JFN of that indirect file first, then try to reparse the
command string again.

                               [End of TCO 6.1802]
                               TCO-number:  6.1803



Written-by:  TBOYLE                           Creation-date:  20-Sep-83 15:16:51
Edited-by:   TBOYLE                           Edit-date:      20-Sep-83 15:17:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIRECT	JSYSF	DISC


Related-SPR:  	 18747



Problem:  Special directories such as <SPOOL> or <ACCOUNTS> when deleted,
cause strange error messages when they are subsequently referenced and
hence cannot be recreated unless the system is booted again.

Diagnosis:  The monitor specially encaches these directory numbers to speed
up their access. If one of these directories are deleted, the entries are
not removed from the special cache and so subsequent lookups return the
directory numbers which is now invalid.

Solution:  Add a routine called REMSDR to DIRECT which removes a directory
number from the table if it is there. CRDIR% with CR%DEL will call this
and so will DELETE with DF%DIR.


                               [End of TCO 6.1803]
                               TCO-number:  6.1806



Written-by:  MILLER                           Creation-date:  23-Sep-83 10:31:24


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV	MEXEC	globs




Problem:  CFS systems need to corrdinate the date and time.

Diagnosis:  As above

Solution:  Have the CFS systems exchange date and time when they connect.


                               [End of TCO 6.1806]
                               TCO-number:  6.1807



Written-by:  TSANG                            Creation-date:  23-Sep-83 13:12:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	 19523



Problem:  SFUST JSYS does not return an updated byte pointer in AC2.
Diagnosis:  The system forgets to restore the updated byte pointer in AC2 at 
the end of .SFUST routine.
Solution:  Do it.

                               [End of TCO 6.1807]
                               TCO-number:  6.1808



Written-by:  MCLEAN                           Creation-date:  27-Sep-83 21:22:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SYSERR




Problem:  BAD entries in SYSERR file.
Diagnosis:  SYSERR JSYS permits users to make entries without codes.
Solution:  Bugchk and don't make entry if no code is supplied.

                               [End of TCO 6.1808]
                               TCO-number:  6.1809



Written-by:  MILLER                           Creation-date:  28-Sep-83 15:07:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:  Deleting a file with a bad page can crash the monitor.

Diagnosis:  DELBAD uses most of the P registers, but doesn't save
them first.

Solution:  Save the P's at DELPT.


                               [End of TCO 6.1809]
                               TCO-number:  6.1810



Written-by:  MOSER                            Creation-date:  28-Sep-83 16:46:08


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN




Problem:   None but behavior of monitor is inconsistent.

Diagnosis:   The logical name DSK: is expanded to your connected directory
even if the bit G1%SLN (suppress logical name) is set unless DSK: has been
defined.

Solution:   As an experiment never expand DSK: if G1%SLN is set.


                               [End of TCO 6.1810]
                               TCO-number:  6.1812



Written-by:  PRATT                            Creation-date:  29-Sep-83 17:15:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-SPR:  	 13260



Problem:  

If a .CMUQS function is in a chain of function descriptor blocks,
and a question mark is typed, two bugs will occur.

  1) No "Unquoted string" help message will be typed out.

  2) The "?" will be blindly accepted as part of the unquoted string
     along with any other characters which are typed. 


Diagnosis:  

The XCMUQS routine immediately starts reading input characters. If 
the .CMUQS function is part of a chain, and the "?" is typed, then
XCMUQS is called to provide a help message. Unfortunately it doesn't
check to see if we are in the middle of processing help for each
function descriptor block. 


Solution:  

Have XCMUQS check the CMQUES flag and if it is on, do the standard
help message processing.



                               [End of TCO 6.1812]
                               TCO-number:  6.1814



Written-by:  MILLER                           Creation-date:   3-Oct-83 08:21:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	mstr	PAGUTL




Problem:  It is not always possible to dismount an "off line"
structure.

Diagnosis:  MSTR tries to update the OFNs for the structure
and MRKOFN always looks at the index block, even if it is
already on disk and therefore contains no local addresses.

Solution:  Have MSTR bypass the OFN update if the structure is off-line,
and have MRKOFN (actually INVOFN) not scan the index block
if it is on disk.


                               [End of TCO 6.1814]
                               TCO-number:  6.1815



Written-by:  MURPHY                           Creation-date:   3-Oct-83 12:22:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  1. SK%RSQ flag doesn't do anything.
	 2. Code obviously wrong, although no symptom known.

Diagnosis:  1. APSKED is called to check for resheduling needed before
	the fork that might run is on the golist.
	   2. SKIPE T1,[stuff] never skips -- should have been a SKIPA.

Solution:  1. Reorder code to call APSKED after new priority is computed
and fork put on GOLIST.  Also, put ISB SKDCHN back in.

	  2. Make the SKIPE be a SKIPA at .DISMS+11.

Credit for both of the above goes to Roy Davis of the Course Development
group who found them by reading the code.  He also independently found
the half-baked code in AJBALS that we found a few months ago.


                               [End of TCO 6.1815]
                               TCO-number:  6.1816



Written-by:  MOSER                            Creation-date:   4-Oct-83 14:59:22
Edited-by:   MOSER                            Edit-date:       6-Oct-83 11:43:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:   PITRAP Bughlt.

Diagnosis:   The code at DTEOFF references RLDFRK which is non-resident. This
can happen at DTE interrupt level.

Solution:   Make RLDFRK resident.


                               [End of TCO 6.1816]
                               TCO-number:  6.1817



Written-by:  PAETZOLD                         Creation-date:   4-Oct-83 19:34:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN




Problem:  

FILNO never gets cleared on a new jfn assignment.

Diagnosis:  

We forgot.

Solution:  

Zero it the same time FILSTS gets reset.


                               [End of TCO 6.1817]
                               TCO-number:  6.1818



Written-by:  MCLEAN                           Creation-date:   5-Oct-83 20:10:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP4	PHYSIO	PHYM78	PHYP2	PHYX2




Problem:  Physio runs in sec 0

Diagnosis:  A few HLL P3, and friends
Solution:  fix code in PHYxxx modules.

                               [End of TCO 6.1818]
                               TCO-number:  6.1820



Written-by:  MILLER                           Creation-date:   7-Oct-83 22:38:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC




Problem:  RPACS% can crash the monitor.

Diagnosis:  The routines used by RPACS (and other JSYSes) to verify
the JFN do not bother to check if the JFN is open!

Solution:  Check if it is open and return DESX5 error if it is not.


                               [End of TCO 6.1820]
                               TCO-number:  6.1821



Written-by:  TGRADY                           Creation-date:   7-Oct-83 23:22:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  
Older applications that use RMS expect that issuing an RMS JSYS will
result in loading RMS into user memory.  They depend upon RMS being
in section 0.  If XRMS is available on SYS, though, it gets loaded
instead, into section 2.  This proves to be very unpopular...and breaks
FTS, PASCAL, and probably all sorts of other guys who just never noticed
before.


Diagnosis:  
Originally, this was how it was supposed to work.  The tune got changed,
but nobody told the monitor.


Solution:  
To hell with XRMS.  Always load RMS into section 0.  If someone wants it
elsewhere, they can do it themselves.  RMS has routines that are bright
enough to make this decision on their own, so the monitor doesn't need to know.



                               [End of TCO 6.1821]
                               TCO-number:  6.1822



Written-by:  MCLEAN                           Creation-date:   8-Oct-83 22:24:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMSC




Problem:  BLDUDB LOOSES PACKET ADDRESS BEFORE CALL TO SETUDB

Diagnosis:  DON'T LOOSE Q2
Solution:  FIX IT IN BLDUDB TO SAVE Q2 BEFORE CALLING PHYUDB


                               [End of TCO 6.1822]
                               TCO-number:  6.1824



Written-by:  MILLER                           Creation-date:  11-Oct-83 10:25:02
Edited-by:   MILLER                           Edit-date:      12-Oct-83 08:14:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IPCF	CFSSRV	STG


Related-TCO:  	6.1826



Problem:  IPCF PIDs are not guaranteed to be valid on only
on CFS system.

Also, the technique used by IPCF to avoid having an old PID
look to be valid is not as good as it could be.

Diagnosis:  PIDs have an 18-bit field used to identify a valid
PID index. However, CFS systems duplicate this field, and
a PID assigned on one CFS system could look to be valid on
another CFS system. Even though it is unlikely that an
application could be "fooled" by this, it can be fixed by
creating a sub-field in the 18-bit ID that is unique
to each processor.

Also, the unique number palced in the 18-bit ID field should
come from a "random seed" instead of always starting from 1.

Solution:  Create a 4-bit sub-field in the ID field to contain
the local CI port number. For systems that do not have a CI, or
do not have CFS, use a zero for this sub-field.

The remaining 14 bits of the ID field are generated as
before, except that the right-half of the date and time
word is used as the seed value. This should provide a little
better resolution of the field.


                               [End of TCO 6.1824]
                               TCO-number:  6.1825



Written-by:  MOSER                            Creation-date:  11-Oct-83 15:37:20
Edited-by:   MOSER                            Edit-date:      11-Oct-83 15:38:32


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:   J0NRUNs, no resident free space, GALAXY very slow... When class
scheduling with windfall withheld.

Diagnosis:   When windfall is withheld the monitor removes jobs from the balance
set that are "ahead" of their allocation. It does not remove NOSKED or CRSKED
forks but it can remove forks that have JP%SYS set.

Solution:   Don't remove forks that have BSSPQ set in FKSWP even if they are
ahead of their allocation.


                               [End of TCO 6.1825]
                               TCO-number:  6.1827



Written-by:  MOSER                            Creation-date:  12-Oct-83 13:56:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:   ILMNRF during fork creation.

Diagnosis:   If the drum is nearly full the pager will give an interrupt
when creating pages if the page fault is from the user or if the monitor is
OKINT. If this happens during fork creation (while creating the PSB) the
monitor will crash as it is OKINT (INTDF is -1) and unprepared for an interrupt.

Solution:   Be NOINT during PSB creation.


                               [End of TCO 6.1827]
                               TCO-number:  6.1828



Written-by:  MOSER                            Creation-date:  12-Oct-83 14:03:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:   Hung jobs.

Diagnosis:   Device lock can get locked but never unlocked during one strange
path through FORK.

Solution:   Unlock DEVLKK at the correct place.


                               [End of TCO 6.1828]
                               TCO-number:  6.1829



Written-by:  TGRADY                           Creation-date:  17-Oct-83 10:10:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMSC




Problem:  

PHMUND BUGCHK's happen when the system comes up because PHYMSC is checking
the unit type without setting up P4 correctly.

Diagnosis:  

P4 just never got set up...and usually has a very negative number in it, so
whatever disk is on the HSC is never recognised.

Solution:  

Use a call to UNTYPE, since it returns +1 if the unit isn't valid, and +2
if it is.  This is equivalent to checking the unit type.


                               [End of TCO 6.1829]
                               TCO-number:  6.1830



Written-by:  TGRADY                           Creation-date:  17-Oct-83 10:15:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMSC




Problem:  

SKDPF1's and probably other ILMNRF-type BUGHLT's


Diagnosis:  

In PHYMSC, the CNRAVL routine handles Connect Response Available messages
from SCA, but SCA seems to return a Connect ID of -1 sometimes.  Thereafter
any diddling with the Connect ID (MSCCID or MSCOLD) for that VC results in
illegal memory references.


Solution:  

In CNRAVL, after checking that the Connect Response Available is good (i.e.
not rejected), check for a positive Connect ID (it should never be negative
or zero).  If it's bad, BUGHLT with a BADCID bughlt.  This is a new BUGHLT.



                               [End of TCO 6.1830]
                               TCO-number:  6.1832



Written-by:  MILLER                           Creation-date:  17-Oct-83 14:00:34


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  Page table parity errors always cause a BUGHLT. This need
not be so.

Diagnosis:  No code present to attempt to recover from this condition.

Solution:  Add the missing code. Retry by clearing the pager (including
kept entries) and allowing the reference to proceed. If more than
two such errors occur, then BUGHLT.

Each time the monitor retries, issue a BUGCHK.


                               [End of TCO 6.1832]
                               TCO-number:  6.1833



Written-by:  MOSER                            Creation-date:  19-Oct-83 11:07:13
Edited-by:   MOSER                            Edit-date:      19-Oct-83 11:08:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN




Problem:   The system crashes when the FORTRAN group does experiments
with the OPEN. statement.

Diagnosis:   Monitor does a JRST to nowhere when parsing an attribute
for a JFN that has no device. Any parse only JFN will do the trick.

Solution:   Return GJFX40 "Undefined attribute in file specification" if the
DEV register contains a zero.


                               [End of TCO 6.1833]
                               TCO-number:  6.1834



Written-by:  LOMARTIRE                        Creation-date:  19-Oct-83 11:35:40
Edited-by:   LOMARTIRE                        Edit-date:      19-Oct-83 11:36:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FILMSC


Related-SPR:  	 18423



Problem:  After a user assigns the TTY end of a PTY, he will be unable to 
open the PTY.  The misleading error code "Device already assigned to another 
job" (OPNX7) is returned.
Diagnosis:  When the monitor is checking to see if the PTY can be opened, it 
finds that the TTY end already has a dynamic data block assigned.  It assumes 
that someone else has assigned the TTY and returns with OPNX7.
Solution:  In PTYOPN, if the line is found to already be active, check to see 
who assigned the TTY.  Continue if the same user is trying to open the PTY, 
otherwise fail with a OPNX7.

                               [End of TCO 6.1834]
                               TCO-number:  6.1836



Written-by:  PAETZOLD                         Creation-date:  20-Oct-83 10:08:18


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TCPJFN	monsym




Problem:  

.IPGWY function of IPOPR JSYS not coded.

Diagnosis:  

It was in the spec but somehow slipped by.

Solution:  

Add the code.  This function simply calls GWYINI to reinitialize the IP
gateway routing tables.



                               [End of TCO 6.1836]
                               TCO-number:  6.1838



Written-by:  PRATT                            Creation-date:  20-Oct-83 15:39:39


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND




Problem:  
If CNTL-F is defined as a break character to the unquoted
string function, the field does not terminate when CNTL-F is
typed. The character goes into the buffer and the code keeps
accepting text until some other break character is typed.


Diagnosis:  

The CMUQS1 routine correctly notices that CNTL-F terminates
the field, and calls the routines that treat it like an escape.
That code checks for CNTL-F and continues to accept input until the
field is terminated.


Solution:  

Make escape and CNTL-F behave the same way for the unquoted string
function. This doesn't affect recognition since it isn't allowed.



                               [End of TCO 6.1838]
                               TCO-number:  6.1839



Written-by:  MILLER                           Creation-date:  25-Oct-83 09:28:41
Edited-by:   MILLER                           Edit-date:      25-Oct-83 10:13:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SWPALC	PAGEM




Problem:  It is possible to run out of swapping space and crash
the monitor.

Diagnosis:  This is a chronic problem, and there is likely no way
to prevent it completely, but quicker diagnosis of the
impending condition so that DDMP can run might help.

Solution:  Do two things:

1. Each time a swapping address is assigned, check if the swapping space
threhsold is exceeded. If so, try to get DDMP to run immediately

2. In SWPOUT, around the label BKUPS, check for swapping space
low and an unmodified file page. If both of these are true, don't
swap out the page.

These together should help prevent running out of swapping space.


                               [End of TCO 6.1839]
                               TCO-number:  6.1843



Written-by:  MOSER                            Creation-date:  26-Oct-83 15:19:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:   Swap space gets full. Unnecessary disk traffic on the public
structure. Difficult for system administrators to balance disk load.

Diagnosis:   The monitor writes unmodified file pages to the swapping space.

Solution:   In SWPOUT if a file page is unmodified simply put it on the
replacable queue instead of the swapping space.


                               [End of TCO 6.1843]
                               TCO-number:  6.1844



Written-by:  TGRADY                           Creation-date:  26-Oct-83 23:16:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SYSFLG	PAGEM	FORK




Problem:  
The DYNLB% JSYS is still being loaded into the production monitors.
This is not a planned part of Release 6, and takes up some unnecessary
space.


Diagnosis:  
Nobody ever took it out.

Solution:  
In SYSFLG.MAC, make DYNFLG=0, and don't forget to recompile PAGEM and
FORK.



                               [End of TCO 6.1844]
                               TCO-number:  6.1845



Written-by:  LOMARTIRE                        Creation-date:  31-Oct-83 16:21:25


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF	MONSYM


Related-SPR:  	 17741



Problem:  CHFDB% JSYS done with a terminal JFN returns error code CFDBX1.
The message "Invalid displacement" is inappropriate in this situation.

Diagnosis:  No appropriate error message for this case.

Solution:  Add a new error code, CFDBX5 "No FDB for non-directory devices".


                               [End of TCO 6.1845]
                               TCO-number:  6.1846



Written-by:  PRATT                            Creation-date:   2-Nov-83 11:27:33


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND




Problem:  
The .CMTOK COMND jsys function returns a "?Does not match token"
error if a default has been provided and the user types a crlf.


Diagnosis:  

No code to take user default on crlf.


Solution:  

Add the code. 



                               [End of TCO 6.1846]
                               TCO-number:  6.1848



Written-by:  TSANG                            Creation-date:   3-Nov-83 16:22:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-SPR:  	 19555



Problem:  The node name field in the Entry Header Record of a Session Entry is 
always blank.
Diagnosis:  The node name field UHNOD was set to blank in UFNI01 subroutine.
Solution:  Move the node name to UHNOD in UFNI01 subroutine.

                               [End of TCO 6.1848]
                               TCO-number:  6.1849



Written-by:  GROSSMAN                         Creation-date:   3-Nov-83 23:31:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	STG




Problem:  The RSX20F DL console stops working when the CTY gets relocated (via
the switch register).

Diagnosis:  A long time ago, and far away...  ...somebody installed a TCO to
prevent a tty being CRJOBed on from being assigned by another job.  It did
this by comparing CRJTTY to the line that was being assigned.  CRJTTY usually
has a value of 0 (in fact MEXEC goes out of it's way to ensure this) when
a CRJOB is not being done.  The 20F DL console just happens to have a line
number of 0 (when it's not the CTY).  

In any case, TTYSRV incorrectly determines that line 0 is the CRJOB tty, and
doesn't allow it to be assigned to the job we are creating, resulting in a
hung console.

Solution:  If a CRJOB is not being done, ensure that CRJTTY contains the value
-1 which cannot be mistaken for a valid tty number.  While in the neighborhood,
move the resetting of CRJTTY into code that only gets executed for CRJOB
startups.  Previously, the monitor was resetting CRJTTY every time a new job
started up, whether or not it was a CRJOB startup.


                               [End of TCO 6.1849]
                               TCO-number:  6.1850



Written-by:  MCLEAN                           Creation-date:   7-Nov-83 13:21:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  ILTWQP bughlt

Diagnosis:  The homeblock IORB was on the Position wait queue and not
on the Transfer wait queue and it timed out.  This caused the IORB
not to get removed from the PWQ but the IORB could now be re-used.
Solution:  Check for PWQ entry and do hung check instead of cleaning
up the IORB.

                               [End of TCO 6.1850]
                               TCO-number:  6.1851



Written-by:  CJOHNSON                         Creation-date:   8-Nov-83 13:07:09


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-SPR:  	 18631



Problem:  A program attempts to change the CCOC words for a terminal assigned to
another job with the SFCOC% Jsys.  The JSYS appears to return
successfully, but no change is made.


Diagnosis:  SFCOC% was using the incorrect error return mechanism (that for
skipping calls).


Solution:  Use the proper error return mechanism (ITERR (DESX2)).


                               [End of TCO 6.1851]
                               TCO-number:  6.1853



Written-by:  MCLEAN                           Creation-date:   9-Nov-83 13:24:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYX2




Problem:  When writing 800/556 bpi NRZI count of frames is wrong.
Diagnosis:  missing (P3)
Solution:  Add (P3) to table so we don't write in 55 but write instead
55(P3) since we really want the count in the UDB.

                               [End of TCO 6.1853]
                               TCO-number:  6.1854



Written-by:  TBOYLE                           Creation-date:   9-Nov-83 13:54:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  CTY output can be garbled if CHECKD is run during system
initialization.


Diagnosis:  system initialization types [CHECKING SYSTEM STRUCTURE]
and also creates and runs the CHECKD fork which does a send-all
saying "Checking system structure."


Solution:  Use DOBE to wait for CTY output to finish before creating
and running CHECKD fork.



                               [End of TCO 6.1854]
                               TCO-number:  6.1856



Written-by:  PAETZOLD                         Creation-date:  10-Nov-83 11:12:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	TCPTCP




Problem:  

TOPS-20AN floods other hosts, imps, and gateways with many redundant 
useless probing acks when the TCP window is full on a TVT connection.

Diagnosis:  

The packetizer attempts to send a probing ack every 200 milleseconds
from now until the window becomes non full.  This causes amazing pain to 
the other host and to the internet in general.

Solution:  

Slow down the ack rate to once every 10 seconds.  Change TVTWTM to
^D10000 from ^D200.


                               [End of TCO 6.1856]
                               TCO-number:  6.1860



Written-by:  LOMARTIRE                        Creation-date:  10-Nov-83 16:42:52
Edited-by:   LOMARTIRE                        Edit-date:      10-Nov-83 16:44:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	FORK	GLOBS


Related-SPR:  	 19563



Problem:  Job hangs on logout.

Diagnosis:  A job is started via CRJOB and a process is started which maps 
section 0 to section 1 and then continues running in section 1.  This will 
increment the share count of the PSB.  Upon logout, the code at HLTJB1 clears 
the pages in the process map and job map but neglects the section map for the 
process.  The code then waits for the PSB to become unshared, which it never 
does, and the process hangs in WTSPTT test.
Solution:  In HLTJB1, before the job and process maps are cleared, clear all 
non-zero sections of the section map.  This is done by calling CLNZSC.  This 
routine will have to be made global.

                               [End of TCO 6.1860]
                               TCO-number:  6.1861



Written-by:  CJOHNSON                         Creation-date:  11-Nov-83 15:53:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC


Related-SPR:  	 18823



Problem:  Dump Mode I/O with disk files ignores the previous-context
section, making it impossible to provide command lists in non-zero
sections.

Diagnosis:  The code wasn't obtaining the previous context section,
thereby defaulting in all cases to zero.

Solution:  When obtaining right-half I/O word addresses, apply the
previous context section.


                               [End of TCO 6.1861]
                               TCO-number:  6.1862



Written-by:  PAETZOLD                         Creation-date:  13-Nov-83 09:15:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  

XPEEK JSYS returns invalid words transferred count in .XPCN2 word if
user supplied section zero monitor address.

Diagnosis:  

Code converts address to section one if it was given as section zero.
It later does arithmetic with the section zero version of the address and
the results are incorrect.

Solution:  

Convert the address to section one format earlier in the code and save it
so that arithmetic will use the section one version.


                               [End of TCO 6.1862]
                               TCO-number:  6.1863



Written-by:  GROSSMAN                         Creation-date:  14-Nov-83 19:26:47
Edited-by:   GROSSMAN                         Edit-date:      14-Nov-83 19:45:32


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:  PLOCK% JSYS causes KPALVH BUGHLTs (sometimes).

Diagnosis:  The routine LODPPS gets a page fault (on PIPGA) when it tries to
write to a page that does not have it's CST write bit set.  (Yes, thats right
folks, there's a new bit in the CST that says that this PHYSICAL page is
writeable!)  PAGEM then tries to analyze the page fault, and in the process of
doing so, it:

1) smashes the map entry for PIPGA (PAGEM uses PIPGA to look at physical memory),
2) it determines that there was no reason for the page fault.

So, it restarts the instruction with PIPGA being non-addressible, and gets a
fault, and backto point #1...

Since the machine was PIOFF at the time, a KPALVH soon occurred.

The moral of the story is "Don't get page faults on PIPGA" (because PAGEM can't
possibly deal with them correctly).

Solution:  Set the CST write bit for the physical page we are trying to lock.


                               [End of TCO 6.1863]
                               TCO-number:  6.1864



Written-by:  PAETZOLD                         Creation-date:  14-Nov-83 23:57:46


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	monsym




Problem:  

GTHST% functions .GTHLN and .GTHNT are not in MONSYM.

Diagnosis:  

oversight.


Solution:  

add them.



                               [End of TCO 6.1864]
                               TCO-number:  6.1866



Written-by:  PAETZOLD                         Creation-date:  15-Nov-83 12:20:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IMPANX




Problem:  

IOPGF code in IMPANX will not work for multiple AN20s or for systems
not on ARPANET (eg. MILNET).

Diagnosis:  

I was lazy when I coded it.  It has the network wired in and it assumes that
the AN20 is the first NCT.

Solution:  

Scan NCTs for AN20s and check each AN20's IWAR and OWAR for the bad page.



                               [End of TCO 6.1866]
                               TCO-number:  6.1867



Written-by:  PAETZOLD                         Creation-date:  16-Nov-83 13:54:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  

TCP/IP needs a SAVEAC routine for P1

Diagnosis:  

There is not one.


Solution:  

Add it to APRSRV.



                               [End of TCO 6.1867]
                               TCO-number:  6.1868



Written-by:  PRATT                            Creation-date:  16-Nov-83 14:38:01
Edited-by:   PRATT                            Edit-date:      16-Nov-83 14:41:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG




Problem:  

There is no way to ERJMP to the next instruction inside a literal.


Diagnosis:  

ERJMP .+1 will jump out of the literal 

IFJER. <>  isn't descriptive and in fact generates an undefined symbol


Solution:  

Define ERNOP. which generates:

	ERJMP %tag
%tag:!



                               [End of TCO 6.1868]
                               TCO-number:  6.1872



Written-by:  PAETZOLD                         Creation-date:  20-Nov-83 18:49:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ipipip




Problem:  

INTFRK runs all the time.

Diagnosis:  

IBPTIM calculation for SIQCHK is wrong.

Solution:  

Always call SIQCHK and let it decide when to wakeup.


                               [End of TCO 6.1872]
                               TCO-number:  6.1873



Written-by:  MCLEAN                           Creation-date:  20-Nov-83 19:53:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  %UNIT switched on device: message reports junk.
Diagnosis:  This routine calls UNIMES with the wrong data in
P1.
Solution:  FIX AC usage.

                               [End of TCO 6.1873]
                               TCO-number:  6.1875



Written-by:  MOSER                            Creation-date:  21-Nov-83 11:41:32
Edited-by:   MOSER                            Edit-date:       6-Dec-83 11:46:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL	PAGEM




Problem:   PAGLCK or ILMNRF BUGHLTs, NSKDT2 Bugchks when running SORT
or DATATRIEVE or any user mode program doing extended addressing.

Diagnosis:   If a page fault occurs and the monitor does garbage collection
and CPTPGA is mapped and the user is using extended addressing the monitor will
call SECIND which calls SECPTR which trashes the mapping of CPTPGA. This
is caused by SETCPT giving a "free" call to RELCPT which undoes the unmapping.

Solution:   Change SECPTR to save/restore mapping of CPTPGA. Change SETCPT
to BUGHLT instead of giving a free unmapping. Change SETMPG to not expect
this "feature" of SETCPT. The new BUGHLT will be CPTMAP.


                               [End of TCO 6.1875]
                               TCO-number:  6.1876



Written-by:  TBOYLE                           Creation-date:  21-Nov-83 14:21:34
Edited-by:   TBOYLE                           Edit-date:      21-Nov-83 14:22:37


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MSTR	MONSYM




Problem:  CHECKD has no way to find out lost-sectors/cylinder. This
is needed so that CHECKD can find out disk drive infor directly from
the system rather than in its hokey private tables.

Diagnosis:  MSTR% has never been instructed to return that info.

Solution:  Make a new entry called .MSRLS (lost sectors/cyl.)
Additional research shows that sectors/surface cannot be determined 
either, therefore provide another entry .MSRSS since it is conceivable
that someone may desire the information.


                               [End of TCO 6.1876]
                               TCO-number:  6.1877



Written-by:  MOSER                            Creation-date:  21-Nov-83 16:44:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:   Arithmetic trapping doesn't work. Word .AROPC of the trap block
is garbage.

Diagnosis:  HRR T2,P1 should be HRR T1,P1.


                               [End of TCO 6.1877]
                               TCO-number:  6.1879



Written-by:  MCLEAN                           Creation-date:  22-Nov-83 19:15:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP4




Problem:  RP4UNF BUGHLTS
Diagnosis:  The port is in use on the other side.
Solution:  Seize the port before reading the register.

                               [End of TCO 6.1879]
                               TCO-number:  6.1882



Written-by:  GLINDELL                         Creation-date:  28-Nov-83 10:30:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF	monsym




Problem:  
DECnet-36 (and possibly others) need to allow MTOPR without
the JFN being open.

Diagnosis:  
Not needed before.

Solution:  
Add a bit D1%MTO that means "this device can handle MTOPRs without the
jfn being open" to DEVCH1, and make JSYSF test the bit in the MTOPR
dispatch.


                               [End of TCO 6.1882]
                               TCO-number:  6.1883



Written-by:  MCINTEE                          Creation-date:  28-Nov-83 15:10:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  CRJOB sometimes fails with invalid password when it shouldn't
Diagnosis:  Incorrect check for -1,,X style byte pointer
Solution:  Use the correct check (TLC, TLCN)

                               [End of TCO 6.1883]
                               TCO-number:  6.1884



Written-by:  CJOHNSON                         Creation-date:  28-Nov-83 17:48:06
Edited-by:   CJOHNSON                         Edit-date:      19-Dec-83 11:34:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	 19729



Problem:  System crashes with NOFNDU Bug Halt

Diagnosis:  Under some circumstances, routine CLZDO calls FNDUNT after the
contents of AC JFN have been zeroed.

Solution:  Have CLZDO restore the contents of AC JFN by using the existing
STKVAR CLZDOJ (times MLJFN).


                               [End of TCO 6.1884]
                               TCO-number:  6.1887



Written-by:  MOSER                            Creation-date:  30-Nov-83 09:31:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:   FLKINT Bugchk's, possible GLFNF Bugchk's when using TFORK function
.TFRES (Remove interrupts from all inferiors and clear assigned software
channels).

Diagnosis:   TFORK^ goes NOINT and then does a TFORK JSYS which calls FLOCK.

Solution:   Call FLOCK at TFORK6.


                               [End of TCO 6.1887]
                               TCO-number:  6.1888



Written-by:  MCLEAN                           Creation-date:  30-Nov-83 21:20:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC




Problem:  BUM bat blocks.
Diagnosis:  Unit numbers in the range of 9-16 destroy the bat block
word pair since the unit number is converted to a bit position with
a LSH.
Solution:  Mask the unit number to 3 bits before LSH since it is impractical
to change the format of the BAT Blocks.  This is also what TOPS10 plans to do.

                               [End of TCO 6.1888]
                               TCO-number:  6.1889



Written-by:  MCINTEE                          Creation-date:   1-Dec-83 09:20:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV




Problem:  BUGHLT at RELNOD+4.
Diagnosis:  Sanity check does not consider the case when the queue was empty
Solution:  Make sanity check more sane.

                               [End of TCO 6.1889]
                               TCO-number:  6.1892



Written-by:  MCLEAN                           Creation-date:   6-Dec-83 14:08:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  TCO 5.1196
Diagnosis:  APR interrupt destroys most of the AC's (including the
stack pointer).  If this is a non-fatal error we return with random
stack and ac's (we are careful to preserve AC 1.....).

Solution:  Save and restore AC's!

                               [End of TCO 6.1892]
                               TCO-number:  6.1896



Written-by:  MOSER                            Creation-date:   7-Dec-83 10:23:14
Edited-by:   MOSER                            Edit-date:       7-Dec-83 10:25:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:   FORTRAN and PASCAL will not run under release 6. Arithmetic
trapping does not work correctly. It is impossible to reference a trap block
in section zero.

Diagnosis:   The monitor forces PCS to section 1 to allow for a trap
block in section N and a trapping instruction in section 0. It cannot
reference a trap block in section zero because it uses indexed references
to the users block.

Solution:   Use indirect references.


                               [End of TCO 6.1896]
                               TCO-number:  6.1899



Written-by:  CJOHNSON                         Creation-date:   7-Dec-83 15:32:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ENQ


Related-SPR:  	 19771



Problem:  ENQC% function .ENQCS (Obtain Status) never returns the EN%QCB flag,
and does not return the job number of the lock's owner when its a different
job than the caller.

Diagnosis:  Not coded to do these things.

Solution:  Add the code


                               [End of TCO 6.1899]
                               TCO-number:  6.1900



Written-by:  PAETZOLD                         Creation-date:   8-Dec-83 13:50:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  

To my amazing surprise the hardware and microcode can give us unvectored
channel zero interrupts to handle.  Currently EPT location 40 has a zero.
This may be the cause of many of the ILLUUO BUGHLTs we see that happen on
perfectly reasonable instructions.

Diagnosis:  


Solution:  

Add a new BUGHLT PI0ERR which will be dispatched from the EPT. 



                               [End of TCO 6.1900]
                               TCO-number:  6.1901



Written-by:  MCCOLLUM                         Creation-date:   9-Dec-83 18:18:46
Edited-by:   MCCOLLUM                         Edit-date:       9-Dec-83 18:27:52


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND




Problem:  
COMND% JSYS incorrectly handle the case of printing help messages for linked
FDBs for successive .CMKEY functions. It will print only the word "or" for
every FDB after the first if the user input has eliminated all possible keywords
for this FDB.


Diagnosis:  
The routine CMQ1 in COMND.MAC is responsible for printing both the standard
help message and the user supplied help message. If this routine is called
for a .CMKEY FDB when all the possible keywords have been emilinated because
of text already typed, it will first print out the "or" text and then check
to see if the FDB is the first in the chain. If it is the first, it will print
the help text(s), if it isn't the first, it won't print anything further.


Solution:  
Make CMQ1 first check to see if the FDB is the first in the chain, then print
out the "or" text and any necessary help strings. This will cause no help text
at all to appear for all FDBs after the first in the chain that cannot match
the user input.


                               [End of TCO 6.1901]
                               TCO-number:  6.1902



Written-by:  CJOHNSON                         Creation-date:  12-Dec-83 12:25:50
Edited-by:   CJOHNSON                         Edit-date:      12-Mar-84 16:06:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GETSAV


Related-SPR:  	 19758



Problem:  
When saving files on magtape via SSAVE%, the file is saved
incorrectly when it contains PDVs.

Diagnosis:  
At SSAV4, a calculation to determine how many zero words to
write to fill the directory page with zeroes assumes that in
addition to the directory word pairs there are always five (5)
words (directory header, 3 word entry vector and trailer words).

Solution:  
Make it figure out how many directory words really were written.


                               [End of TCO 6.1902]
                               TCO-number:  6.1906



Written-by:  PAETZOLD                         Creation-date:  13-Dec-83 13:43:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	SCHED	STG	globs




Problem:  

DDMP can get stuck and we would never know it.  Also J0NRUN indicates
that CHKR has stopped running and not DDMP.

Diagnosis:  

DDMP and CHKR are not the same fork anymore.

Solution:  

Add code to detect DDMP hung.  The code looks just like the CHKR hung 
code and uses the same time interval (4 minutes).  Also change the 
J0NRUN BUGHLT to NOCHKR and add the NODDMP BUGHLT.


                               [End of TCO 6.1906]
                               TCO-number:  6.1907



Written-by:  CJOHNSON                         Creation-date:  13-Dec-83 15:50:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV


Related-SPR:  	 19770



Problem:  DCN: links can not be open write-only, forks which do so appear
to block forever upon writing to the link.

Diagnosis:  If a link is opened write-only, routine TURNON in NSPSRV avoids
sending an LS message to the remote NSP on the assumption that it
is not needed when the remote end is forbidden to transmit (because
the local process will never read from the link).  However, SRV: links
require that the DCN: link transmit an LS before it will send one
of its own.  Thus, if a DCN: link is opened write-only, it will never
send an LS and the SRV: end of the link won't either.  As the initial
LS is needed to grant an allocation of transmit segments, the DCN: link
can never write because it never receives the transmit allocation.

Solution:  Have TURNON not send the initial LS only when it is a write-only
SRV: link.  Have write-only DCN: links send a zero transmit allocation
to the remote end of the link.


                               [End of TCO 6.1907]
                               TCO-number:  6.1909



Written-by:  MURPHY                           Creation-date:  14-Dec-83 14:30:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  SAVEPQ doesn't work when P has a global stack pointer.

Diagnosis:  Support routine uses BLT and therefore ignores the
actual section of the stack.

Solution:  Get rid of BLT; use instructions which handle global
or local index correctly.


                               [End of TCO 6.1909]
                               TCO-number:  6.1910



Written-by:  MOSER                            Creation-date:  15-Dec-83 13:50:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:   Cannot run programs that do CALLI 41 after SET NO UUO-SIMULATION
even though CALLI 41 does not use PA1050. CALLI 41 is the "magic" UUO for
obtaining the operationg system type.

Diagnosis:   The new style of PATADR is incorrectly handled by UU1050. It
does not consider that PATADR may contain -1 meaning no PA1050 is allowed.

Solution:   Correctly handle PATADR containing -1.


                               [End of TCO 6.1910]
                               TCO-number:  6.1912



Written-by:  PRATT                            Creation-date:  15-Dec-83 14:11:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  
The write to operator routine is setting the QU%NRS 
(no response) bit in ac1 when it should be setting 
it in the argument block for the QUEUE jsys.


Diagnosis:  


Solution:  

Change the code.



                               [End of TCO 6.1912]
                               TCO-number:  6.1913



Written-by:  TSANG                            Creation-date:  15-Dec-83 16:52:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  When you execute a PDVOP% JSYS with the .POGET function, and set both
.POADR and .POADE words to zero, they are interpreted as NO memory. The documentation claims that they will be interpreted as meaning all of memory.
Diagnosis:  If the value in .POADE is zero, the system should convert it to
377777,,777777 which is the largest address in memory.
Solution:  Do it as above.

                               [End of TCO 6.1913]
                               TCO-number:  6.1917



Written-by:  TSANG                            Creation-date:  21-Dec-83 09:56:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-SPR:  	 19596



Problem:  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.
Solution:  Call CHKMNO in .DELDF and return an error if the structure is not
mounted. The original PCO was created by Schmitt and applied to V4 monitor
on May 6, 1981.

                               [End of TCO 6.1917]
                               TCO-number:  6.1918



Written-by:  TSANG                            Creation-date:  21-Dec-83 16:02:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DATIME


Related-SPR:  	 19582



Problem:  IDCNV JSYS does not work properly. If you specify 83 instead of 1983
in the left half of AC2, which contains year, the result time (in right half 
of AC2) will be off by one hour, while the result year and date (in left half
of AC2) will be fine.
Diagnosis:  Subroutine IDAYL is used to check against the input year whether 
the DST should be applied or not. If input year is smaller than 1975 (decimal),
don't apply the DST otherwise apply DST. That is the reason why the result time
will be off by one hour between 83 and 1983.
P.S. If you specify input year smaller than 75, the problem won't exist.
Solution:  If the input year in the left half of AC2 is smaller than 99, we
should convert it to 19XX. Later when the subroutine IDAYL is called, the 
correct year will be used to check against the DST.

                               [End of TCO 6.1918]
                               TCO-number:  6.1920



Written-by:  GRANT                            Creation-date:  30-Dec-83 07:05:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  In debugging mode (NSPSW=1), logical link block verification doesn't
	work.
Diagnosis:  Release 6 uses different logical link block offsets than did Release
	5.1.  Thus, the offset used for the verification code is no longer
	valid.
Solution:  Use offset LLMSIT instead of offset LLMSG.

                               [End of TCO 6.1920]
                               TCO-number:  6.1921



Written-by:  CJOHNSON                         Creation-date:   3-Jan-84 18:08:19


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-SPR:  	 19853



Problem:  	The NIN% Jsys accepts 2**35 and returns -2**35 and no error code.

Diagnosis:  	The code looks only for 36 bit overflows.

Solution:  	Check the carry flags.


                               [End of TCO 6.1921]
                               TCO-number:  6.1924



Written-by:  PRATT                            Creation-date:   4-Jan-84 14:52:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV	MEXEC




Problem:  

Galaxy is looking for a "display type" function block for any 
Write To Operator functions.  The valid types are: bugchks,
buginfs, and system messages. 

Currently, no one is setting the display type.


Diagnosis:  

The WTO routines (WROPER and WROPR0) don't know about the display
type function block. 


Solution:  

Make the WTO routines build the display type block and use the 
value supplied by the caller.

Make all callers of the WTO routines put the display type in AC3.

Also, change WROPER to use symbols instead of hardwired numbers.



                               [End of TCO 6.1924]
                               TCO-number:  6.1925



Written-by:  PRATT                            Creation-date:   6-Jan-84 13:28:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  

At QUCHK+45 is a backwards test of the QU%NTB (No Text Block) for
the QUEUE% jsys.


Diagnosis:  

Someone misinterpretted the meaning of the bit.


Solution:  

Change the TXNN to a TXNE.



                               [End of TCO 6.1925]
                               TCO-number:  6.1926



Written-by:  PRATT                            Creation-date:   6-Jan-84 13:41:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  

The QUEUE% jsys should set .IPCCG (sent by system for queue%)
as the system sender value in the flags word of an IPCF packet.


Diagnosis:  

Solution:  

Add the code to the instruction at QUE02+21.



                               [End of TCO 6.1926]
                               TCO-number:  6.1927



Written-by:  PAETZOLD                         Creation-date:   7-Jan-84 11:15:35


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	monsym




Problem:  

The monrd jsys uses up lots of system resources and causes other problems
time after time after time.

Diagnosis:  

It has never been good enough to put in the monitor.  It originally happened
because the monitor could not return psb and jsb values to users.

Solution:  

Add the .XPJSB and .XPPSB functions to XPEEK.  This will allow us to get
rid of the monrd jsys.


                               [End of TCO 6.1927]
                               TCO-number:  6.1929



Written-by:  PAETZOLD                         Creation-date:  12-Jan-84 14:14:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	STG	PROLOG	MEXEC	APRSRV	FORK




Problem:  

FKJOBN DEFSTR in PROLOG conflicts with FKJOB symbol name.

Diagnosis:  


Solution:  

Change FKJOBN references to use FKJBN.


                               [End of TCO 6.1929]
                               TCO-number:  6.1930



Written-by:  MCLEAN                           Creation-date:  12-Jan-84 19:31:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:  Dumb installation wanted other than 256K increment of memory or
memory has a parity error somewhere.
Diagnosis:  Either always use 256k multiples and no errors or fix PAGUTL
to do the correct calculation of CST?X sizes.
Solution:  Make MOVCS2+2 be an ADDI T2,777 instead of an AOS T2.
This when followed by an LSH T2,-PGSIZ will produce the correct result.

                               [End of TCO 6.1930]
                               TCO-number:  6.1932



Written-by:  MCINTEE                          Creation-date:  13-Jan-84 12:43:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:  JFNS% does not return the password attribute.
Solution:  Allow returning password attribute when JFN is parse only.


                               [End of TCO 6.1932]
                               TCO-number:  6.1933



Written-by:  TBOYLE                           Creation-date:  13-Jan-84 17:11:17
Edited-by:   TBOYLE                           Edit-date:      17-Jan-84 12:32:07


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	MEXEC	SYSERR




Problem:  SETSPD does not give SPEAR entries ascending serial numbers
when it tries to get the old number from ERROR.SYS.

Diagnosis:  It can't possibly work because, by the time SETSPD runs,
the monitor has already logged entries starting at zero. Hence if we
look in the file we will get the wrong number. The code was also
blatantly wrong, it picked up the serial number from the wrong
field in the ERROR.SYS (the processor serial number to be exact!)

Solution:  Set SPRCNT initially at -1. Change SEBLUP to defer queueing
of entries into ERROR.SYS until this value changes. At system
startup, SETSPD will come along to set the value correctly.
After SETSPD is invoked, put a check in to make sure SPRCNT was
set non-negative, if it wasn't, then warn the CTY and set it to
zero. This also handles the case of when there is no SETSPD. After
all this, we will also bump SEBCKF to oust the present queue.


                               [End of TCO 6.1933]
                               TCO-number:  6.1935



Written-by:  MCINTEE                          Creation-date:  16-Jan-84 08:58:57
Edited-by:   MCINTEE                          Edit-date:      19-Jan-84 14:26:25


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND	MONSYM




Problem:  There is a need for programs which implement network virtual terminals
from TOPS-20 to other operating systems to selectively enable/disable each
editing control character (^R, ^U, ^V, ^W, DELETE). The TEXTI% jsys provides
the functionality to enable all of those characters, but does not provide
a way of turning any of them off. 
Diagnosis:  No code to do so.
Solution:  Define a new bit, RD%NED, in the flags word (.RDFLG) of the TEXTI%
argument block. If this bit is set, then any editing character (^R, ^U, ^V, ^W, 
and DELETE) that is in the user supplied break mask will not have its 
editing function.

                               [End of TCO 6.1935]
                               TCO-number:  6.1943



Written-by:  PRATT                            Creation-date:  20-Jan-84 14:48:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	MONSYM




Problem:  

The header block used between the monitor and Galaxy for the QUEUE% 
jsys is changing. The GOPHER function code (QOGFR) in .QJLTY is now
obsolete by the "packet from QUEUE jsys" bit in the IPCF header.

The header words .QJFNC and .QJUFC are also obsolete. The value that
used to go in .QJUFC (user function code) now goes in .QJLTY.


Diagnosis:  

Solution:  

Rewrite the QUVERF (verification) routine so that .QJFNC and .QJUFC
isn't used. Decrease the message block count by 2. Change the .QJ1SB
offset from 7 to 5.



                               [End of TCO 6.1943]
                               TCO-number:  6.1944



Written-by:  MOSER                            Creation-date:  20-Jan-84 15:26:04


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM	MSTR




Problem:   Mountr needs a way to determine the serial numbers of a disk drive.

Diagnosis:   No code.

Solution:   Add 2 words to the MSTR block returned by functions .MSRNU and
.MSRUS. The words will be the high and low order serial numbers from the
UDB. They will be stored in words .MSDSH and .MSDSN respectivly.


                               [End of TCO 6.1944]
                               TCO-number:  6.1947



Written-by:  PRATT                            Creation-date:  23-Jan-84 15:44:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	MONSYM




Problem:  

The definitions in MONSYM for offsets in the argument block between
the QUEUE% jsys and Galaxy are only needed by the monitor. They
should be defined locally to JSYSA only and shouldn't be defined in 
MONSYM. In fact, at a later time, these symbols should be gotten rid 
of and replaced by the definitions in GLXMAC.UNV.


Diagnosis:  

Solution:  Remove them from MONSYM, put them in JSYSA.


                               [End of TCO 6.1947]
                               TCO-number:  6.1951



Written-by:  PAETZOLD                         Creation-date:  24-Jan-84 14:07:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKLP




Problem:  

ILLUUO from KLPRST from KLPCHK from PHYCHK.

Diagnosis:  

doing a return to a stack location.

Solution:  

move a push in klprst around.


                               [End of TCO 6.1951]
                               TCO-number:  6.1952



Written-by:  MCCOLLUM                         Creation-date:  24-Jan-84 14:15:24
Edited-by:   MCCOLLUM                         Edit-date:      24-Jan-84 22:30:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	alocrs




Problem:  
ASGREQ BUGCHKs.


Diagnosis:  
Routine ALOCRS soed not pass a pool number to ASGRES due to a typo.


Solution:  
Fix typo so ALOCRS requests from general pool.



                               [End of TCO 6.1952]
                               TCO-number:  6.1954



Written-by:  PAETZOLD                         Creation-date:  25-Jan-84 10:08:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	MEXEC	STG	globs




Problem:  

NODDMP and NOCHKR BUGHLTs are too sensitive.

Diagnosis:  

HSCs take a long time to do anything.

Solution:  

Make them BUGCHKs.  After a number of them (DDPMAX or CHKMAX) issue a
DDMPNR or CHKRNR BUGHLT.


                               [End of TCO 6.1954]
                               TCO-number:  6.1955



Written-by:  LOMARTIRE                        Creation-date:  26-Jan-84 12:54:21


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	SWPALC


Related-SPR:  	 18481



Problem:  ASGSW2 BUGHLTs when swap space is exhausted.

Diagnosis:  Whenever multiple pages are to be swapped to disk for the various 
forms of garbage collection, routine SWPOMG is called.  This routine calls 
DRMAM in order to get the starting drum address of the contiguous group 
of pages.  DRMAM returns plus one upon success with the address in T2. 
However, it also returns plus one upon failure; this being when DRMFRE is 
zero.  SWPOMG is not prepared for a failure and tries to assign the drum 
page it thinks is returned in T2.  This leads to the ASGSW2 BUGHLT.

Solution:  First, fix DRMAM to return plus one upon failure and plus two 
upon success.  Allow SWPOMG to handle the failure return by printing a new 
BUGCHK, called SMGFUL, and then returning.  This is similar to how the 
routine to swap out a single page (SWPOUT) handles DRMFRE=0; it produces a 
DRMFUL BUGCHK.


                               [End of TCO 6.1955]
                               TCO-number:  6.1958



Written-by:  PRATT                            Creation-date:  26-Jan-84 18:13:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  

If a user issues a queue jsys setting the "Don't wait for response"
bit, OPR reports that it received a message from job 0, not the users
job.



Diagnosis:  

The queue jsys creates a pid when it sends the ipcf packet to galaxy.
If the user sets the "no response" bit the monitor deletes the pid
right after the packet is sent and returns to the user.

Galaxy receives the packet and does an MUTIL jsys to find out the users 
job number.  Because the monitor has already deleted the pid, the error 
return is taken and galaxy defaults the job to 0.


Solution:  

Redefine the .QJMB2 to be .QJJOB which is not used by galaxy for the 
queue jsys. Galaxy will then use this job number if the MUTIL fails.

Note: Other relevant info such as the user #, connected directory, privs,
can still be obtained from the ipcf packet.



                               [End of TCO 6.1958]
                               TCO-number:  6.1959



Written-by:  MCINTEE                          Creation-date:  27-Jan-84 14:23:20
Edited-by:   MCINTEE                          Edit-date:      30-Jan-84 11:56:59


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GLOBS	MONSYM	FILMSC	TTYSRV




Problem:  There is a need for programs that do NVT protocols to be enable
for a two character escape sequence.
Diagnosis:  No code
Solution:  Implement it. New terminal code, .TITCE. New MTOPR% functions for
TTY: - .MOTCE, .MORTC.

                               [End of TCO 6.1959]
                               TCO-number:  6.1962



Written-by:  PURRETTA                         Creation-date:  31-Jan-84 14:13:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GETSAV




Problem:  At GTSVID, the GET jsys uses DVCHR without checking for an
error returned by DVCHR.  It is possible for the DVCHR to fail if it
was passed a bad JFN argument.

Diagnosis:  Some error checking needs to be done.

Solution:  Put an ERJMP after the call to DVCHR.
Make GTSVID return +1 on error, +2 ok
ITERR after calls to GTSVID


                               [End of TCO 6.1962]
                               TCO-number:  6.1963



Written-by:  MOSER                            Creation-date:   1-Feb-84 17:30:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:   Monitor utility subroutine, ASGVAS, will crash the system if
bit AV%LOK (lock pages in memory) is supplied in the flags word.

Diagnosis:   ASGVAS assumes that T1 is preserved across a call to MLKPG. It
isn't. ASGVAS also tries to get 1000 times the number of pages requested
because it forgets that the size of the block to aquire is in words not
pages.

Solution:   Save / restore T1. Divide by 1000 before looping.


                               [End of TCO 6.1963]
                               TCO-number:  6.1964



Written-by:  PALMIERI                         Creation-date:   2-Feb-84 18:17:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ENQ	STG




Problem:  Monitor runs out of ENQ free space.

Diagnosis:  Long term locks that are not in use are not being garbage collected.
Problem started when the long term list pointer was changed from a half
word pointer to a full word pointer.  The code is now comparing a half
word address to a full word address, which of course doesn't work.

Solution:  Do full word compare.  Also, fix up references to ENQLTL.  This
word was originally only a forward list pointer, so there is no need to
maintain a backward list pointer.


                               [End of TCO 6.1964]
                               TCO-number:  6.1966



Written-by:  PRATT                            Creation-date:   8-Feb-84 13:00:58


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	MONSYM	IPCF




Problem:  

Galaxy needs a way to verify that a Queue jsys BUGCHK/INF message
actually came from the monitor or from a user program. Currently 
there is no way to pass that information using QUEUE or IPCF.


Diagnosis:  

Solution:  

Define a new bit in the IPCF packet flag word called IP%MON. This
bit will be set by QUEUE whenever the monitor does a queue jsys. 
Other code in the monitor could take advantage of this bit but
doesn't have to. The MSEND code will verify that only the monitor 
has set this bit.



                               [End of TCO 6.1966]
                               TCO-number:  6.1970



Written-by:  TGRADY                           Creation-date:  15-Feb-84 11:15:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DATIME




Problem:  
TCO 6.1918 bug causes an error in ODTNC when user specified a two digit
year (less than 100).


Diagnosis:  
Check for two digit year does a JRST into a literal to add 1900 to it.
It doesn't JRST out of that literal, but falls through to the next one,
which luckily is an error return.


Solution:  
Add a JRST .+1 at the end of the first literal in routine CKYMDT.



                               [End of TCO 6.1970]
                               TCO-number:  6.1972



Written-by:  MCCOLLUM                         Creation-date:  16-Feb-84 16:05:37


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	monsym	MAGTAP




Problem:  
If the serial number given in AC 2 of a call to MTALN% does not match any of
the drives on the system, MTALN% does not return a valid error code


Diagnosis:  
MATLN% does an ITERR with no argument, but AC 1 is not set up with an error
code.


Solution:  
Add the error "MTNX01 - serial number not found" to MONSYM and use it in MTALN%.
This error should be added to the MTALN% documentation



                               [End of TCO 6.1972]
                               TCO-number:  6.1975



Written-by:  GROSSMAN                         Creation-date:  20-Feb-84 22:43:32


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG




Problem:  Too many junk symbols.

Diagnosis:  BUG. generates local, suppressed symbols which are not needed after
assembly time.

Solution:  PURGE the symbols after they are defined during pass 2.

This and the previous TCO were applied to APRSRV, CFSSRV, PAGEM, PAGUTL and
NISRV.  Approximately 40 to 50 generated labels were deleted from each
module.


                               [End of TCO 6.1975]
                               TCO-number:  6.1976



Written-by:  CJOHNSON                         Creation-date:  21-Feb-84 12:02:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN




Problem:   If a system has a non-PS: public structure, then the DSK*: wildcard
is broken.  (It works within a logical name.)

Diagnosis:   The code at STRDEV in GTJFN assumes the public structure name is
PS:.

Solution:   Make STRDEV determine the public structure's name.


                               [End of TCO 6.1976]
                               TCO-number:  6.1983



Written-by:  PURRETTA                         Creation-date:  28-Feb-84 13:29:10


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR


Problem:  Supported memory sizes for TOPS-20 release 6.0 monitors need to be 
updated in the parameter files.
Diagnosis:  Release 6.0 supports up to 3 meg of core.

Solution:  Update the parameter files to 3 meg.


                               [End of TCO 6.1983]
                               TCO-number:  6.1993



Written-by:  CJOHNSON                         Creation-date:   7-Mar-84 11:50:36
Edited-by:   CJOHNSON                         Edit-date:      19-Mar-84 11:34:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  
 When processing phase one of a terminal interrupt, if the given
interrupt is not setup in any of the top fork's
(at PSIT1) inferior forks, and the terminal is not the
job's controlling terminal, the
monitor crashes with ILMNRF at LCKTT+1.

Diagnosis:  
 PSIT13 calls CLRINT but there is a path to PSIT13 that does not set up
T2, which CLRINT expects to contain the line number.

Solution:  
 Make the path setup T2 to contain the line number.


                               [End of TCO 6.1993]
                               TCO-number:  6.1997



Written-by:  TGRADY                           Creation-date:  14-Mar-84 10:04:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:  
DVCHR% Jsys returns the wrong job number of device assigner.


Diagnosis:  
DVCHR% is not translating local job index to global job number, yet.


Solution:  
Add calls to LCL2GL to translate job index before returning it.



                               [End of TCO 6.1997]
                               TCO-number:  6.1998



Written-by:  TGRADY                           Creation-date:  14-Mar-84 10:11:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  
The EXEC command to log out another job gets confused, and returns an error
that you can't log yourself out by specifying a job number, even though the
job number that was specified really wasn't our own.


Diagnosis:  
LGOUT% Jsys compares the specified job number to the caller's job number, but
instead of comparing it to the global job number in GBLJNO, it compares it
to the local index, JOBNO.  Whenever the job to be logged out happens to have
a global job number equal to the callers local job index, the jsys fails.


Solution:  
At ELOGO, change the compare to look at GBLJNO.



                               [End of TCO 6.1998]
                               TCO-number:  6.1999



Written-by:  TGRADY                           Creation-date:  14-Mar-84 10:17:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV	STG




Problem:  
Non-CFS monitors break in various attempts to use GETJI% and friends.


Diagnosis:  
The symbol MXGLBS is returned to applications as the highest legal job
number.  MXGLBS is always defined as 511., which for non-CFS monitors
is about 383 too much.  Applications that loop through the GETAB tables,
or call GETJI% for information about the errant job numbers receive unexpected
'Invalid Job number' errors, and usually blow up.


Solution:  
Conditionally assemble MXGLBS in STG to be 511. for CFS monitors, and to
equal NJOBS for non-CFS monitors.  In CFSSRV, change GL2LCL to always use
the symbol MXGLBS for rannge checking the job number to be converted, since
MXGLBS will now be properly defined.



                               [End of TCO 6.1999]
                               TCO-number:  6.2001



Written-by:  TGRADY                           Creation-date:  15-Mar-84 17:44:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:  
CFSILJ BUGCHK's caused by DVCHR% Jsys.


Diagnosis:  
DVCHR% gets the assigning job index for each device from the left half of
DEVUNT(n), and calls LCL2GL to translate it into a global job number.  Devices
that aren't assigned have a -1 in the left half.  LCL2GL expects to be
handed a number from 1 to NJOBS, and so BUGCHK's with CFSILJ - illegal job
number.  The error return is taken, and DVCHR returns the right thing, but
this can cause thousands of BUGCHK's, since everyone in the world uses it.


Solution:  
Check for negative number in left half before calling LCL2GL, don't do
anything if it's negative.



                               [End of TCO 6.2001]
                               TCO-number:  6.2003



Written-by:  MOSER                            Creation-date:  19-Mar-84 16:50:02
Edited-by:   MOSER                            Edit-date:      26-Mar-84 14:10:11


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	watch	MEXEC	monsym




Problem:   WATCH cannot find a jobs local job index and cannot correlate
SNOOP data with any global job.

Diagnosis:   No way to do so.

Solution:   Add a new GETJI function, .JILJI (Local Job Index).


                               [End of TCO 6.2003]
                               TCO-number:  6.2005



Written-by:  CJOHNSON                         Creation-date:  21-Mar-84 14:26:03


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIRECT


Related-SPR:  	 17074



Problem:   When performing lookups on directories, attempting recognition using
valid partial fields occasionally results in a "?No such directory"
error.  Such failures occur only with certain unfortunate arrangements
of the superior directory's symbol table (and deficiencies in the
binary search algorithm used).


Diagnosis:   The lookup routine has a 'feature', wherein if an exact filename
match is typed, and recognition is attempted, any exact match will
result in name recognition, even if it is in reality an ambiguous
entry.  When looking up directories, this 'feature' can cause a
successful return from the lookup code, whereupon the directory lookup
code scans the types and generations of the exact match filename,
finds no directory files, and produces the specified error.


Solution:   Make the lookup routine sensitive to the fact that its looking for a
directory, and have it scan types and generations before returning an
"exact match" status.  If no directories appear in the file list,
treat this situation as a partial match, so recognition will ding.
THIS IS A HACK, THE CODE SHOULD BE RE-WRITTEN.


                               [End of TCO 6.2005]
                               TCO-number:  6.2009



Written-by:  NICHOLS                          Creation-date:  23-Mar-84 16:36:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  Many NSPBAD BUGINFs when plugged into a Phase IV DECnet network.

Diagnosis:  Phase IV retransmitted connect initiate messages are being
reported as bad messages.

Solution:  Before reporting a message as bad, check to see if its a
retransmitted CI, and if so, toss the message without complaining.

Also, keep the most recent message which caused an NSPBAD BUGINF so
that it will be easier to debug these problems in the future.  Pointer
to kept bad message is in BADMSP.


                               [End of TCO 6.2009]
                               TCO-number:  6.2011



Written-by:  LEACHE                           Creation-date:  26-Mar-84 10:31:33
Edited-by:   PURRETTA                         Edit-date:      25-Apr-84 15:08:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	BOOT




Problem:  -

Other systems cannot access a dual-ported RP04567 while BOOT is reading from
or writing to it.
Diagnosis:  -

BOOT categorically seizes the port and the other system never has access to it.
Solution:  -

Have BOOT release the port after each IO operation, and conditionally (based
on the drive's availability) re-seize the port immediately before the next
seek begins.  A timeout value is used to prevent BOOT from endlessly attempting
to seize a stuck port.

                               [End of TCO 6.2011]
                               TCO-number:  6.2023



Written-by:  MOSER                            Creation-date:   9-Apr-84 14:41:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	MEXEC	JSYSA




Problem:   The monitor inconsistently handles some error returns.

Diagnosis:   The monitor does not support ERCAL but there is code scattered
throughout the monitor to half support ERCAL. There is also code in the
monitor which depends upon ERCAL. The monitor also incompletly supports
the new error return formats ERJMPS and ERJMPR. They are supported for
JSYSes but not for page faults.

Solution:   Remove all vestiges of ERCAL support and dependencies from the
monitor. Completly support all 3 ERJMP flavors.


                               [End of TCO 6.2023]
                               TCO-number:  6.2025



Written-by:  MOSER                            Creation-date:  10-Apr-84 14:30:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:   MOUNTR explodes when a "Three ported disk" appears on the system.

Diagnosis:   The monitor suppresses information for the .MSRNU call of MSTR
for any secondary disk path. It forgets about the 3-ported disk case and
in fact does not work for any dual path disk with a controller field
that isn't -1.

Solution:   Move the check for dual access paths to common code. Add check
for 3-ported disk.


                               [End of TCO 6.2025]
                               TCO-number:  6.2026



Written-by:  MOSER                            Creation-date:  11-Apr-84 19:28:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:   ILLUUO Bughlts.

Diagnosis:   KIMXCT is broken AGAIN. This time it is because of a microcode
bug fix. This routine is a major hack anyway and needs to be changed.

Solution:   Remove KIMXCT and all of it's strange returns. Handle all
instructions consistently. Don't expect an opcode of zero for failing byte
instructions.


                               [End of TCO 6.2026]
                               TCO-number:  6.2027



Written-by:  TBOYLE                           Creation-date:  11-Apr-84 21:58:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SYSERR	APRSRV	STG	GLOBS




Problem:  No counters present to provide data on lost BUGHLTs,
SYSERR stuff, and running BUGCHKs if such should occur.

Diagnosis:  When ALCSEB fails to have enough resident space
available for a request, which is often the case lately,
it drops the data on the ground.

Solution:  Make three counters

ALCLST counts failures from ALCSEB
BUGLST counts failures from ALCSEB in the BUG logging code.
SYELST counts failures from ALCSEB in the SYER% JSYS code.

This should give us a feel of how badly we are doing..


                               [End of TCO 6.2027]
                               TCO-number:  6.2032



Written-by:  TGRADY                           Creation-date:  12-Apr-84 15:49:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  
When SET BATCH BACKGROUND is used, batch jobs don't get set in the Dregs
queue.  Instead, random non-batch jobs get put in the Dregs instead.


Diagnosis:  
The scheduler uses SJPRI% to set jobs in the Dregs, but calls SJPRI% with
the local job index instead of the global job number.  This tends to set
random jobs in the dregs, regardless of whether they are batch jobs or not.


Solution:  
In SETCLS, get the job number to set in the dregs queue from GBLJNO
instead of JOBNO.  In SKDRDQ, call LCL2GL to convert the job index
to global job before using it to set the job in the dregs.



                               [End of TCO 6.2032]
                               TCO-number:  6.2033



Written-by:  TBOYLE                           Creation-date:  12-Apr-84 17:03:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  BUGHLTs, BUGCHKs, BUGINFs tend to get lost at times.

Diagnosis:  The size of the general resident pool used exclusively for
this sort of stuff can only hold 10. The problem is that nowadays
BUGxxx's come in spurts of large amounts at once and can easily
saturate this small amount of space. The code also never retries,
it just drops stuff off the table.

Solution:  Increase the space a bit temporarily for this release. A
better fix such as using extended space, and other hacks are necessary
asap. For now increase to 6 pages by quaddrupling .RESGP. This will 
still leave 19 pages left in the biggest monitor build possible
CFS60:ARPCFS. There will now be room for 40 BUGxxx's and/or other
SYSERR entries.


                               [End of TCO 6.2033]
                               TCO-number:  6.2034



Written-by:  MCLEAN                           Creation-date:  13-Apr-84 21:48:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-TCO:  	6.1409



Problem:  FLKINT'S on first SMON to setup ACJ.
Diagnosis:  The Smon does a SJPRI JSYS while NOINT
Solution:  Make OKINT not necesary here.

                               [End of TCO 6.2034]
                               TCO-number:  6.2035



Written-by:  GROSSMAN                         Creation-date:  17-Apr-84 06:37:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	STG	monsym	SETSPD




Problem:  Users cannot set Ethernet address.

Diagnosis:  No code to do it.

Solution:  Create a new SMON% function.  The calling sequence is:

call:	MOVEI 1,.SFSEA			; Set Ethernet Address
	MOVEI 2,channel_number		; Always zero for now
	MOVE 3,[POINT 8,ADDR]		; Byte pointer to 6 byte Ethernet address
	SMON%
;...
ADDR:	BYTE (8) 2,3,4,5,6,7		; Arbitrary string of 6 bytes.  Cannot
					; be a multicast address.



                               [End of TCO 6.2035]
                               TCO-number:  6.2037



Written-by:  MOSER                            Creation-date:  17-Apr-84 14:21:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	PROLOG




Problem:   Hung system.

Diagnosis:   A job in the dregs queue has a global system lock and will not
run.

Solution:   Add CRSKED and ECSKED to LOKK and UNLOKK macros. Change CORFCT
to boost CRSKED forks to a higher priority than non all other forks except
NOSKED forks.


                               [End of TCO 6.2037]
                               TCO-number:  6.2038



Written-by:  MOSER                            Creation-date:  17-Apr-84 14:40:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MSTR




Problem:   Cannot create a 2 pack bootable public structure using CHECKD if
the structure name is not PS:. Booting from this structure always asks
for the name of the structure.

Diagnosis:   MSTR does not correctly compute the address of the serial number
word for 2 (or more) pack structures.

Solution:   Look at the correct word in the argument block.


                               [End of TCO 6.2038]
                               TCO-number:  6.2041



Written-by:  TGRADY                           Creation-date:  24-Apr-84 10:11:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV




Problem:  
ILSPTI BUGHLT's on Non-CFS monitors, usually from a GETJI% Jsys calling
GL2LCL (in CFSSRV) with a job number greater than NJOBS.


Diagnosis:  
On Non-CFS monitors, Global job number translation routines are dummy
routines, but GETJI and friends depend upon correctly translating a
job number greater than NJOBS, even on Non-CFS monitors


Solution:  
Take out conditional assembly switches in CFSSRV routines that handle
the Global Job numbers data structures, including CFGTJB, JBAVAL, JBGET1,
GL2LCL, and LCL2GL.  Non-CFS systems simply will always use the low job
numbers, but GETJI% can still get the expected results (i.e. an error
code) from calls to the translation routines.



                               [End of TCO 6.2041]
                               TCO-number:  6.2042



Written-by:  TGRADY                           Creation-date:  24-Apr-84 10:21:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  
CFSILJ BUGCHK's caused by GETJI% using .TTDES+terminal number (400000+n).


Diagnosis:  
GETJI% occasionally calls LCL2GL with a job index in T1 that also has bit
one set to indicate that the terminal is assigned by this job.  LCL2GL doesnt
take this well, BUGCHK's, and also returns 'no such job' to GETJI%.


Solution:  
Call LCL2GL with only the right half of the job index, and restore the flag
upon return from the call.



                               [End of TCO 6.2042]
                               TCO-number:  6.2044



Written-by:  MOSER                            Creation-date:  24-Apr-84 13:27:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:   PAGLCK, PLKMOD, PTNIC1 and PSBNIC BUGHLTs. Possibly others.

Diagnosis:   When a user runs MDDT it creates 2 private pages which are mapped
indirect through the PSB at PSBBAS. When these pages are created they are
shown as being owned by PSBBAS. When these pages get old they are put on the
RPLQ and reused. The owning page tables lock count is decremented BUT at that
time PSBBAS probably contains the wrong PSB and that PSB is then erroneously
unlocked. This is bad news.

Solution:   At GETTPD when tracing indirect pointers check the SPT index
against PSBBAS if it matches change it to be FKPSB of the running fork.


                               [End of TCO 6.2044]
                               TCO-number:  6.2045



Written-by:  TBOYLE                           Creation-date:  24-Apr-84 13:52:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC




Problem:  Files can appear to have never been read.


Diagnosis:  If a user opens a file for read and write access, only
the write access date is updated.


Solution:  Change the code at OPENF0 in the DSKOPN code to update
the reference date if read access is given and read access was
also requested.


                               [End of TCO 6.2045]
                               TCO-number:  6.2047



Written-by:  LOMARTIRE                        Creation-date:  25-Apr-84 11:42:34
Edited-by:   LOMARTIRE                        Edit-date:      27-Apr-84 11:23:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV


Related-SPR:  	 19811



Problem:  KPALVH BUGHLTs.
Diagnosis:  TTYSRV can be entered at PI level 6 via a CALL TTYDED from CLRSAL.
TTYDED does NOSKED and then OKSKED, and a XCT RSKED is done.  If the scheduler 
tried to run while TTYDED was NOSKED, then XCT RSKED will send you to RSKCH1.
Here you will initiate the channel 7 request and wait at a JRST . for the 
interrupt to take.  But you are at level 6 and the interrupt will never happen.
Solution:  Put a CONSO PI,77000 before the NOSKED and OKSKED in TTYDED so that 
they will not be done at PI level.

                               [End of TCO 6.2047]
                               TCO-number:  6.2048



Written-by:  MCLEAN                           Creation-date:  25-Apr-84 14:22:45


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MSTR




Problem:  MSTR did not return an error on get next unit but it didn't work
either

Diagnosis:  Not enough pages in JSB caused an error to occur but user
got successful return.
Solution:  Return error code already generated MSTRX4 and Itrap.


                               [End of TCO 6.2048]
                               TCO-number:  6.2051



Written-by:  LEACHE                           Creation-date:  29-Apr-84 17:25:06
Edited-by:   LEACHE                           Edit-date:       2-May-84 08:51:09


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	BOOT	MTBOOT




Problem:        
	Depending on configuration, it can take an order of magnitude longer
	for monitor startup to occur when the monitor has been loaded with
	MTBOOT.

Diagnosis:        
	The channel initialization code for certain channels with RP20
	DX20's repeatedly times out, significantly slowing up system
	startup.  When the system finally does come up, the RP20's in
	question are not available until DX20LD is run for the parent DX20.

	As it turns out, MTBOOT successfully loads and start all DX20's on
	the system prior to beginning its search for a loaded mag tape unit.
	Part of this search includes doing a MASSBUS reset for each channel
	and (as a side affect of this) the DX20 micro-processor is halted.
	MTBOOT takes this into account and restarts the DX20 when the units
	on that channel are identified.  Unfortunately, the restart code was
	never updated to include the (then) new device type for RP20 DX20's.
	Thus, if MTBOOT terminates its mag-tape search on channel N, all RP20
	DX20's on channel N-1 and below will be halted when the system
	comes up.

Solution:        
	Include RP20 DX20's in MTBOOT's DX20 restart logic.


                               [End of TCO 6.2051]
                               TCO-number:  6.2052



Written-by:  LEACHE                           Creation-date:  29-Apr-84 18:24:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FREE




Problem:    
	Interrupt routines can sometimes be allocated a block of resident
	freespace that has not been completely deallocated.

Diagnosis:    
	The resident freespace deallocator tries to be gracious and not
	be PIOFF overly long when it is playing with the bit table.
	As a result, it is PION when it returns from the routine that
	plays with the bit table and still PION when it attempts to extract the
	pool number and block size from the nearly deallocated block.
	Unfortunately, an interrupt-level routine may have already
	been allocated that block and may have destroyed the original pool
	number and/or blocksize.

Solution:    
	Save the pool number and block size in STKVARs before we enter
	the critical window and call CLRBTS.  Likewise, clear the block-in-use
	bit before the call to CLRBTS.


                               [End of TCO 6.2052]
                               TCO-number:  6.2055



Written-by:  TBOYLE                           Creation-date:   7-May-84 13:12:12
Edited-by:   TBOYLE                           Edit-date:      10-May-84 16:56:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SYSERR




Problem:    SYSERR sequence numbers don't work in several of the algorithms
that we have tried.

Diagnosis:    Bad approaches.

Solution:    We will approach the problem as TOPS-10 does. The SYSERR fork
will maintain the last value of the SPEAR sequence number inside the
SPEAR EOF word at the end of the file. This is accomplished by having
ALCSEB provide room for one extra word which will be the Internal EOF
value with the SPEAR sequence number in it. Before the fork writes a
SYSERR entry to the file, it will back up and overwrite the old EOF value,
insert the new EOF value at the end of the SYSERR block and output it.

 At system startup, SEBOFI will read the value out of the end of the
file, see if it is valid and if so stash it. If the value is garbled,
we reset to zero. Hence, we are guaranteed ascending sequence numbers
for any given file, and also accross files if the file is renamed or
removed while the system is still up.


                               [End of TCO 6.2055]
                               TCO-number:  6.2057



Written-by:  MOSER                            Creation-date:   9-May-84 17:03:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:   Long files opened with OF%DUD which are shared may be updated
with changes even when the users remove those changes using PM%ABT flavor
of PMAP. 

System performance is also bad. Pages are being written to disk unnecessarily
and removed from core when they ar still valid.

Diagnosis:   CFS added some code to ASGOFN (and friends) to throw away
local copies of file pages for files opened OF%RDU whenever anyone
opened that file normally. Unfortunatly this code does not understand
long files and often does needless work.

Solution:   Short term: Don't call UPDPGX from ASGOFN if any of the following
are true:

1. This OFN is a super index block.
2. This OFN has write access.
3. This OFN is open normally (not OF%RDU)

Also rewrite ASGOFN somewhat.

Long term: DO NOT CALL UPDPGX UNNECESSARILY. The algorithm for this has
yet to be determined but it basically boils down to only calling it
on the first normal open AFTER an unrestricted open which is still in effect.


                               [End of TCO 6.2057]
                               TCO-number:  6.2058



Written-by:  MOSER                            Creation-date:  10-May-84 11:30:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:   OF%DUD and PMAP interact in strange ways. A PMAP unmap of a file
page sometimes updates the changed contents of the page to disk even if DUD
was set. Users would expect one of the 2 following behaviors:

1. Unmap of a DUD file page without PM%ABT would update the changed contents to
disk.

2. The same thing would not. Note that this is the only way to make OF%DUD
work with the non-PMAP IO JSYSes such as SOUT,BOUT and ROUT. This would allow
the user to change a file page, unmap it, remap the changed page and erase the
changes using PM%ABT.

Diagnosis:   The code does different things depending on the page pointer type.
If the page has an indirect pointer we get behavior 2. For a share pointer we
get behavior 1.

Solution:  Behavior 2 is more desirable so make both pointer types exhibit that
behavior.


                               [End of TCO 6.2058]
                               TCO-number:  6.2059



Written-by:  MOSER                            Creation-date:  10-May-84 11:46:37
Edited-by:   MOSER                            Edit-date:      30-May-84 19:56:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	GLOBS	FORK




Problem:   The TOPS-20 EXEC cannot be protected EXECUTE ONLY in 2 senses:

1. Any user can copy the EXEC regardless of it's protection.
2. BATCON cannot start jobs if the EXEC is protected EXECUTE ONLY.

Diagnosis:   The first problem is caused by the monitors handling of new
jobs. All jobs are created as enabled Wheels thus the GET of the EXEC always
opens the file for READ access, even if EXEC.EXE is protected execute only.
Any user can read pages from JFN 1 and get a copy of the EXEC.

The second problem is caused by a different treatment of CRJOB jobs. CRJOB
created jobs are NOT started as enabled wheels and they cannot GET an EXECUTE
ONLY EXEC because the monitor destroys the top forks virginity by doing an
AIC before the GET of the EXEC. Also CRJOB does not correctly report the error
to the creator (unless the creator gets scheduled strangly (don't ask)).

Solution:  Restore the virginity of the top fork (disproving several old adages)
before the GET of the EXEC. Make the GET happen while the fork is not enabled.
Fix the CRJOB code to return the correct error if the GET of the EXEC fails.


                               [End of TCO 6.2059]
                               TCO-number:  6.2060



Written-by:  MOSER                            Creation-date:  10-May-84 13:05:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND	NSPSRV	FILMSC	LINEPR




Problem:  Release 6 is slow. It does thousands of unnecessary .MOSFW (Set Field
Width) MTOPRs to TTYs. TTY MTOPRs are slow and so are DECNET MTOPRs and LPT
MTOPRs.

Diagnosis:  Darwin Hatheway discovered that the above MTOPRs are handled by
searching a half word table of function,,address. The functions could
be done much more readily by dispatching through a table indexed by function
number. Also COMND does many needless .MOSFW functions. A simple compare
instruction could eliminate many of these.

Solution:  Fix the dispatches and COMND to be more efficent.


                               [End of TCO 6.2060]
                               TCO-number:  6.2061



Written-by:  MOSER                            Creation-date:  10-May-84 14:28:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  TOPS-20 is too slow.

Diagnosis:  TOPS-20 does lots of NOSKED page faults. Some of these are
unnecessary such as the one in SFORK3 which references CTTAB. It can be
done OKSKED if the fork lock is locked which it is.

Solution:  Move OKSKED up 2 lines near SFORK3. This prevents about 4000
NOSKED page faults per day on GIDNEY.


                               [End of TCO 6.2061]
                               TCO-number:  6.2065



Written-by:  EVANS                            Creation-date:  11-May-84 14:59:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  	Garbage is sometimes put in the node name field of an accounting
header record.
Diagnosis:  	In JSYSA, LLSR(P1) is used to point to the node name. This is incorrect; LLSR contains the node name, there is no need for an index register.
Solution:  	Eliminate index register in instruction.

                               [End of TCO 6.2065]
                               TCO-number:  6.2067



Written-by:  MCLEAN                           Creation-date:  22-May-84 22:08:15
Edited-by:   MCLEAN                           Edit-date:      22-May-84 22:11:14


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP4	phyp2	DSKALC	phymsc	PHYSIO




Problem:  HSC50'S are Page Mode disks but they are addressed in Sector mode.
Because the monitor thinks they are addressed in Page Mode they have the
home blocks in the wrong place.
Diagnosis:  Tony did only 1/2 the work to make them work correctly.
Solution:  Add DOP%PS to DSKOP JSYS to indicate that the address is a
Physical Sector address not a Page/Sector address.  Use of this bit
will only make a difference on HSC50 disks where the Physical mapping
and the Virtual mapping don't match.

                               [End of TCO 6.2067]
                               TCO-number:  6.2068



Written-by:  GRANT                            Creation-date:  24-May-84 09:07:01
Edited-by:   GRANT                            Edit-date:      24-May-84 09:12:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:      DECnet is hung.

Diagnosis:      DECnet is in a deadly-embrace;  it has used all of its resident
	free space quota, mainly for messages which have been sent and are
	waiting to be ACKed but ACKs can't be received because there is no
	space for them.

Solution:      Establish a free space threshold large enough to allow room for
	a few full-size messages.  If we are below the threshold, reject all
	requests for space for outgoing messages.  Also, accept all incoming
	messages but immediately toss anything but an ACK (or a data message
	with an imbedded ACK).  Anything tossed will get retransmitted by the
	sender and processing the ACKs should free space.

	When space is low, i.e. we've reached the threshold, existing DECnet
	links will continue to run but attempts to open new connections will be
	rejected.


                               [End of TCO 6.2068]
                               TCO-number:  6.2069



Written-by:  MOSER                            Creation-date:  25-May-84 14:54:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:   Fork Garbage collection has not worked since we moved the CSTs
to a non-zero section.

Diagnosis:  The monitor has the page lock mask in AC T1 but it tries to
use this AC to index the CSTs. It always looks at page 0 which never gets
garbage collected. The monitor loops NHIPG times and never does any useful
work. If page 0 wasn't always locked we would get WSPNEGs and crash alot.

Solution:  Restore page number to T1 before using it for an index. This should
be somewhat of a performance win.


                               [End of TCO 6.2069]
                               TCO-number:  6.2070



Written-by:  TBOYLE                           Creation-date:  29-May-84 16:40:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:  After RESET% JSYS is called, LSTERR can get overwritten with
an "Undefined JSYS" error.

Diagnosis:  CLZFF% also called RELIQ% which is an undefined JSYS in
a non arpanet monitor.

Solution:  Check the value of NETN and call RELIQ% only when appropriate.


                               [End of TCO 6.2070]
                               TCO-number:  6.2071



Written-by:  MOSER                            Creation-date:  30-May-84 10:25:52
Edited-by:   MOSER                            Edit-date:      30-May-84 10:58:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	CDPSRV	GLOBS


Related-QAR:  	706008



Problem:     Cannot LINK a monitor when PCDPN (number of physical card punches)
is set to zero and CDPN (number of spooled card punches) is non-zero.

Diagnosis:     PICALL MACRO cannot work correctly because it looks at CDPN and
calls CDPSV CDPN is the wrong parameter.

Solution:     Look at PCDPN and rename CDPSV to PCDPSV for consistency.


                               [End of TCO 6.2071]
                               TCO-number:  6.2072



Written-by:  MOSER                            Creation-date:  30-May-84 11:13:24


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	JSYSA	GLOBS


Related-QAR:  	706021	706023



Problem:   New password algorithm cannot be enabled using PARAM0. The
code is in JSYSA not STG.

Diagnosis:   Oversight.

Solution:   Change PSPNTP to a NDG in STG.


                               [End of TCO 6.2072]
                               TCO-number:  6.2073



Written-by:  CDUNN                            Creation-date:  30-May-84 13:58:21
Edited-by:   CDUNN                            Edit-date:      30-May-84 14:07:01


Edit-checked:         Yes    Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCSJSY


Related-QAR:  	706033



Problem:    RESBAZ BUGCHKs sometimes followed by ILMNRF BUGHLTs

Diagnosis:    Routine SCSDEQ did not correctly update the queue FLINK when
		deleteing the first entry from a queue with more than one
		entry.

Solution:    Fix SCSDEQ to update the FLINK rather than the BLINK when deleteing
		the first entry from a queue with more than one entry.


                               [End of TCO 6.2073]
                               TCO-number:  6.2075



Written-by:  TBOYLE                           Creation-date:  30-May-84 17:33:53
Edited-by:   TBOYLE                           Edit-date:      15-Jun-84 12:59:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  PDVOP% JSYS unable to return the program name when used
in an extended section even if EFIW pointer is used.

Diagnosis:  The code was not made to handle EFIW's. At the moment
it makes a pointer of value 0,,addr behave as an EFIW. The truth
is that 0,,addr should not be interpretted as section relative
but as a global pointer to section zero.

Solution:  Add a routine to FORK to do the correct address calculation.



                               [End of TCO 6.2075]
                               TCO-number:  6.2076



Written-by:  TGRADY                           Creation-date:   1-Jun-84 17:53:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  
Empty accounting session records, and a funny second session runtime output
on logout.


Diagnosis:  
Edit 3865 to JSYSA added a call to LOGCJM in SJBSRM.  This caused the SETJB%
Jsys to create a new session record when the .SJSRM function was used to set
the session remark.  The EXEC uses this call right after login to set the
session remark, but the LOGIN Jsys already created a session record, albeit
an empty one.  The EXEC SETJB% writes the old one, creates a new one, and
generally confuses things.


Solution:  
Remove edit 3865.



                               [End of TCO 6.2076]
                               TCO-number:  6.2077



Written-by:  TGRADY                           Creation-date:   1-Jun-84 17:59:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  
SYSDPY, and lots of other people, depend on GETAB% to return a -1 when
a non-existant job number was specified.  What they're getting is an
error code, which lots of times looks like read data (e.g. job runtime)


Diagnosis:  
Engineer brain damage.


Solution:  
In GTJOB, if the call to GL2LCL returns +1, then there must not be any such
job, so instead of doing a RETBAD(), do a SETO T1, and a RET.



                               [End of TCO 6.2077]
                               TCO-number:  6.2078



Written-by:  SHTIL                            Creation-date:   4-Jun-84 11:07:26
Edited-by:   SHTIL                            Edit-date:       5-Jun-84 15:25:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISK	DELFIL




Problem:      A file that has been opened with OF%RDU can be expunged what
results some file pages become "lost".

Diagnosis:      DELFIL calls ASGOFN which ignores FILUB flag (unrestricted
access),FDB gets expunged ,the file pages mapped become lost.

Solution:      Call CHKOFN before ASGOFN to check whether a file to be
expunged is open.


                               [End of TCO 6.2078]
                               TCO-number:  6.2080



Written-by:  TBOYLE                           Creation-date:   4-Jun-84 13:26:49
Edited-by:   TBOYLE                           Edit-date:       4-Jun-84 13:28:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-QAR:  	706067



Problem:  structure creation does not set TOPS-10 PPN's. It supposed
to do that now.

Diagnosis:  CRDIR% calls FNDPPN to see if the PPN is a duplicate and
ends up zeroing the register with the PPN to set.

Solution:  Since FNDPPN is not supposed to leave the PPN in T2 in this case,
do a UMOVE. PS:This is TCO 2080.


                               [End of TCO 6.2080]
                               TCO-number:  6.2081



Written-by:  TBOYLE                           Creation-date:   4-Jun-84 14:40:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG


Related-QAR:  	706039



Problem:  system-wide magtape default density cannot be set without
editing STG.MAC.

Diagnosis:  Its defined there.

Solution:  Since this might be a common thing to be site-specific. Use
an NDG in STG, so that it could be defined in PARAM0 as are the other
items on PARAM0.


                               [End of TCO 6.2081]
                               TCO-number:  6.2082



Written-by:  TBOYLE                           Creation-date:   4-Jun-84 16:40:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  User's can get around system accounting if they are clever
enough with ^C.

Diagnosis:  The CACCT% JSYS can be aborted after the user account
is changed and before a USAGE session record is logged. The code
is mostly NOINT due to MAPDIR, however, USTDIR is called before
LOGCJM is called.

Solution:  Go NOINT some more before USTDIR and OKINT at the
very end of the JSYS.


                               [End of TCO 6.2082]
                               TCO-number:  6.2083



Written-by:  MOSER                            Creation-date:   4-Jun-84 21:29:00
Edited-by:   MOSER                            Edit-date:      20-Jul-84 16:06:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	MEXEC	GLOBS




Problem:  CHKRNR Bughlts.

Diagnosis:  CHKR crashes because of a device (or some other error). It is never
restarted even though it enabled the MONBK facility. MONBK is only called when
an interrupt occurs on channel 34 or 35. Channel 34 is reserved for ^P and
channel 35 is used for top fork termination. Hence when CHKR (fork 4) gets a
fatal error it never recieves the critical Channel 35 interrupt and never
restarts.

Solution:  Just before storing FORCTM check MONCHN for enabled channels. If
MONCHN is non-zero issue a channel 35 interrupt.


                               [End of TCO 6.2083]
                               TCO-number:  6.2086



Written-by:  MOSER                            Creation-date:   5-Jun-84 16:49:33
Edited-by:   MOSER                            Edit-date:       7-Jun-84 17:03:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	GLOBS	FORK	DIRECT




Problem:     SHROFN Bughlt. Ofn is found to be <ROOT-DIRECTORY>INDEX-TABLE.BIN.

Diagnosis:     Index file of last structure with a directory mapped
is never unmapped. Lots of LOGIN/LOGOUT makes the share count for PS: index
table overflow.

Solution:    Call UNMIDX instead of UNMAPD at KSELF and HLTJOB.


                               [End of TCO 6.2086]
                               TCO-number:  6.2087



Written-by:  EVANS                            Creation-date:   6-Jun-84 12:39:25
Edited-by:   EVANS                            Edit-date:      27-Nov-84 14:57:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:      	[S] When an attempt is made to expunge an unmounted structure, the "Structure Not Mounted" message is displayed for every directory. 
In addition, it is possible to get a DIR of <ROOT-DIRECTORY> of an unmounted structure.

Diagnosis:      	[D] The edit to prevent expunge of unmounted structures was put
in the DELDF JSYS code. The EXEC does the actual stepping of directories on the
structure. Thus, the EXEC steps the directory, the check for mounting is made,
the error message displays, the EXEC steps to the next directory, etc.

Solution:      	[C] In JSYSF at RCD020+31, get the unique code for the 
structure, and pass it to CHKMNO for the mount check. If regulated and not 
mounted, and/or user not enabled, give an error return. This should 
"short-circuit" the expunge process, avoiding the display of all directory 
names.
It is only possible to get a directory of <ROOT-DIRECTORY> if the user is 
enabled AND the structure is non-regulated; this is the way it should be.


                               [End of TCO 6.2087]
                               TCO-number:  6.2088



Written-by:  MCLEAN                           Creation-date:   7-Jun-84 11:43:37


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  We never get -1 (disk offline) from DSKOP or UDSKIO

Diagnosis:  Looks like a change was made by someone to make it nice
by returning an error code (pc address) in the right half of T1.
Solution:  For Disk offline return -1.  For other cases return -1,,error code
not a pc!.

                               [End of TCO 6.2088]
                               TCO-number:  6.2090



Written-by:  TBOYLE                           Creation-date:   7-Jun-84 14:31:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  Layered products group find it difficult to deal with
the .PVNAM word of the PDV.

Diagnosis:  It is not consistent with other words of the PDV that
the layered products people use as pointers so that they can use
XMOVEI on them. This is because PDVOP% JSYS function .PONAM expects
it to be a 30-bit compatibility address where a zero in the left
half means PC relative. This makes code that uses the value kludgy
in true extended addressing programs. It also does not allow a pointer
to a section zero item.

Solution:  Since it is presumed that no one is using PDV things anyway,
and DEC products are about to be released (dynamic libraries, and
LINK) that use it, change it now so that the .PONAM function interprets
the address as a valid 30-bit address pointer. Indirection will
be permitted but not indexing as are the other words in the PDV.


                               [End of TCO 6.2090]
                               TCO-number:  6.2094



Written-by:  SHTIL                            Creation-date:  12-Jun-84 12:32:17
Edited-by:   SHTIL                            Edit-date:      18-Jul-84 10:10:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	DIRECT	JSYSF


Related-TCO:  	6.2131

Related-SPR:  	 20108



Problem:              			1)Reported in SPR #20108:
			A user should be able to set file account of any
		file to which he or she has the write access to any
		account that he is allowed to use independently of under
		which account he is presently running and, in addition, he
		should be able to set file accounts according to the DIRECTORY
		command that may occur in ACCOUNTS.CMD

				2)Found by the way:
			SACTF (Related to 1) and CACCT JSYSes validate
		account string given by calling VERACT (in JSYSA) which
		gives the good return when accounting is not enabled.
		This allowes the user put any junk into JSB or FDB.I don't know
		what can happen if after that accounting gets enabled.

Diagnosis:  
			1)SCNUNO (JSYSA) checks the "user" type blocks in
		ACCOUNTS.BIN by comparing the user name found with the
		directory containing the file name  but not with
		the user name.
			2)Bad code.

Solution:              		1)Check the user name correctly.Store
		the mapped directory number,unmap it,map login directory
		(through JOBNO,JOBDIR).
			2)Check before VERACT call in the main routines
       		whether accounting is enabled.


                               [End of TCO 6.2094]
                               TCO-number:  6.2095



Written-by:  MOSER                            Creation-date:  12-Jun-84 14:27:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC




Problem:   FILBAT Buginf prints structure as a structure number which can change
by the time anyone notices.

Diagnosis:   That is the way it is.

Solution:   Print octal representation of sixbit structure name instead.


                               [End of TCO 6.2095]
                               TCO-number:  6.2096



Written-by:  MCLEAN                           Creation-date:  13-Jun-84 14:07:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MSTR




Problem:  
Sometimes you are told you can't decrement the mount count because
JFN's are still assigned (MSTX36).  I have mounted the structure exclusive
and I have reset all forks yet I still get MSTX36!  I guarantee that
no JFN's are assigned!!!
Diagnosis:  Kevin says he has seen it since Rel 4.  Therefore it must
not be important.
Solution:  If your Structure number and Terminal number are the same
you can't decrement the mount count.  Therefore we must check to see
what type of JFN this is before we complain about the structure number
and the terminal number matching on an assigned JFN.

                               [End of TCO 6.2096]
                               TCO-number:  6.2100



Written-by:  LOMARTIRE                        Creation-date:  15-Jun-84 08:40:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FILMSC


Related-TCO:  	6.1792

Related-SPR:  	 20192



Problem:   TCO 6.1792 attempted to solve a security problem by disallowing the 
opening of two or more JFNs on TTYnnn:.  This has caused a problem for programs 
like KERMIT which open the controlling terminal as TTYnnn: twice; once for read 
and once for append.

Diagnosis:   While it is not desirable to allow multiple openings of TTYnnn:, it 
does not seem acceptable to prevent it.  So, the security hole must be closed 
by fixing the closing of multiply opened TTYs.

Solution:   In routine TTYCLZ, call a new routine (TTYSCN) which will scan all 
open JFNs to see if any exist for the TTY that is being closed.  If one exists, 
the routine will return +1 and the dynamic data block will not be deallocated.  
Otherwise, TTYSCN will return +2, the dynamic data will be deallocated and 
the TTY will be marked as no longer owned by the job.  In either case, 
the TTY will be marked as closed.


                               [End of TCO 6.2100]
                               TCO-number:  6.2102



Written-by:  GRANT                            Creation-date:  18-Jun-84 14:10:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC


Related-QAR:  	706050



Problem:  Network users (both ARPANET and DECnet) can host into the system
	after "Shutdown complete".  This is a security violation.
Diagnosis:  The shutdown code disallows many things but forgets about incoming
	virtual terminal logins.
Solution:  Add SF%MCB and SF%NVT to the bits in FACTSW being turned off.

                               [End of TCO 6.2102]
                               TCO-number:  6.2103



Written-by:  TGRADY                           Creation-date:  20-Jun-84 13:25:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  
Users not yet logged-in attempt to attach to a detached job, and get
a 'Wheel or Operator priveleges required' error message.


Diagnosis:  
In the ATACH% JSYS, the local job number of the object job is passed to
GETJI%, instead of the global job number.  Occasionally, this is a valid
job number, but for the wrong job.  This causes a CAPX1 error return, since
ATACH% thinks the user is attempting to attach a batch job.


Solution:  
Use the global job number in the call to GETJI%.



                               [End of TCO 6.2103]
                               TCO-number:  6.2104



Written-by:  TBOYLE                           Creation-date:  20-Jun-84 13:39:28
Edited-by:   TBOYLE                           Edit-date:      20-Jun-84 13:48:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	MEXEC




Problem:    
	Session end times are always inaccurate (too early) except
the last one (at LOGOUT time) if CACCT% is used. Session start times
can at times be inaccurate (too early) if CACCT% is used and no
Job 0 checkpoint operation occured since the last CACCT%.

	The following problems can occur after system crashes occur:
Incomplete session start times can be slightly early if no Job 0
checkpoint has occurred (time recorded is the time of ^C and not of
actual login.) Incomplete session start time can at times be
inaccurate (too early) if CACCT% was used and no Job 0 checkpoint
operation occured since the last CACCT%.

Diagnosis:    
	When session records are written for session changes, the
checkpoint record is used specially.  System accounting fails to
initialize the session start and session end time in this record
before writing to SYSTEM-DATA.BIN for the previous session. This
addresses the first and second problem.  After the session record is
written, the checkpoint record serves as information for the next
session.  System accounting fails to initialize the session start
time. This addresses the fourth problem.  At login, the actual session
start time is not initialized until after the USAGE call for login is
performed.  This results in the session start time to be incorrect in
the checkpoint record. This addresses the third problem.

	The problem with the session start times has not been too
noticable because the checkpointing operation happens to initialize
the value at each checkpoint interval (a kludge.)  These fixes will
insure that the start and end times are accurate at all times.

Solution:  
	Fix the problems as described.


                               [End of TCO 6.2104]
                               TCO-number:  6.2105



Written-by:  LEACHE                           Creation-date:  22-Jun-84 17:20:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	BOOT	MTBOOT




Problem:    The monitor will soon have a PDVOP.

Diagnosis:    The PDVOP will generate an EXE-directory entry that is unknown to
BOOT, causing BOOT to declare the EXE-file format to be bad.

Solution:    Teach BOOT to ignore this entry.


                               [End of TCO 6.2105]
                               TCO-number:  6.2106



Written-by:  GLINDELL                         Creation-date:  24-Jun-84 15:22:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  
The 6.1 monitor will use a PDV to point to the symbol table.
In order for EDDT/MDDT to be release-independent, add a variable
MONPDV that points to the monitors PDV.

If MONPDV is zero (always in 6.0) then EDDT/MDDT will get the
symbol table address the 'old' (i.e. current) way. If MONPDV is
non-zero (6.1 and later) then EDDT/MDDT uses MONPDV as a pointer
to the monitors PDV.


                               [End of TCO 6.2106]
                               TCO-number:  6.2107



Written-by:  MCINTEE                          Creation-date:  25-Jun-84 14:32:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  SKDPF1 bughlt

Diagnosis:  Scheduler test SALWAT referencing nonexistent address
Solution:  SALWAT claims to be expecting line number in T2, but code indicates
that T2 should have dynamic data block address in T2.
Routine SALLIN (which did the MDISMS) passes dynamic data block address in the
left half of T1.  Unfortunately, dynamic data block addresses are now 30 bit 
addresses. Also, SALLIN locks the TTY before the MDISMS, unlocks it afterwards, and 
assumes that the dynamic data will still exist.  However, unlocking it may
cause it to be deallocated.  

Change SALWAT to expect line number in T1, and to convert it to dynamic
data. (If no dynamic data, return success).
Change SALLIN to put line number in left half of T1 when MDISMSing.
Also, do not lock/unlock TTY around MDISMS, but instead recheck for dynamic
data after MDISMS returns.



                               [End of TCO 6.2107]
                               TCO-number:  6.2110



Written-by:  PAETZOLD                         Creation-date:  26-Jun-84 19:01:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  

ILMNRF BUGHLTs from TFRKSR  in FORK during a TFORK JSYS.

Diagnosis:  

wrong index register in FKEFR test.

Solution:  

use the correct one.



                               [End of TCO 6.2110]
                               TCO-number:  6.2111



Written-by:  GRANT                            Creation-date:  29-Jun-84 10:22:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV


Related-QAR:  	706017



Problem:  OPENF% on a filespec of the form SRV:n-name may either succeed
	or fail erroneously.
Diagnosis:  The OBJSRC coroutine OPNUNQ expects ACVAR W1 to be intact but
	it isn't.  Thus, random comparisons are made when testing for the
	uniqueness of the string.
Solution:  In the routine SRCOPN, which calls OBJSRC with OPNUNQ as the
	coroutine, add another TRVAR location which can be used by OPNUNQ.

                               [End of TCO 6.2111]
                               TCO-number:  6.2114



Written-by:  TGRADY                           Creation-date:   2-Jul-84 13:44:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  
SYSTAT shows all users in TI state...whether they are or not.


Diagnosis:  
TTY2GL routine in GETJI% is returning bad data.  Instead of returning
the owning job number and waiting fork number, it is returning the
owning global job number and local job number.  SYSTAT takes this to mean
there is always a fork waiting for input from the terminal.


Solution:  
Typographical error.  Change TTY2GL:+8 lines from HLR T1,T2 to HRR T1,T2.



                               [End of TCO 6.2114]
                               TCO-number:  6.2118



Written-by:  GROSSMAN                         Creation-date:   5-Jul-84 16:39:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  1) Trap a JSYS (via TFORK)

2) Change the trapped fork's PC using SFORK%

3) Untrap the fork with bit UT%TRP set in T1

4) The monitor starts the (formerly) trapped fork in user mode at the PC
   of ITRAP

Diagnosis:  The code in UTFRK% that deals with the UT%TRP bit never considered
the fact that PFL and PPC (for the trapped process) might contain a user mode
PC and flags.  The code just put the address of ITRAP into PPC, and never
changed PFL to contain the proper flags.  When the trapped fork finally ran,
PPC pointed to ITRAP, and PFL contained user mode flags, so the user's
program was started at the address of ITRAP.

Solution:  If you are doing the UTFRK% JSYS, and the bit UT%TRP is on:

1) If PFL indicates monitor mode, just put ITRAP into PPC, and you are done.

2) If PFL indicates user mode,

	a) SETZM SLOWF so that JSYS context appears to be setup
	b) Copy PFL into UPDL+1 and UPDL+3
	c) Copy PPC into UPDL+0 and UPDL+2
	d) Setup PFL to contain MONENV (flags for monitor environment)
	e) Setup PPC with the address of ITRAP

This soultion assumes that MPP (stack fence) for the trapped fork points to
UPDL+3.  This is a safe assumption since the JSYS trap code ensures that
MPP is setup in this manner before the trap is issued.


                               [End of TCO 6.2118]
                               TCO-number:  6.2119



Written-by:  LEACHE                           Creation-date:   5-Jul-84 16:39:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	PAGUTL


Related-QAR:  	706089



Problem:    VBOOT's physical pages  (currently 771-777) are being permanently
placed on the special-memory queue, and they are unavailable for use by
the monitor.

Diagnosis:    This was a temporary side-effect of recent BOOT work that
was supposed to disappear after some experimentation with keeping BOOT 
around after loading the monitor.

Solution:    Repeat zero the code at PGRI2-n, causing PGRI2 to place VBOOT
pages on the replaceable queue.  For now, leave the code at PGRIGR alone.
The code at both of these locations will be needed for dump-on-bugchk.


                               [End of TCO 6.2119]
                               TCO-number:  6.2120



Written-by:  MCCOLLUM                         Creation-date:   5-Jul-84 17:08:11
Edited-by:   MCCOLLUM                         Edit-date:       5-Jul-84 17:11:37


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-QAR:  	706103



Problem:  
NOSKTR bughlts.


Diagnosis:  
A call to GL2LCL is performed when doing an ACCES% JSYS, function AC%CON, to
connect another job to a specified directory. If the call to GL2LCL fails
because the specified job does not exist, an ITERR is performed without
calling USTDIR to unlock the mapped directory. This results in trying to
return to the user CSKED and NOINT.


Solution:  
If the call to GL2LCL fails, call USTDIR to unlock the mapped directory before
trying to return an illegal instruction trap to the user.



                               [End of TCO 6.2120]
                               TCO-number:  6.2121



Written-by:  TBOYLE                           Creation-date:   6-Jul-84 16:33:58
Edited-by:   TBOYLE                           Edit-date:       6-Jul-84 16:40:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:   ILUK4 crashes, loss of accounting data and/or charges for
the wrong user in an incomplete session entry and possibly other types
of crashes related to JSB trashing.

Diagnosis:   USAGE function for login will establish the Job's checkpoint slot
in the checkpoint file based on the global job number. System checkpointing
uses local job numbers. If the checkpoint file was new, crashes will occur
because the length fields in uninitialized slots will bash the JSB mapped
in the following page by Job 0.

Solution:   UCKSET routine needs to convert the job number in the session
to a local number before mapping the checkpoint page.


                               [End of TCO 6.2121]
                               TCO-number:  6.2122



Written-by:  SHTIL                            Creation-date:  10-Jul-84 13:45:07
Edited-by:   SHTIL                            Edit-date:      13-Jul-84 10:47:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV	MTIME




Problem:  
	There is a plan to mesure various system performence time
parameters with maximum granularity.

Diagnosis:  
	The MTIME routine in APRSRV, which is the only time source in the
system performance area, does RDTIME and rounds the time to the tens of
microseconds,loosing accuracy.

Solution:  
	Let MTIME go the usual way because of the intensive use of the old
time format. In addition store the time base in microseconds in CX for
future possible use.


                               [End of TCO 6.2122]
                               TCO-number:  6.2124



Written-by:  LOMARTIRE                        Creation-date:  12-Jul-84 11:26:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIRECT


Related-SPR:  	 15114



Problem:   It is possible for any user to copy a file to any directory which has 
a deleted file in it as long as the user has DP%RD access to the directory.

Diagnosis:   During the GTJFN% call used to acquire a JFN for the destination 
file, a call is made to routine VERLKH to obtain the version number of 
the file.  If the destination file is deleted, then this routine clears the 
deleted bit and sets the non-existent bit in the FDB.  This effectively 
recreates this file in the directory.  So, if the user knows of deleted files 
in a directory, he can undelete them and overwrite them with any of his own 
files by simply having the destination of the copy be the deleted file.

Solution:   Before clearing FBDEL and setting FBNXF, call DIRCHK and check for 
DP%CF (create files) access to the directory.  If this access does not exist, 
return a GJFX35 error (directory access privileges required).


                               [End of TCO 6.2124]
                               TCO-number:  6.2125



Written-by:  MOSER                            Creation-date:  12-Jul-84 13:33:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK	PROLOG




Problem:   Various strange bugs and races. One very common scenario is:

@RESET
@DISMOUNT STR TAM:
?Illegal while JFNS assigned

Waiting a few minutes betewwn the RESET and DISMOUNT virtually guarantees
that the problem will not happen. The problems usually effect batch jobs where
subsequent commands are "typed" quickly by BATCON.

Timesharing users are more likely to see REL file open errors from
MACRO when recompiling the same program after a ^C.

Diagnosis:   The KFORK Jsys is Asyncronous. It causes the requested forks
to be suspended and then sets their PC to KSELF but it may return to the
user before any forks actually die. These forks may not have relenquished
control of various resources at the time that the KFORK succeeds.

Solution:   Make KFORK syncronous. After suspending the forks mark that fork
as "waiting to die" in FKSWP. Keep a list of these forks and after causing them
to be killed wait for the death to occur. Each fork clears the flag, FKKL%,
after relenquishing all resources BUT before waiting for the share counts on
the PSB and JSB to go to zero. Thus a fork is guaranteed to "die" in finite
time.


                               [End of TCO 6.2125]
                               TCO-number:  6.2126



Written-by:  TGRADY                           Creation-date:  12-Jul-84 17:04:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	SCHED	TAPE




Problem:  
Three GETOK% functions return job numbers as arguments.  They currently
are returning job indices instead of global job numbers


Diagnosis:  
.GOATJ - Attach job
.GOCLS - Set Scheduler class
.GOMTA - MT: access

All return the wrong thing for job number, everyone else looks ok.


Solution:  
Change MEXEC, SCHED, and TAPE to supply the right argument.



                               [End of TCO 6.2126]
                               TCO-number:  6.2127



Written-by:  HAUDEL                           Creation-date:  13-Jul-84 13:37:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYM78




Problem:  Channel,controller,and unit information is not displayed with
the TM8AEI bugchk.

Diagnosis:  No code to do so.

Solution:  Add additional data items to the TM8AEI bugchk


                               [End of TCO 6.2127]
                               TCO-number:  6.2130



Written-by:  HAUDEL                           Creation-date:  17-Jul-84 13:12:13
Edited-by:   HAUDEL                           Edit-date:       7-Aug-84 13:51:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV


Related-QAR:  	706074



Problem:  Front-end gets reloaded for no apparent reason and there is no
entry in the ERROR.SYS file.


Diagnosis:  There is a line printer attached to a TTY line and the line printer
spooler is running under JOB 0. If the line printer is put offline ( to get
a listing) and it is left offline long enough, the Monitor will reload the front
end. The test routine that the Monitor sets up, J0TCOT, is based upon the 
job number. Only JOB 0 uses this test routine and it assumes that when
output is blocked, the output is blocked on the CTY. J0TCOT reloads the
front end.

Solution:  Use the J0TCOT test, only if the line number is that of the CTY and
the job number is 0. Otherwise, use the TCOTST test. Add a bugchk to the 
J0TCOT test to indicate that the Monitor reloaded the front end. This bugchk
may not be printed on the CTY, but it will be written to ERROR.SYS.



                               [End of TCO 6.2130]
                               TCO-number:  6.2131



Written-by:  SHTIL                            Creation-date:  18-Jul-84 10:10:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	VERACT


Related-TCO:  	6.2094

Related-SPR:  	 20108



Problem:  	The fix described in  TCO 6.2094 breaks LOGIN JSYS !!!

Diagnosis:  	LOGIN JSYS calls VERACT before it fills in USRMAM field in
JSB which is needed by VERACT.

Solution:  	Check in VERACT whether the job is logged in and use the
appropriate data base.


                               [End of TCO 6.2131]
                               TCO-number:  6.2134



Written-by:  MCLEAN                           Creation-date:  19-Jul-84 11:14:09


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE


Related-SPR:  	 19599



Problem:  ACJ is not consulted for labeled tape access.
Diagnosis:  no code
Solution:  add code complements of G. Scott.

                               [End of TCO 6.2134]
                               TCO-number:  6.2141



Written-by:  MOSER                            Creation-date:  20-Jul-84 16:10:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SYSERR




Problem:   No resident free space. No BUGxxx messages on CTY.

Diagnosis:   SYSERR fork has died and free space is full of old syserr blocks.

Solution:   Use MONBK facility for SYSERR fork. Transfer to SEBINH on errors
issue a SEBINT BUGCHK additional data LSTERR and PC. Reset JSYS context
and restart SYSERR processing.


                               [End of TCO 6.2141]
                               TCO-number:  6.2142



Written-by:  MCCOLLUM                         Creation-date:  20-Jul-84 17:02:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:  
Calling MRPAC with a section number that does not exist in T1 causes ILFPTE
crashes.


Diagnosis:  
MRPAC calls FPTA to convert the page number to a page ID. FPTA has been changed
since 5.1 to crash if the given section does not exist.


Solution:  
Make MRPAC check for an existent section before calling FPTA.



                               [End of TCO 6.2142]
                               TCO-number:  6.2145



Written-by:  HAUDEL                           Creation-date:  25-Jul-84 09:54:10
Edited-by:   HAUDEL                           Edit-date:      27-Jul-84 13:02:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYM78


Related-SPR:  	 20267



Problem:      NOIORB bughlts from PHYM78

Diagnosis:      A TM78 is sending an unexpected "REWIND STARTED" interrupt to the
Monitor. Once the PHYM78 code determines that attention interrupt it has 
received is a "REWIND STARTED" one, it calls SETIRB to set up P4 with
the IORB address. Since the Monitor has not requested a REWIND, there is
no IORB and thus the NOIORB bughlt.

This unexpected "REWIND STARTED" interrupt is happening on a system with
dual ported TM78s and TU78s.

Solution:      Add a check in the PHYM78 code to determine if there is
an IORB on the position wait queue when a "REWIND STARTED" interrupt
is received. If there is not, issue a buginf and dismiss the interrupt
without any further action.


                               [End of TCO 6.2145]
                               TCO-number:  6.2146



Written-by:  TGRADY                           Creation-date:  25-Jul-84 17:10:10
Edited-by:   TGRADY                           Edit-date:      25-Jul-84 17:10:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-QAR:  	706080



Problem:  
ACJ's can get random nonsense for user number in the GETOK information.


Diagnosis:  
ALOCRS uses the global job number for an index into JOBDIR.  This hardly
ever works.


Solution:  
Use the local index (from JOBNO) to index into JOBDIR.



                               [End of TCO 6.2146]
                               TCO-number:  6.2147



Written-by:  GROSSMAN                         Creation-date:  26-Jul-84 16:29:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	RH2INI




Problem:  PHYH2 does too much for NISRV.

Diagnosis:  NISRV does not need a CDB, or any other PHYSIO related data structures.

Solution:  Don't create channel blocks for KLNI's.  Also, simplify NISRV
initialization so that it is more in line with PHYKLP initialization.


                               [End of TCO 6.2147]
                               TCO-number:  6.2148



Written-by:  GROSSMAN                         Creation-date:  26-Jul-84 17:10:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  Too many interrupt level stacks.

Diagnosis:  Engineer brain damage.

Solution:  Get rid of NISRV's interrupt level stack.  Allocate more room
in PI6STK to accomodate NISRV.


                               [End of TCO 6.2148]
                               TCO-number:  6.2149



Written-by:  MOSER                            Creation-date:  28-Jul-84 16:59:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:   You can map a section to itself.

Diagnosis:   Inadequate checking for loops. This was found by Rob Gingell
at CWR.

Solution:   Move loop check to MSETM3.


                               [End of TCO 6.2149]
                               TCO-number:  6.2151



Written-by:  GLINDELL                         Creation-date:  28-Jul-84 19:34:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  
Approximately every 95th username associated with an account definition
returns invalid when verified.

Diagnosis:  
When there are many usernames specified for an account, several pages
may be needed to describe the account. However, the first account block
on each new page is ignored.

Solution:  
In JSYSA @SCNAC0+20, branch to the right location after finding a null
account block and mapping the next account file page.


                               [End of TCO 6.2151]
                               TCO-number:  6.2152



Written-by:  PAETZOLD                         Creation-date:  29-Jul-84 10:05:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	PHYSIO




Problem:    

UPDPDV causes a SKDPF1 if system does not have a KLIPA.

Diagnosis:    

Contrary to popular belief the TDOA instruction is not the opposite of the
TDZA instruction.

Solution:    

Change code at UPDPD1 to use a SKIPA.


                               [End of TCO 6.2152]
                               TCO-number:  6.2153



Written-by:  GLINDELL                         Creation-date:  30-Jul-84 13:46:21
Edited-by:   GLINDELL                         Edit-date:      30-Jul-84 13:49:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:    
The PDVOP% jsys functions .PONAM, .POVER and .POLOC fails to find
a PDV in section 0 if the user is running in a non-zero section.

Diagnosis:    
More confusion between section-0 and section-local addresses.

Solution:    
Set the flag PM%EPN ("extended page number") when calling FKHPTN
in routine GETWRD at GET2+2.


                               [End of TCO 6.2153]
                               TCO-number:  6.2154



Written-by:  MCCOLLUM                         Creation-date:  30-Jul-84 17:16:17
Edited-by:   MCCOLLUM                         Edit-date:       1-Aug-84 14:18:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GETSAV


Related-QAR:  	706150



Problem:  
NOSKTR bughlt.


Diagnosis:  
PMAP in GET% JSYS without ERJMP while CSKED and NOINT.


Solution:  
Add ERJMP after PMAP%. The code will clean up and return to user properly if
the routine doing the PMAP returns +1 with error code in T1.



                               [End of TCO 6.2154]
                               TCO-number:  6.2155



Written-by:  MURPHY                           Creation-date:  30-Jul-84 17:46:20
Edited-by:   MURPHY                           Edit-date:      31-Jul-84 11:56:09


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:    RFMOD returns incorrect values for wakeup bits.  If SFMOD
is done with only TT%WKF on, subsequent RFMOD will indicate
TT%WKP and TT%WKA on also.  If a program does RFMOD/SFMOD to
save and restore mode word, effect will be to cause wakeup on
everything.

Diagnosis:    Routine TTRMOD computes wakeup bits from full break
mask.  ESC is considered to be in all character classes, so
ESC on because of TT%WKF will cause WKP and WKA to be set
also.

Solution:    Don't consider ESC to be in alphanumeric or punctuation
character sets for purposes of computing wakeup bits in mode
word.


                               [End of TCO 6.2155]
                               TCO-number:  6.2157



Written-by:  TBOYLE                           Creation-date:   1-Aug-84 14:39:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED


Related-QAR:  	706100



Problem:  MCLNSK BUGHLTS. MCENTR detected CRSKED nonzero at JSYS entry.

Diagnosis:  It is difficult to tell what happened at this point. The
real cause seems to be a PSI while CRSKED and OKINT. It would have
been better to BUGHLT there.

Solution:  Change PSINSK from a BUGCHK into a BUGHLT. When a PSINSK
occurs, we are certain to crash soon anyway, so we better crash then
so that we can find the problem.


                               [End of TCO 6.2157]
                               TCO-number:  6.2158



Written-by:  TBOYLE                           Creation-date:   1-Aug-84 17:34:07
Edited-by:   TBOYLE                           Edit-date:       1-Aug-84 17:34:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV


Related-SPR:  	 19580

Related-QAR:  	706073



Problem:  RESCHK BUGHLTs during sendall.

Diagnosis:  A test on TTSAL (send-all in progress) is tested incorrectly
during calls to CFOBF. It incorrectly calls CLRSAL when it should not.
The crash does not occur all the time because CLRSAL aborts if other
SEND-ALL parameters indicate that it would not be the last user of
the buffer. Certain states, however, cause the uneccesary crash.

Solution:  correct the check on whether a sendall is in progress.
Change from a JN to a JE.


                               [End of TCO 6.2158]
                               TCO-number:  6.2159



Written-by:  HAUDEL                           Creation-date:   2-Aug-84 10:57:27
Edited-by:   HAUDEL                           Edit-date:       2-Aug-84 11:27:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYM78




Problem:    PITRAPs.

Diagnosis:   The TM78 code has an interrupt condition table that is used to
determine how to handle an interrupt. This table has flags in the
left half and either flags or a dispatch address in the right half.
After an entry from this table is put into an AC, a JRST (AC) instruction
is used to get to the dispatch code.

In this case, a READ OPPOSITE interrupt occured and the corresponding
entry in the TM78's interrupt condition table had bit 6 set and a dispatch
address in the right half. This is a global index when used by the JRST (AC)
instruction. Thus, a PITRAP because of an illegal section number.

Solution:    Only use the right half of the READ OPPOSITE dispatch
table entry


                               [End of TCO 6.2159]
                               TCO-number:  6.2160



Written-by:  LOMARTIRE                        Creation-date:   2-Aug-84 12:57:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GETSAV


Related-QAR:  	706163



Problem:   Typing SRV: to the EXEC hangs the job.

Diagnosis:   The EXEC is trying to do a GET% of SRV:.EXE and is NOINT.  The 
monitor is waiting in scheduler test CHKCON for the SRV: connection to be 
opened.

Solution:   As in other similar cases, do not allow a GET% on SRV:.  If one is 
done, return a GETX1 error (?Bad .EXE file format).


                               [End of TCO 6.2160]
                               TCO-number:  6.2163



Written-by:  HAUDEL                           Creation-date:   7-Aug-84 13:47:06
Edited-by:   HAUDEL                           Edit-date:       7-Aug-84 13:54:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-QAR:  	706149



Problem:      Unable to dismount a structure and MOUNTR hangs.

Diagnosis:      MOUNTR hangs in an MSTR% which is waiting for the STRLK
lock to become unlocked. The STRLK is locked because the code for the
PPNST% locks it, but fails to unlock it.

Solution:      Add a call to ULKSTR after the call to CNVSTR in the PPNST% code.


                               [End of TCO 6.2163]
                               TCO-number:  6.2164



Written-by:  PAETZOLD                         Creation-date:   7-Aug-84 22:26:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	tcpjfn




Problem:  : 

;TIMEOUT attribute in TCP GTJFN specification trashes location 20 of the 
monitor.

Diagnosis:  : 

No index register in STOR in ATTTIM.

Solution:  : 

Index off of TCB like we always should have.


                               [End of TCO 6.2164]
                               TCO-number:  6.2165



Written-by:  PAETZOLD                         Creation-date:   8-Aug-84 14:25:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	ipipip




Problem:  : 

Bad checksums on some ICMP error packets.

Diagnosis:  : 

forgeting to zero checksum part of message in ICMER9 before calling
ICMCKS.

Solution:  : 

Zero CMCKS,(CPKT) before calling ICMCKS.


                               [End of TCO 6.2165]
                               TCO-number:  6.2166



Written-by:  LEACHE                           Creation-date:   8-Aug-84 15:23:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	JSYSF


Related-QAR:  	706015



Problem:    
  CRDIR% fails unnecessarily.

Diagnosis:    
  The uniqueness check for the PPN fails to allow for the case of
doing a CRDIR for an existing directory (as in a DUMPER restore).

Solution:    
Skip the uniqueness check if the PPN in the CRDIR arg block matches
the PPN of the directory.


                               [End of TCO 6.2166]
                               TCO-number:  6.2167



Written-by:  LEACHE                           Creation-date:   8-Aug-84 16:16:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	STG


Related-QAR:  	706019



Problem:    VK100 terminals display junk in response to ^U and ^W to TEXTI.

Diagnosis:    Erase-to-end-of-screen function for VK100 is not defined
correctly in STG.

Solution:    Fix it.


                               [End of TCO 6.2167]
                               TCO-number:  6.2168



Written-by:  PAETZOLD                         Creation-date:   8-Aug-84 17:06:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	STG




Problem:    

PI6STK undefined when PCDPN or PTPN on.

Diagnosis:    

Someone played with the conditionals for KNIN got confused.

Solution:    

Fix the confusion.


                               [End of TCO 6.2168]
                               TCO-number:  6.2169



Written-by:  GROSSMAN                         Creation-date:  10-Aug-84 17:09:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV	STG




Problem:  ILLUUO's during monitor startup.

Diagnosis:  NISRV tries to get interrupts before the interrupt vectors are setup.

Solution:  Set up the interrupt vectors earlier.  The routine PIINIT is now
split into two parts.  The first part (called PVINIT), just sets up the vectors
in the EPT.  The second part (called PSINIT) actually turns on the rest of the
PI system.  PIINIT goes away.

PVINIT is called very early during system initialization.  PSINIT is called
much later (it's almost the last thing).


                               [End of TCO 6.2169]
                               TCO-number:  6.2171



Written-by:  TBOYLE                           Creation-date:  11-Aug-84 00:23:50
Edited-by:   TBOYLE                           Edit-date:      11-Aug-84 00:47:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC


Related-QAR:  	706057



Problem:      
	MDDJFN BUGHLT and potentially other crashes or wierdness due to
carrier off action.

Diagnosis:      
	JOBCOF saves the T registers but it uses a few others. This is not
good. In the MDDJFN case, The value of DEV was changed when calling LDTACH
calling TTYDAS calling CHKDES which returns information in DEV. When the
user reconnected, GETFDB crashed checking the directory of a non-exitant
device.

Solution:      
	Do an ACSAV to save all the registers for our sanity.
The real problem may well lie in the fect that some routines return
or change information in preserved registers such as JFN, DEV, STS.
But c'est la vie.


                               [End of TCO 6.2171]
                               TCO-number:  6.2172



Written-by:  LEACHE                           Creation-date:  13-Aug-84 16:37:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	BOOT




Problem:   On a 2-pass load, BOOT can sometimes fail to restore the IO
channels correctly.

Diagnosis:    If the channel has suffered a register-access error prior
to entering the channel-restore code, the restore will fail, causing
PH2PIM or ILMNRF bughlts when the swappable monitor has been loaded.

Solution:    Reset the channel before attempting to restore it.


                               [End of TCO 6.2172]
                               TCO-number:  6.2173



Written-by:  MELOHN                           Creation-date:  15-Aug-84 11:14:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FILMSC




Problem:  Merge of M61: and M60: FILMSC
Solution:  New routines put under FTNSPSRV

                               [End of TCO 6.2173]
                               TCO-number:  6.2174



Written-by:  TGRADY                           Creation-date:  15-Aug-84 16:38:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ENQ




Problem:  
ILMNRF or ILPSEC BUGHLT's, random results from ENQDMP.


Diagnosis:  
Improper handling of ENQ AC's in ENQDMP.  A local job number in T2 is
EXCHanged with T1 before calling LCL2GL to translate it into a global
job number.  Unfortunately, after returning from the call, the results
are not EXCHanged back to where the rest of ENQDMP expects them to be.
Results are fairly random.


Solution:  
After the call to LCL2Gl, swap the ac's back where they belong.  Also,
make sure the argument to LCL2GL isn't a -2 or -3 which would indicate
a different type of lock is present. (ENQ capability or Wheel/OPR).



                               [End of TCO 6.2174]
                               TCO-number:  6.2176



Written-by:  GROSSMAN                         Creation-date:  15-Aug-84 18:27:13
Edited-by:   GROSSMAN                         Edit-date:      15-Aug-84 18:44:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	MEXEC




Problem:    NISRV needs to do stuff in Job 0 context.

Diagnosis:    The code doesn't exist.

Solution:    Put a call to KNIJB0 into MEXEC (CHKR).  Put a dummy definition of
KNIJB0 into STG in case NISRV isn't loaded.


                               [End of TCO 6.2176]
                               TCO-number:  6.2179



Written-by:  LEACHE                           Creation-date:  17-Aug-84 15:32:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	BOOT




Problem:    
BOOT cannot load long files.

Diagnosis:    
No code to do so.

Solution:    
Add the code.


                               [End of TCO 6.2179]
                               TCO-number:  6.2180



Written-by:  PRATT                            Creation-date:  20-Aug-84 09:16:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-QAR:  	706162



Problem:   COMND% will sometime trash the user's T4 when parsing a date.

Diagnosis:    

COMND% tries to protect against trashing user T4 but fails to take in to
account the case of a valid parse of the date and then a request for help.

Solution:    

Make sure the user's T4 gets restored before handling any requests for help.
At CMTADH add two line to restore T4.


                               [End of TCO 6.2180]
                               TCO-number:  6.2182



Written-by:  PRATT                            Creation-date:  20-Aug-84 13:12:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-SPR:  	 17658



Problem:    

COMND jsys function .CMQST (quoted string) does not handle defaults
if the user types crlf.

Diagnosis:   No code

Solution:   Add the code.


                               [End of TCO 6.2182]
                               TCO-number:  6.2185



Written-by:  PAETZOLD                         Creation-date:  21-Aug-84 10:28:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	tcptcp




Problem:    

Hung TCBs eventually render TCP useless after many days.

Diagnosis:  

Solution:    

Detect and flush hung TCBs.


                               [End of TCO 6.2185]
                               TCO-number:  6.2186



Written-by:  TBOYLE                           Creation-date:  21-Aug-84 12:54:22
Edited-by:   TBOYLE                           Edit-date:      21-Aug-84 12:59:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC


Related-QAR:  	706210



Problem:    

CHECKD causes ILMNRF on REBUILD command for multi-pack structures.

Diagnosis:    

There are two places in DSKALC where the contents of UDBSTR, passed to
CFS subroutines, is used as an index into STRTAB.  Since UDBSTR holds
the STRTAB index in the right half and the UNIT within the structure
in the left half, this code is only half correct.

A problem arises for multi-pack structures, where the LH of UDBSTR is
non-zero, causing indexing into STRTAB by <1,,X>, <2,,X>, <3,,X>, and
so on, and results in an ILMNRF bughlt.

Solution:    

Fix calls to the routines CFFBBS, CFGBBS in DSKALC to pass only the RH
of UDBSTR by using HRRZS.


                               [End of TCO 6.2186]
                               TCO-number:  6.2189



Written-by:  PRATT                            Creation-date:  22-Aug-84 14:26:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-SPR:  	 15611



Problem:    

If a program has a default filespec for any of the file parsing functions
of COMND and the user types:   /?   (perhaps thinking that switches are 
possible), the default filespec is taken, no other fields are parsed, 
and no error message is returned.

Diagnosis:    

When the "/" (or any other character which is not normally part of a 
filespec) is parsed, it delimits the filespec field and the default 
is placed into both the atom buffer and the main command buffer overwriting
the unparsed characters in the command buffer.

Solution:    

After the GTJFN call has completed, check to see if a default was taken.
If so, and it was taken because a carriage return was typed, only place
the filespec in the atom buffer. If the default was taken because of
an escape or ^F, place the filespec in both buffers.


                               [End of TCO 6.2189]
                               TCO-number:  6.2190



Written-by:  PAETZOLD                         Creation-date:  22-Aug-84 19:44:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-QAR:  	706124	706125



Problem:    

DSK* does not work when PS: is not named PS:

Diagnosis:  

Solution:    

When using DSK*: change DSK*: device string to be the first mounted structure.
These days the first structure is usually not named PS:.

This is basicly the same fix that Chris Johnson came up with except that 
GNJFN3 is used to make enough room for the full structure name (6 chars plus 
null) if the block has been trimmed.


                               [End of TCO 6.2190]
                               TCO-number:  6.2191



Written-by:  PAETZOLD                         Creation-date:  22-Aug-84 19:50:14
Edited-by:   PAETZOLD                         Edit-date:      22-Aug-84 19:57:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	ENQ	IPCF	JSYSA	MEXEC	mstr


Related-QAR:  	706137



Problem:      

Code  is  wrong.  Various  randomness  with  jobs including hangs and
crashes when mapping JSBs of other jobs.

Diagnosis:      
 
Race condition where a job may disappear during random SETJSB calls
because we are not NOSKED during the mapping process.

Solution:      
 
Change some calls to MAPJSB from SETJSB.  MAPJSB will go NOSKED while
mapping the JSB and then return OKSKED.  The share count on the JSb will
prevent the job from logging out after the MAPJSB call (until CLRJSB).


                               [End of TCO 6.2191]
                               TCO-number:  6.2192



Written-by:  PAETZOLD                         Creation-date:  22-Aug-84 20:34:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-QAR:  	706138



Problem:    

@DELETE *.*,
@@KEEP 1 **

Does not work for TMP files with low generations.

Some programs (eg. my friend MM) do not create TMP files with generations
of 100000+JOBNO.  The files have normal generations (ie. 1,2,3,....N,N+1).

Diagnosis:    

Code at DELNF3 is overly protective of TMP files with low generations.

Solution:    

Treat TMP files with generations .lt. 100000 the same as normal files.


                               [End of TCO 6.2192]
                               TCO-number:  6.2193



Written-by:  PAETZOLD                         Creation-date:  22-Aug-84 20:41:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK


Related-QAR:  	706139



Problem:    

IDFOD2 BUGCHKs and other problems including fork lock snafus due to
fork being OKINT while FKLOCK set.

Diagnosis:    

RFSTS calling CLRLFK to reset PSB mapping when SETLF1 was never called
after unassigned relative fork handles are passed to RFHJFK.

Solution:    

At RFSLN2 P1 will be -1 if SETLF1 was not called. Do not call CLRLFK 
if this is true.


                               [End of TCO 6.2193]
                               TCO-number:  6.2194



Written-by:  HAUDEL                           Creation-date:  23-Aug-84 11:50:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IO	COMND


Related-QAR:  	706153



Problem:  MONNEJ bugchks.


Diagnosis:  No ERJMPs after some jsyses in IO.MAC and COMND.MAC


Solution:  Add ERJMPR [ITERX] after the following jsyses

	COMND.MAC	COLNC+6/ RFMOD
			GETWTH+2/ MTOPR
			CMCOUT+2/ BOUT
			CMUSO1+2/ BOUT
			CURUP+6/ MTOPR
			CURUP+11/ MTOPR
	IO.MAC		.ESOUT+1/ DOBE
			.ESOUT+2/ RFPOS


                               [End of TCO 6.2194]
                               TCO-number:  6.2196



Written-by:  MOSER                            Creation-date:  23-Aug-84 17:00:05


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MSTR	PHYSIO




Problem:  The Galaxians need a way to uniquely distinguish units in a 
structure.

Solution:   Return the HOMMID code in the .MSRNU/.MSRUS function of
MSTR. Offset will be .MSMID.


                               [End of TCO 6.2196]
                               TCO-number:  6.2198



Written-by:  GRANT                            Creation-date:  24-Aug-84 07:03:17
Edited-by:   GRANT                            Edit-date:      24-Aug-84 07:04:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV


Related-SPR:  	 19772



Problem:    When using a series of SOUT% to transfer data over a DECnet link,
the final few bytes sometimes don't get sent.

Diagnosis:    The CLOSF code doesn't make all the necessary checks to insure all
data gets sent.

Solution:    In routine CLZDI, if it isn't an abort close, make sure all bytes
get sent.


                               [End of TCO 6.2198]
                               TCO-number:  6.2199



Written-by:  HAUDEL                           Creation-date:  24-Aug-84 13:42:48
Edited-by:   HAUDEL                           Edit-date:      24-Aug-84 13:44:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DTESRV


Related-QAR:  	706130



Problem:    Sometimes the terminal lines hang after the CTY has run out
of paper or after some other cause of a front end reload.

Diagnosis:    The exact cause is unknown. However, there is a possible cause
in DTESRV. The current code ignores a failure return after a call to
run SETSPD.

Solution:    Add a new bughlt, under the DTESW conditional assembly switch,
to trap this problem and hopefully gather some useful data.


                               [End of TCO 6.2199]
                               TCO-number:  6.2200



Written-by:  GRANT                            Creation-date:  27-Aug-84 08:25:01


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC




Problem:  DEC has gone decimal.

Diagnosis:  When starting the monitor at location 143, channel, controller, and
unit are accepted as input from the user and also output by the monitor in
octal.

Solution:  In routine FSIDI2, call FSIDEC instead of FSIOCT;  in routine FSICFG,
call FSIDTY instead of FSIOTY.


                               [End of TCO 6.2200]
                               TCO-number:  6.2201



Written-by:  TGRADY                           Creation-date:  27-Aug-84 09:52:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	MEXEC




Problem:  
Mismatched use of Global and Local job indices when handling USAGE%
records.  USAGE file records are indexed by local job index, and
contain the global job number, but not the local job index.  The
Checkpoint process screws up by treating this global job number is
an index.


Diagnosis:  
See QAR 706198.  He says it better than I can.


Solution:  
TCO 6.2121 tried to address this problem, but did so incorrectly.  This
TCO supersedes (and in fact removes) that edit.  Store the local job
index in the header of the USAGE% record, and use that as an index into
the USAGE% file.



                               [End of TCO 6.2201]
                               TCO-number:  6.2202



Written-by:  TGRADY                           Creation-date:  27-Aug-84 10:28:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  
User mode program's extended PSI level table gets smashed, resulting
in ILMNRF's.


Diagnosis:  
DEBRK code does a XCTU [DMOVE Q1,@T1] without an ERJMP after it.


Solution:  
Do an ERJMP.  Clear the FKPSI1 flag in FKINT to indicate that we're
no longer in the PSI handler, and ITRAP with the last JSYS error.



                               [End of TCO 6.2202]
                               TCO-number:  6.2203



Written-by:  LEACHE                           Creation-date:  27-Aug-84 10:38:45


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	FREE


Related-QAR:  	706204	706181



Problem:    Freespace bugs

(1)  Pool-check routine is called before pool is locked, sometimes
     generating spurious BUGCHKs.

(2)  Sometimes a block smaller than requested is returned to user.

Diagnosis:    

(1)	As above

(2)	Pool-traversal code is jumping to wrong label on end of list.

Solution:    

(1)	Don't call the pool-check routine until after pool is locked.

(2)	Jump to correct label when end of list is encountered during
	pool traversal.


                               [End of TCO 6.2203]
                               TCO-number:  6.2204



Written-by:  TBOYLE                           Creation-date:  27-Aug-84 16:42:54
Edited-by:   TBOYLE                           Edit-date:      27-Aug-84 17:01:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV


Related-QAR:  	706053



Problem:    

    Hung job, possible ILMNRF.

Diagnosis:    

    When doing a sendall to a single line the code at SALLI2(TTYSRV)
    may block when the sendall pointer is not free for the destination
    terminal.  When this happens, scheduler test SALWAT is entered
    with incorrect data -- an 18 bit address for the dynamic data.

    SALWAT takes the address of the terminal's dynamic data.  This is
    a no no, since the DD is now in section 11, but the passed address
    is only a halfword quantity.  This results in references to the
    current PC section by SALWAT, which may or may not point to an
    existent page.

Solution:    

    Pass the Terminal number to SALWAT. Have SALWAT convert it to
    the dynamic data pointer with STADYN.


                               [End of TCO 6.2204]
                               TCO-number:  6.2206



Written-by:  TBOYLE                           Creation-date:  29-Aug-84 13:55:55
Edited-by:   TBOYLE                           Edit-date:      29-Aug-84 14:59:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-QAR:  	706154



Problem:      

  When CHFDB is called by a normal user to modify information which
  requires wheel or operator privileges, the result is the error message
  "Write or owner access required." This is the wrong error message.
  It is also misleading because it can happen when the user does have
  write or owner access.

Diagnosis:      

  If write/owner is required and the user isn't we go to check if
  WHEEL/OPER is required. When this fails "Write or owner required"
  is the right answer. However, if only WHEEL/OPER will allow the
  specified change, we end up in the same error path and give an
  incorrect error.

Solution:      

  It is uneccessary to turn this code into a massive decision tree.
  The final routine that checks to see if WHEEL/OPER is required
  can be fixed to return the correct error by checking to see if
  write or owner access were required. If either access were not
  required, then we will return "Wheel/Operator required." Otherwise
  we return "Write/Owner access required."


                               [End of TCO 6.2206]
                               TCO-number:  6.2207



Written-by:  LEACHE                           Creation-date:  29-Aug-84 16:48:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	BOOT




Problem:    BOOT sometimes prints out error messages with null directory names.

Diagnosis:    The output routine is fetching the byte pointer from the wrong
location.

Solution:    Get it from the correct location.


                               [End of TCO 6.2207]
                               TCO-number:  6.2208



Written-by:  TBOYLE                           Creation-date:  29-Aug-84 17:24:05
Edited-by:   TBOYLE                           Edit-date:      30-Aug-84 12:44:26


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FILINI


Related-QAR:  	706004



Problem:      

     Upon initially booting V6 and  using  as  the  public  structure  a
     structure  which was used under pre-V6 monitors, the system appears
     to hang.

Diagnosis:      

     During system initialization, FILINI tests for the presence of  the
     PPN  extension  to  the  INDEX-TABLE.BIN of the public structure by
     determining if the first page of the necessary area exists.  If  it
     does  not,  FILINI will set the "initialize index-table" bit in the
     start-up flags word and later re-initialize the index-table.   This
     reinitialization  can  take  a long time on structures with a large
     number of directories and create the impression that the system  is
     malfunctioning.

Solution:      

     When FILINI discovers that the INDEX-TABLE needs to be initialized,
     output a message [INDEX-TABLE BEING INITIALIZED FOR PPN SUPPORT].

     It should also be noted in the installation guide that if a site
     desires non public structures to have their PPN's properly retrofitted
     for system directories that they will have to run CHECKD to reconstruct
     the index table.


                               [End of TCO 6.2208]
                               TCO-number:  6.2209



Written-by:  GLINDELL                         Creation-date:  29-Aug-84 17:29:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MAGTAP	TAPE


Related-SPR:  	 16186



Problem:  
MTOPR% function .MOIEL (Set error logging for tape) returns
error "File is not open".

Diagnosis:  
This function should not require the JFN to be opened.

Solution:  
Add bits in dispatch tables (MTMTAB in MAGTAP, and MTMTOP in TAPE)
that allow the function to be executed while the JFN is not opened.


                               [End of TCO 6.2209]
                               TCO-number:  6.2211



Written-by:  PAETZOLD                         Creation-date:  30-Aug-84 10:15:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	MEXEC




Problem:    

ILLUUOs, OPOPACs, ILMNRFs and lots of other stuff after a job which is
detached via JOBCOF is reattached to.

Diagnosis:    

KIMUPC (and KIMUFL) are getting smashed by a TLINK jsys performed in LDTACH.
Since JOBCOF works mostly by simulating a JSYS call this is not good.  If
the job is attached we will return to the middle of LDTACH and everything 
falls apart after that.

Solution:    

Save KIMUFL and KIMUPC on the stack and restore them if we ever decide to 
return from the simulated JSYS.


                               [End of TCO 6.2211]
                               TCO-number:  6.2212



Written-by:  TGRADY                           Creation-date:  30-Aug-84 10:44:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:  
If a user attempts to login, but fails due to a wrong password, invalid
account, or almost any reason, the user is given user group access rights,
and can use the Info Mail command.  The user should get a message 'Mailbox
protected', and not see if someone else has unread mail.


Diagnosis:  
The LOGIN JSYS gets the user groups for the user number specified in the
LOGIN call, and copies them into the user's JSB before checking the
password, or account specified in the call.  If the password or account
is wrong, the user still has user group access rights.


Solution:  
Move about 13 lines of code that sets up the user groups to later in the
JSYS, after the account has been verified after label LOGI1.  At this point
the user-specified arguments have all been checked, and the user won't be
getting an error.



                               [End of TCO 6.2212]
                               TCO-number:  6.2213



Written-by:  EVANS                            Creation-date:  30-Aug-84 12:25:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	TAPE


Related-SPR:  	 18851



Problem:  	MTU% outputs a confusing error message.

Diagnosis:  	The message "Device is not on line" is used when a volume is 
determined to be invalid.
Solution:  	Use the same message as is used in another place in the code 
when a volume is invalid - "No such device" .


                               [End of TCO 6.2213]
                               TCO-number:  6.2214



Written-by:  TGRADY                           Creation-date:  31-Aug-84 14:15:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	MEXEC




Problem:  
CRJBX1 errors from CRJOB, and wrong job number returned from CRJOB for
created job.  Probably random jobs being logged out too.


Diagnosis:  
CRJONJ and the JOBONT table aren't always handled properly.  CRJONJ should
contain the job numbers of the creating job and the created job, in the
left and right halves respectively.  JOBONT should always contain the
global job number of the creating job for jobs in the table.  The JOBONT
table is indexed using the local job index of the inferior jobs.


Solution:  
Fix up JSYSA and MEXEC to always use the contents of CRJONJ as a global job
number, as well as the JOBONT table.  Also, be sure to use only global job
numbers in calls to the LGOUT% JSYS in SJLGO1 (in MEXEC).


                               [End of TCO 6.2214]
                               TCO-number:  6.2215



Written-by:  PRATT                            Creation-date:   5-Sep-84 12:53:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-QAR:  	706115



Problem:    

	"DIR -<esc>" fails even though there are matching files

Diagnosis:    

Too make a long story short, COMND is losing the state of the CM%ESC
flag because of the line continuation code.

Solution:    

Preserve the flags ac over the call which clears the flag after checking 
the dash.


                               [End of TCO 6.2215]
                               TCO-number:  6.2216



Written-by:  TGRADY                           Creation-date:   7-Sep-84 13:22:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ENQ




Problem:  
ENQC% JSYS functions 1 and 2 (Dump ENQ database, and set quota) won't
work if the user specifies a -1 for a job number.


Diagnosis:  
Previous edit to implement global job numbers broke the way the ENQOK
routine checks for a -1.  It gets the value using a HRRZ instruction,
but tests for a fullword -1.


Solution:  
Change a CAMN T1,[-1] to a CAIN T1,-1.  Another milestone for software
reliability.



                               [End of TCO 6.2216]
                               TCO-number:  6.2217



Written-by:  LOMARTIRE                        Creation-date:  12-Sep-84 08:36:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-SPR:  	 18546



Problem:   When creating a new file using PMAP% to map from process pages to file 
pages, PMAP% will not create a long file unless the PM%WR bit is set.  It will 
create short files without this bit set.

Diagnosis:   The routine PMAP0 calls CPMAPX in order to convert the destination 
ID (in this case a JFN) to OFN,,page number.  The conversion will be successful 
for the first 512 pages since a new page table is not needed.  However, on the 
513th page, a new page table is needed.  If PM%WR is not specified in the 
access bits, then it is assumed that no new page tables should be created.  So, 
the conversion will fail with a LNGFX1 error (Page table does not exist and 
file is not open for write).

Solution:    The PM%WR access bit was never intended to be used in the case of 
process to file PMAP.  However, PMAP0 does not know this.  Since, for the first 
512 pages, the page table exists, the user is granted PM%WT automatically.  
Therefore, in the case of the destination being a file, add PM%WT to whatever 
the user has specified as access bits (except in the delete case where creating 
of new sections is illegal).


                               [End of TCO 6.2217]
                               TCO-number:  6.2219



Written-by:  MOSER                            Creation-date:  13-Sep-84 16:10:18
Edited-by:   MOSER                            Edit-date:      13-Sep-84 16:54:10


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GETSAV




Problem:     SSAVE saves all PDVAs in the .EXE file without regard to the
range of saved pages. These PDVA can be propigated by PA1050 and LINK.

Diagnosis:     SSAVE coded that way.

Solution:    Only write PDVAs within the range of the pages saved to the .EXE
file.


                               [End of TCO 6.2219]
                               TCO-number:  6.2220



Written-by:  MOSER                            Creation-date:  14-Sep-84 16:28:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GETSAV




Problem:   GET of a file which contains -1 in the first word will crash the
system. Often with CRKBUG but this depends on the file. The dump has a TOTALLY
trashed PSB. The ever popular locations such as MPP, TRAPSK, CRSKED etc are
totally destroyed.

Diagnosis:   If the first word of an EXE file is -1 the monitor does a get of a
"zero compressed" file. Basically this file consists of IOWDs ie. -COUNT,,ADDR-1

The monitor does a SIN to read the data into a window page in the PSB but in
this case the count of the SIN becomes 0. SIN uses 0 to mean "read until byte
matching AC4". The monitor checks for a "too large" SIN but it compares
positive and negative numbers in the wrong way. 

The SIN usually doesn't terminate (AC4 has garbage because GET doesn't know
that it is doing the wrong kind of SIN) until trashing the entire PSB
with stuff from the .EXE file and finalle the SIN goes ECSKED after
CRSKED is trashed.

Solution:   Check for an impossible count for the SIN, in this case anything
non negative is bad and give a GETX1 error.


                               [End of TCO 6.2220]
                               TCO-number:  6.2221



Written-by:  MOSER                            Creation-date:  14-Sep-84 16:32:44
Edited-by:   MOSER                            Edit-date:      14-Sep-84 16:33:41


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:     PDVOP% creates pages when the PDVA points to a
non-existent page.

Diagnosis:  
Solution:     Check page for existance. Return ARGX06 (Invalid page number)
if page does not exist.


                               [End of TCO 6.2221]
                               TCO-number:  6.2223



Written-by:  TBOYLE                           Creation-date:  20-Sep-84 13:24:17
Edited-by:   TBOYLE                           Edit-date:      20-Sep-84 13:34:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:    

	Jobs that accumulate a working set larger than available
memory tend to hang.

Diagnosis:    

	When the working set becomes larger than available memory, the
only time it will run is when its priority is such that it is the
first person put into the balance set by AJBALS. The problem is that
NSPTSK is a JP%SYS fork which is always higher priority. This would
not be a problem because it does not always run, however, it is
artificially kept in the balance set because it dismisses with hold
time of 1.5 sec, and always wakes up once a second. It therefore is
always in the balance set and always the first in the list.

Solution:    

	There is no good reason for NSPTSK to dismiss with a 1.5
second hold time, especially in this situation. Change it to dismiss
without any hold time. NSPTSK doesn't do as much as it used to on each
wakeup anmore anyway.


                               [End of TCO 6.2223]
                               TCO-number:  6.2225



Written-by:  GRANT                            Creation-date:  24-Sep-84 16:56:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  TOPS-20 uses too much paper.
Diagnosis:  BUGxxx uses 6 lines of paper;  this is wasteful.  Also, during
stand alone debugging, this is very time consuming.
Solution:  As a first step toward saving trees, create the location SAVTRE
and have it govern the way in which BUGxxx are output.  If SAVTRE is non-zero,
BUGxxx are output on a single line and the CTY is assumed to be an LA120;
the default will be the old (and wasteful) format.  

                               [End of TCO 6.2225]
                               TCO-number:  6.2226



Written-by:  HAUDEL                           Creation-date:  25-Sep-84 11:56:00
Edited-by:   HAUDEL                           Edit-date:      25-Sep-84 11:57:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKLP




Problem:    Incorrect message length calculation for messages send
in the "high density" format.

Diagnosis:    Code does not get the status word (.PKSTS)
for the check of the formatting mode.

Solution:    Add one line of code that gets te status word.


                               [End of TCO 6.2226]
                               TCO-number:  6.2232



Written-by:  MCLEAN                           Creation-date:  30-Sep-84 20:03:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  Serial numbers printed on problem messages are strange.
Diagnosis:  Some clown in Rel 5 changed PNUM without looking at all
the callers!
Solution:  PNUM is called by UNIOCT AND UNIDEC to print a single number.
The problem is that PNUM assumes that the number in T1 is what is to be
printed and it also assumes that the number is OCTAL.  UNIDEC has broken
up the number into multiple Decimal Digits and passes each to
PNUM to be printed.  You now have any 8's or 9's printed as 11 or 12
so a serial number of 980 will be printed as 12110.  I have added
a new entry to PNUM call DNUM for use by UNIDEC/UNIOCT.

                               [End of TCO 6.2232]
                               TCO-number:  6.2238



Written-by:  TBOYLE                           Creation-date:   8-Oct-84 02:12:50
Edited-by:   TBOYLE                           Edit-date:       8-Oct-84 04:35:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV	TTPHDV


Related-SPR:  	 18368



Problem:      

     MTOPR JSYS function .MORSP (and hence INFORMATION TERMINAL
command) for a non-autobaud remote line shows the same speed even when
speed has been changed using the TERMINAL SPEED command, or MTOPR JSYS
function.

Diagnosis:      

     The Monitor enforces the restoring of the speed of a non-autobaud
remote line to its original setting.  It uses TTSPWD for this and
hence makes it difficult to find out its real speed if the speed has
been changed.

Solution:      

     Rewrite the TTSSP2 routine that handles the setting of line
speeds.  TTSPWD will be used to contain the current line speed at all
times.  A new cell, TTSVPD, in the dynamic data block will be used to
hold the initialization speed.  TTYASO will setup this cell when
calling TTSETF for a LONG block.  TTYDED will restore TTSPWD for a
non-autobaud remote line when it is deassigned.  Include logic in
TTSSP2 to handle the various cases of setting TTSPWD and TTSVPD
properly.  Several cases for handling state transitions (remote and
autobaud) for lines have been corrected.


                               [End of TCO 6.2238]
                               TCO-number:  6.2239



Written-by:  PAETZOLD                         Creation-date:   8-Oct-84 13:26:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	anpcfs




Problem:    

Address space in DECNET/ARPANET Monitor.

Diagnosis:  

Solution:    

Turn off card punches and plotters.


                               [End of TCO 6.2239]
                               TCO-number:  6.2240



Written-by:  TBOYLE                           Creation-date:  10-Oct-84 04:43:26
Edited-by:   TBOYLE                           Edit-date:      10-Oct-84 04:47:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IO


Related-QAR:  	706228



Problem:    

	If you do a SOUT% to memory and the destination byte pointer
is a 7-bit OWGBP you don't get the normal terminating null after the
byte string.  It works to local byte pointers.

Diagnosis:  

	APPNUL checks to see if we are dealing with an ASCII byte pointer
to see if a null should be appended. The was not taught to expect the case
of a 7-bit (ASCII) OWGBP.

Solution:  

	Now it does.


                               [End of TCO 6.2240]
                               TCO-number:  6.2241



Written-by:  GLINDELL                         Creation-date:  10-Oct-84 15:16:04
Edited-by:   GLINDELL                         Edit-date:      11-Oct-84 09:57:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:    Spurious KEEP ALIVE CEASED by KFORK jsys.

Diagnosis:    The scheduler is entered at HLTFK1 near the very end of
a KFORK. The last parts of a fork are cleaned up by the scheduler.
This includes deletion of the UPT. However, the scheduler doesnt
set its own UPT until a few instructions later, and in between comes
fork garbage collection which scans CST's and may take a long time.
During this time the monitor is running witout a valid UPT, and
therefore cannot take page faults. If any interrupt level or any
hardware page fault references the UPT in this window, a page fault
loop will occur and KEEP ALIVE CEASED.

Solution:    Move the call to SETPSK to set the scheduler UPT to before
the deletion of the user UPT, so that there will be no window.


                               [End of TCO 6.2241]
                               TCO-number:  6.2244



Written-by:  TBOYLE                           Creation-date:  12-Oct-84 05:33:34
Edited-by:   TBOYLE                           Edit-date:      12-Oct-84 06:04:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-QAR:  	706222



Problem:      

The WILD% jsys does not work when one of the arguments supplied is an
indexed byte pointer, such as those created for pointers to STKVAR's
or TRVAR's. Anybody using POINT 7,FOOBAR where FOOBAR is a STKVAR or
TRVAR will produce an indexed bytepointer

Diagnosis:      

The code at .WILD(JSYSF) which fetches bytes from the user address space
uses the wrong type of PXCT.  XCTBMU (XCT 1,) is used instead of XCTBU
(XCT 3,).  The result of using this incorrect PXCT is that the monitor
ACs are used during the effective address calculation.

Although we do not support indexed byte-pointers, the fact is that
there are a great many JSYSs that use XCTBU and the result is that
indexed bytepointer arguments work fine. WILD% is one of the few where
it fails. In fact, this QAR was the result of confusion resulting from
A STCMP% JSYS working, and WILD% on string compare failing.

Solution:      

At labels WLDCH1 and WLDCH2 replace the XCTBMU's with XCTBU's.


                               [End of TCO 6.2244]
                               TCO-number:  6.2245



Written-by:  MOSER                            Creation-date:  15-Oct-84 12:44:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	PAGEM	PROLOG	STG	GLOBS




Problem:  TOPS-20 is not responsive enough to interactive users. Most users are
forced to compete with compute bound processes for the CPU. Scheduler overhead
is too high. When the system is lightly loaded jobs may take too long to
execute.


Diagnosis:  SCHED needs to be changed.


Solution:  Rewrite SKDJOB, NEWST and a few other routines in SCHED. A complete
description of changes can be found in R60SPC:SCHED-CHANGES.MEM.



                               [End of TCO 6.2245]
                               TCO-number:  6.2246



Written-by:  HAUDEL                           Creation-date:  17-Oct-84 10:49:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC


Related-QAR:  	706242



Problem:  MONNEJ bugchks from LOGTIM+11
Diagnosis:  No ERJMP after BOUT
Solution:  Add ERJMP .+1 after BOUT.


                               [End of TCO 6.2246]
                               TCO-number:  6.2247



Written-by:  TGRADY                           Creation-date:  17-Oct-84 11:52:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  
ATACH% Jsys prints local job number instead of global job number on
user terminal.


Diagnosis:  
Code wasn't changed to print the right number.  No other side effects
except user confusion.


Solution:  
Change code around ATACH7 and ATACH4 to put the global job number on
the terminal (in calls to DETMS1 and ATAMSG).



                               [End of TCO 6.2247]
                               TCO-number:  6.2249



Written-by:  HAUDEL                           Creation-date:  17-Oct-84 13:44:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  MONNEJs

Diagnosis:  No ERJMPs after some JSYSes

Solution:  Add some ERJMPs.


                               [End of TCO 6.2249]
                               TCO-number:  6.2250



Written-by:  HAUDEL                           Creation-date:  17-Oct-84 15:01:47
Edited-by:   HAUDEL                           Edit-date:      17-Oct-84 15:02:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC


Related-QAR:  	706212



Problem:    MONNEJ bugchks

Diagnosis:    No ERJMP after a ODTIM%

Solution:    Add an ERJMP after the ODTIM%


                               [End of TCO 6.2250]
                               TCO-number:  6.2251



Written-by:  TBOYLE                           Creation-date:  17-Oct-84 15:18:26
Edited-by:   TBOYLE                           Edit-date:      17-Oct-84 16:47:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:    

	1. If terminal is XOFFed, terminal hangs permanently if program
is run to disable XON/XOFF.

	2. If terminal is XOFFed, terminal and job hangs if logged out
remotely.

	3. CTYSTK code will not be able to XON the CTY if it was XOFFed

	4. etc, etc, lots of other cases.

Diagnosis:    

	RSX20F now controls action of XON and XOFF with regard to flow
control. This means that the input buffer code must take care not to
send messages to the front-end to fiddle with the XON/XOFF state. If
it did, there would be race conditions. To this end, a bit TTXFF (force)
was invented. Direct manipulation of the XON/XOFF state will not be
made unless this bit is set. This bit is not being set in several key
places where XON/XOFF needs to be overided. The cases are with STPAR
where we must restart the line if the XON/XOFF processing is being disabled.
Similarly we must overide at TTYDED and at J0TC60, (the CTYSTK code.)

Solution:    

	Invent a new routine TTXONF. This routine restarts a line
from a page stop or command stop and also sends the message to the
front-end if necessary. Use TTXONF in the proper places.

	Manipulation of TTXFF was in error at TTCBF7 (flush buffers)
and the CTYSTK code should test for both cases of page-stop and
command-stop. "That is all."


                               [End of TCO 6.2251]
                               TCO-number:  6.2252



Written-by:  LOMARTIRE                        Creation-date:  18-Oct-84 13:03:30
Edited-by:   LOMARTIRE                        Edit-date:      24-Oct-84 16:28:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV	STG	GLOBS


Related-TCO:  	6.1769	6.1768



Problem:     Release 6 does not continue after a power fail.

Diagnosis:     One problem is that a KPALVH usually results first while the system 
is looping waiting for the front end to indicate that the power is gone (via an 
interrupt at location 70).  Another problem is that PWRRST is not insured of 
being in section 0.  This will cause problems when IORST is called because 
paging will be reset and the system will hang.  A third problem is that 
BUGxxx's are being performed while paging is off and this hangs the system.  
The fourth problem is that SYSRST (which starts out in section 0 because it 
also calls IORST) is still in section zero when it calls TTRSET.  TTRSET will 
try to reference the dynamic data blocks which are now in section 11.  This 
will result in a SKDPF1.  TCOs 6.1768 and 6.1769 attempted to solve these 
problems but were insufficient to solve the problem in 6.

Solution:     First remove TCO 6.1769.  TCO 6.1768 has already been removed.
Make the following changes to APRSRV:
	1.  Reduce the loop count at SCHPF0 from ^D10000000 to ^D5000000.
	    This is plenty long enough (well over a second).

	2.  XCT KEPALV at SCHPR2 before issuing SPWRFL BUGCHK.  Also, set 
	    a new word, SPWFFL, to -1 to indicate that the power fail 
	    was spurious.

	3.  In PIAPR, set SPWFFL to zero when we get a power fail
	    interrupt.

Also, make the following changes to STG:
	1.  Add the word SPWFFL following PWRDWN.

	2.  In PWRRST:  Remove the PWRRES BUGCHK and place this later on
	    in SYSRST.  Also, if the power fail is not spurious, set 
	    SPWFFL to 0.  Turn on paging before issuing PWRFL BUGHLT.
	    Jump to section 0 upon entry to PWRRST.  Turn on paging 
	    before entering secondary protocol.

	3.  In SYSRST: If we are processing on behalf of a powerfail, 
	    do not issue PWRRES BUGCHK if SPWFFL is -1.  In this case, 
	    the SPWRFL BUGCHK has already been issued.  If SPWFFL is 
	    not -1, issue PWRRES.  Jump to section 1 once paging has 
	    been turned back on.  This will insure that SYSRST is in 
	    section 0 only as long as it needs to be.


                               [End of TCO 6.2252]
                               TCO-number:  6.2254



Written-by:  LEACHE                           Creation-date:  18-Oct-84 15:36:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	FREE	STG	PROLOG




Problem:    
	Debugging freespace problems is much easier with a history buffer.

Diagnosis:    
	As above.

Solution:    
	Add a history buffer for each of the 3 extended swappable freespace
	pools.


                               [End of TCO 6.2254]
                               TCO-number:  6.2255



Written-by:  GLINDELL                         Creation-date:  22-Oct-84 15:41:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  MDDT stack is too short
Solution:  Increase NDDTPG (number of pages for MDDT in PSB) from 2 to 3.
This will increase the PSB size with one page, that is swappable.


                               [End of TCO 6.2255]
                               TCO-number:  6.2256



Written-by:  MOSER                            Creation-date:  22-Oct-84 17:18:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:   TCO 6.2059 causes CRJOB caller to wait for the created job to
become attached before returning to the caller. This was to allow the error
code from the GET of the EXEC to be returned to the caller. The problem only
occurs when CJ%WTA is specified.

Diagnosis:  As above.

Solution:  Allow caller to continue before the GET of the EXEC if CJ%WTA is
specified.


                               [End of TCO 6.2256]
                               TCO-number:  6.2259



Written-by:  LEACHE                           Creation-date:  24-Oct-84 18:56:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	FREE


Related-QAR:  	706224



Problem:    Swappable freespace manager does not protect itself completely
against returned blocks with bad blocksizes.

Diagnosis:    As above

Solution:    Verify that the block-length is reasonable before adding it
into the pool count.


                               [End of TCO 6.2259]
                               TCO-number:  6.2261



Written-by:  LOMARTIRE                        Creation-date:  26-Oct-84 12:44:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-SPR:  	 20339



Problem:   If a logical name path has an inaccessible or unmounted disk 
specified, the user will receive a STRX09 (?Prior structure mount required) 
error.  These directories should be bypassed and the correct error should be 
GJFX24 (%File not found).

Diagnosis:   This only occurs when the last definition in the logical name string 
results in a STRX09 error.  The code which expands the device does not know to 
return GJFX24 in this case.

Solution:    Have the code at DFDV0A return GJFX24 if the call to SETDEV to 
expand the device field of the logical name fails.


                               [End of TCO 6.2261]
                               TCO-number:  6.2262



Written-by:  DMCDANIEL                        Creation-date:  26-Oct-84 15:57:20


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	monsym	LINEPR	DTESRV	JSYSF




Problem:  Layered products got confused between old JS%DEV (3 bits) and new
JS%DEV (2 bits).

Solution:  Make JS%DEV be 3 bits again and obsolete.  Add JS%DVN (2 bits).


                               [End of TCO 6.2262]
                               TCO-number:  6.2263



Written-by:  MOSER                            Creation-date:  26-Oct-84 21:51:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:   There are still more problems with byte pointers.

HISTORY: Using a byte pointer which contains 77 in bits 0-5 is illegal. It
is illegal in that the monitor is told by the microcode that a UUO was trapped.

For the user this was no big deal we checked for opcode 0 (No not the real
opcode because the version 5 microcode gave us a 0) and blew the user away with
an illegal instruction trap.

The monitor case was tricky and KIMXCT was born. This routine tried to figure
out if the monitor was doing a byte instruction (including tracing the XCT
chain). If this was the case then KIMXCT tried to interrupt the user if it was
"safe" if it wasn't safe then we either did nothing or bughalted.

In release 6 there are 2 apparent bugs.

1. User illegal byte instructions are now NO-OPS
2. The monitor can loop forever (but not necessarily crash) given a bad
   byte pointer in some Jsyses.


Diagnosis:   The first problem is caused by a new "feature", the microcode
returns the true opcode of the failing byte instruction. The monitor believes
that this is a KA floating point instruction and does the wrong stuff.

The second problem is that KIMXCT can't deal with ERJMPs after byte instructions
this does the NO-OP case and loops forever in the Jsys code.


Solution:  KIMXCT can be rewritten to always cause an error interrupt to be
ququed for the user without the NO-OP and BUGHLT case. Also we can check
for ERJMP instructions and take them.

The KA floating point code will chack opcodes more carefully and
return the correct error to the user.


                               [End of TCO 6.2263]
                               TCO-number:  6.2264



Written-by:  SHTIL                            Creation-date:  29-Oct-84 14:09:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TAPE	PRSNAM	PRSEXT


Related-SPR:  	 17640



Problem:    
	TOPS-20 does not successfully transfers files from an 
ANSI-labelled tape written under RT11. The data from the tape is 
transferred OK, but the filetypes are offen lost.

Diagnosis:    
	RT11 always writes 10 characters in the file identifier field of 
the HDR1 label - a six character name, a dot and a three character 
extention. It pads name and extention on the right with blanks if 
necessary. When TOPS 20 reads the blanc, it ceases parsing the name. Thus,
if one has RNO.DOC, RNO.TXT, RNO.MAC etc. on a tape, all appear to be 
called RNO..100.

Solution:    
	Change the parsing code in PRSNAM and PRSEXT in TAPE, by making 
them skip padding blancs in the file name.


                               [End of TCO 6.2264]
                               TCO-number:  6.2265



Written-by:  LEACHE                           Creation-date:  29-Oct-84 14:33:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	FREE




Problem:    The swappable freespace manager is supposed to enforce minimum
block sizes, but fails to do so.

Diagnosis:    This feature was not fully implemented.

Solution:    Implement it.


                               [End of TCO 6.2265]
                               TCO-number:  6.2266



Written-by:  PAETZOLD                         Creation-date:  30-Oct-84 09:40:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IPIPIP




Problem:    

None observed but code is wrong.  Possible ILMNRFs etc...

Diagnosis:    

Non immediate reference to error code SQX1 in IPIPIP.

Solution:    

Make it a MOVEI.


                               [End of TCO 6.2266]
                               TCO-number:  6.2267



Written-by:  PAETZOLD                         Creation-date:  30-Oct-84 10:14:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	MEXEC




Problem:    

Crashes from JOBCOF.

Diagnosis:    

CX not getting saved.

Solution:    

SAVE CX before ACSAV smashes it.


                               [End of TCO 6.2267]
                               TCO-number:  6.2268



Written-by:  PAETZOLD                         Creation-date:   6-Nov-84 10:34:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTANDV




Problem:    

ILMNRFs from CHKTVT.

Diagnosis:    

bad arg check.  original bbn bug.

Solution:    

range check using nlines.


                               [End of TCO 6.2268]
                               TCO-number:  6.2269



Written-by:  PAETZOLD                         Creation-date:   6-Nov-84 19:29:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	params




Problem:    

INTNFB and INTWTB are 32. times too large.

Diagnosis:    

NTWBWD calculation in PARAMS is wrong.

Solution:    

The calculation is actually ok but needs angle brackets because NDG removes
them.

this was found by STU.


                               [End of TCO 6.2269]
                               TCO-number:  6.2270



Written-by:  GRANT                            Creation-date:   7-Nov-84 10:33:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKLP




Problem:  Wrong decision made during KLIPA CRAM parity error processing.
Diagnosis:  Routine CPEDON assumes T1 contains the latest CSR;  it doesn't.
Solution:  In CPEDON, get the latest CSR from the CDB.

                               [End of TCO 6.2270]
                               TCO-number:  6.2271



Written-by:  MOSER                            Creation-date:   7-Nov-84 12:49:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMVR	PHYSIO	GLOBS	MSCPAR




Problem:   There are potentially more combinations of Channel, Kontroller and
Unit number than can be minimally encoded in 12 bits. The MSCP server cannot
uniquely identify all possible units. It is possible to encode all possible
combinations of connected CKUs since this is about much less than all potential
CKUs.

Diagnosis:  As above.

Solution:   Invent "relative" unit numbering. Assign unit relative unit numbers
based on the position of the UDB address in the KDBUDB table. This cuts the
potential number of RP20s from 256 to 16 and allows encoding CKU in 12
bits. It will no longer be possible to translate between server unit number
and true CKU for disks with Kontrollers. Relative unit numbering is implemented
through ADVCKS, CHKCKS and FNDCKS routines in PHYSIO the old ADVCKU, CHKCKU and
FNDCKU still operate on "absolute" unit numbers.


                               [End of TCO 6.2271]
                               TCO-number:  6.2272



Written-by:  GRANT                            Creation-date:   7-Nov-84 13:28:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp


Related-QAR:  	706258



Problem:  Strange things happen after KLPHNG BUGINF.
Diagnosis:  Not enough clean up when we declare he port hung.
Solution:  Clean response queue and all command queues before reloading the
port.

                               [End of TCO 6.2272]
                               TCO-number:  6.2274



Written-by:  PALMIERI                         Creation-date:   7-Nov-84 15:57:58


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR


Problem:  


                               [End of TCO 6.2274]
                               TCO-number:  6.2277



Written-by:  GRANT                            Creation-date:   8-Nov-84 12:28:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NSPSRV




Problem:  Extraneous instructions in critical code paths.
Diagnosis:  Code was added to facilitate non-PC section freespace.
Solution:  This is not going to be used in this release, so remove the code.

                               [End of TCO 6.2277]
                               TCO-number:  6.2278



Written-by:  GRANT                            Creation-date:   9-Nov-84 13:23:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  Extraneous characters in BUGxxx message.
Diagnosis:  Addition of SAVTRE got things out of order for the normal output.
Solution:  Remove outputting of quotes from routine LOGBUG and put it in
routine LOGNAM.

                               [End of TCO 6.2278]
                               TCO-number:  6.2279



Written-by:  SHTIL                            Creation-date:  13-Nov-84 14:53:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	TAPE	prsnam


Related-SPR:  	 17640



Problem:    
	TOPS-20 does not successfully transfer files from an ANSI-labelled 
tape written under RT11. The data from the tape is transferred OK, but the 
filetypes are often lost.

Diagnosis:    
	RT11 always writes 10 characters in the filename field of the HDR1 
label- a six-character name, a dot, and a three-characters extention. It 
pads name and extention on the right with blancs if necessary. When 
TOPS-20 reads a blanc, it ceases parsing the name.

Solution:    
	Change the PRSNAM ROUTINE in TAPE so it changed a blanc by zero in 
the filename field.


                               [End of TCO 6.2279]
                               TCO-number:  6.2280



Written-by:  DMCDANIEL                        Creation-date:  14-Nov-84 15:51:56


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM




Problem:  Undefined global symbols for SNA.

Solution:  Add new symbols QU%TAB, QU%NXL, QU%RCL.


                               [End of TCO 6.2280]
                               TCO-number:  6.2281



Written-by:  DMCDANIEL                        Creation-date:  26-Nov-84 15:14:54


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM




Problem:  Need symbol .PVEXP for future release of some software.

Solution:  Add symbol .PVEXP, value = 2, obsolete symbol .PVSTR.


                               [End of TCO 6.2281]
                               TCO-number:  6.2283



Written-by:  SHTIL                            Creation-date:   7-Dec-84 11:08:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	JSYSA


Related-TCO:  	6.1265

Related-QAR:  	706329



Problem:    	TCO 6.1265 was never installed.

Diagnosis:  

Solution:    	Do it.


                               [End of TCO 6.2283]
                               TCO-number:  6.2284



Written-by:  SHTIL                            Creation-date:   9-Jan-85 10:23:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	PHYSIO


Related-SPR:  	 20127



Problem:    	
	The monitor when trying to recognize a new (never before 
used) tape will place an event log in the SYSTEM:ERROR.SYS file when 
trying to read the HDRs. However, the error is marked with the volume ID 
of the last tape that was mounted on the drive.

Diagnosis:    	
	The UDBVID field is not zeroed after the tape has been 
unloaded, and is used in the future when creating a SYSERR entry.

Solution:    	
	Change LOGUNL in PHYSIO so it clears UDBVID.


                               [End of TCO 6.2284]
                               TCO-number:  6.2285



Written-by:  SHTIL                            Creation-date:  10-Jan-85 09:08:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	TAPE


Related-SPR:  	 20191



Problem:  
  	When copying files having same name and extention, but with 
differents generation numbers from an ANSI-labelled tape, every second 
file on the tape is skipped. Especially, the problem exists when one 
issues the command COPY TAP:*.* .

Diagnosis:    
	If the file has exectly the same name as the previous one, then 
TAPE assumes that it is on the previous file and skips ahead to the next 
file.

Solution:    
	Check the tape position before skipping the file. Skip only if it 
is the same as the last position.


                               [End of TCO 6.2285]
                               TCO-number:  6.2294



Written-by:  PALMIERI                         Creation-date:  12-Apr-85 13:47:45


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	NSPSRV




Problem:    36 bit byte does not work correctly when pushing data to a 6.1 system

Diagnosis:    NSPSRV expects that the other TOPS20 system will use a byte size
	of 252 which is 28 modulo 9 when in 36 bit byte mode.  This is not true
	when connected to a 6.1 system.  A 6.1 system will vote 559 and a
	6.0 system will vote 252 (4 less than the usual 256).  NSPSRV takes
	the minimum of 256 (its default blocksize) or the default of the
	other system.  If the other system is 5.1/6.0 it votes 252 and that
	is used.  If it is 6.1 then 256 is chosen.  When in 36 bit byte mode
	NSPSRV must use a blocksize that is modulo 9.  256 is not.  This
	results	in corrupted data over the wire.

Solution:    Have NSPSRV check the byte size and default to 252.  It already
	does this but does not rememeber it.  Have it remember 252 in the
	logical link block and use it intead of 256.


                               [End of TCO 6.2294]
                               TCO-number:  6.1.1000



Written-by:  MCINTEE                          Creation-date:  24-Feb-83 10:03:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR


Problem:  

Diagnosis:  

Solution:  


                               [End of TCO 6.1.1000]
                               TCO-number:  6.1.1003



Written-by:  GUNN                             Creation-date:  20-Jul-83 12:21:32


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	LLMOP	STG	MONSYM




Problem:  Digital Network Architecture (DNA) Phase IV requires
minimum subset Low Level Maintenance OPeration (LLMOP) support
for Ethernet.


Diagnosis:  Need to add code to TOPS-20 Monitor to implement
part of the LLMOP functions.


Solution:  Add new module LLMOP and code in various other
modules to implement Ethernet Loopback Protocol Server,
Remote Console Protocol Server, and LLMOP% JSYS as interface
to Ethernet Loopback Requestor and Remote Console Requestor.



                               [End of TCO 6.1.1003]
                               TCO-number:  6.1.1004



Written-by:  GLINDELL                         Creation-date:  28-Nov-83 11:15:44


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCJSYS	MONSYM	STG	PROLOG	GLOB




Problem:  
There is a need for a way to set and read link parameters and quotas
for a logical link.

Diagnosis:  
Not needed before.

Solution:  
Add 4 new MTOPR functions: set/read link parameters, and set/read link
quotas.


                               [End of TCO 6.1.1004]
                               TCO-number:  6.1.1007



Written-by:  GLINDELL                         Creation-date:  12-Jun-84 16:37:36


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	scjsys




Problem:  DECnet X25 object numbers do not have names defined
Diagnosis:  Not needed before
Solution:  Add names/object numbers X25GAT/31, X29SRV/34 and X25HST/36

                               [End of TCO 6.1.1007]
                               TCO-number:  6.1.1008



Written-by:  GLINDELL                         Creation-date:   3-Jul-84 13:46:57


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	jntman




Problem:  
DECnet startup is slow when there are many nodes to define. Engineering
net currently has more than 2000 nodes defined.

Diagnosis:  

Solution:  
Add a new function to the NODE% jsys that allows a table of node names
and numbers to be inserted into the monitor. The SETNOD program will use
this function.


                               [End of TCO 6.1.1008]
                               TCO-number:  6.1.1009



Written-by:  PAETZOLD                         Creation-date:  18-Jul-84 19:14:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	PHYSIO	PHYH2	STG	pagutl




Problem:  : 

Low on address space.  However need to support 4 meg of memory.

Diagnosis:  : 

Need to move more stuff out of PC section.

Solution:  : 

Move CST5.


                               [End of TCO 6.1.1009]
                               TCO-number:  6.1.1010



Written-by:  PRATT                            Creation-date:  30-Jul-84 11:17:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	GLOBS	IPNIDV	ANAUNV	IPIPIP	IMPDV
			IPFREE	MNETDV	MONSYM	PARAMS	TTYSRV	TTANDV
			TTPHDV




Problem:    	Can't transmit TCP/IP over Ethernet

Diagnosis:    	No code

Solution:    	Write the code

	In addition, changes are needed to TTYSRV, and TTANDV
	so that TTANDV can assemble independently of TTYSRV.


                               [End of TCO 6.1.1010]
                               TCO-number:  6.1.1011



Written-by:  GROSSMAN                         Creation-date:  17-Aug-84 20:22:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	MONSYM	STG




Problem:  User's can't do Ethernet functions directly.

Diagnosis:  No interface.

Solution:  Add the NI% JSYS.  The functions come later.


                               [End of TCO 6.1.1011]
                               TCO-number:  6.1.1021



Written-by:  GLINDELL                         Creation-date:  10-Oct-84 16:03:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV	globs	JSYSA	LDINIT	MEXEC	PAGEM
			pagutl	PROLOG	STG




Problem:  Merge 6.1 address space changes.


                               [End of TCO 6.1.1021]
                               TCO-number:  6.1.1022



Written-by:  PRATT                            Creation-date:  12-Oct-84 06:49:46
Edited-by:   PRATT                            Edit-date:      25-Oct-84 13:51:36


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	TTYSRV	LATSRV	TTANDV	TTPHDV	MONSYM




Problem:      

	There is no jsys which provides a means for finding out
	the originating node for a given job coming into the 20
	from a network.

Diagnosis:      	No code

Solution:      

	Add a new jsys call NTINF% which will be a generic network
	information jsys. The new standard jsys calling sequence 
	will be used for passing arguments.

	Given the terminal number, job #, or -1 (for self), function 
	.NWRRH will return the remote hostname for the job.


                               [End of TCO 6.1.1022]
                               TCO-number:  6.1.1024



Written-by:  PAETZOLD                         Creation-date:  17-Oct-84 20:34:25
Edited-by:   PAETZOLD                         Edit-date:      17-Oct-84 21:31:06


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	MNETDV




Problem:      

No way to return list of Internet addresses for the system.

Diagnosis:      

Oversight.

Solution:      

Add function .GTHLA to the GTHST% JSYS.  Calling sequence (simliar to 
conventions for this JSYS) is:

1/  .GTHLA
3/  Destination Address
4/  Count of items to return

Non skip return indicates error (ARGX24 only possible)
skip return indicates success.  T4 contains count of items returned.


                               [End of TCO 6.1.1024]
                               TCO-number:  6.1.1026



Written-by:  PRATT                            Creation-date:  20-Oct-84 17:55:06
Edited-by:   PRATT                            Edit-date:      22-Oct-84 12:37:12


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-QAR:  	706037



Problem:    

	We have a way of retrieving the last command if it had an error
	but have no way to retrieve it if that command completed sucessfully.

Diagnosis:  	No code

Solution:    	Add the code which allows ^H to retrieve the last
		command without the confirmation character.


                               [End of TCO 6.1.1026]
                               TCO-number:  6.1.1030



Written-by:  PRATT                            Creation-date:   1-Nov-84 14:14:57


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ANAUNV	STG	GLOBS	MNETDV	IPIPIP




Problem:  	No way to run TCP/IP over the CI

Diagnosis:    	No code

Solution:  

	Create a new module called IPCIDV which interfaces 
	Multinet to SCA.

	Change MNETDV so that it accepts an IPCI device

  	Change ANAUNV to build an NCT for IPCI

	Change IPIPIP to call CIPSRV from the Internet fork

	Change STG to define storage for IPCIDV


                               [End of TCO 6.1.1030]
                               TCO-number:  6.1.1032



Written-by:  PRATT                            Creation-date:   5-Nov-84 16:30:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG	STG	GLOBS	TTYSRV	TTPHDV	TTANDV
			TTYDEF




Problem:    

	TTYSRV/TTYDEF can't be compiled in the normal M61: area
	for Arpanet monitors or any other monitor which would turn
	off LAT, or CTERM.

	Also, we still have lots of references to line types which
	don't exist, such as the DZ, DC, and RP line types.

Diagnosis:  

  	TTYDEF.MAC contains conditonal assembly for Arpanet, LAT, CTERM
	and NRT. TTYSRV uses TTYDEF.UNV to find out which line types
	to assemble into the TDCALL's and other things. What results is a 
	TTYSRV.REL which may or may not have any one of the particular 
	line types turned on even though the monitor is built with the 
	corresonding device dependent code. BADTTY buglhts usually result. 

	Further complications can occur when assembling the device
	dependent modules with an unknown TTYDEF.UNV.

Solution:    

        Remove traces of the DC, DZ, and RP line types and the 
        KCFLG conditional code. Save the code for historical reasons
        in a module called TTDZKC.
        
	Update the line type values in PROLOG

        Change the names of some local routines within TTYSRV which the 
	NRT and FE code references because they are already globally 
        defined elsewhere in the monitor.
        
        Remove the TDCALL macros from TTYDEF and rewrite them so they
        always assemble the device specific code. Dummy symbols will
        be defined within STG if the device specific code is not loaded.

	Move some storage that was defined within TTYSRV to STG

	Move the FE line code to a module called RSXSRV.MAC

	Move the NRT code to a module called NRTSRV.MAC

	Make TTANDV.MAC become TVTSRV.MAC

        Make a bunch of symbols global.

	Add the LOADMODULES for the new device specific modules

	Turn on the device specific code based on the global
	flags used for each network or device.


                               [End of TCO 6.1.1032]
                               TCO-number:  6.1.1033



Written-by:  GLINDELL                         Creation-date:   6-Nov-84 17:10:38
Edited-by:   GLINDELL                         Edit-date:       6-Nov-84 17:20:17


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	sclink




Problem:    In a large network, there will be a lot of 'node online'
and 'node offline' messages. What the operator is probably interested
in seeing is if any nodes go offline that people have open links to.

Diagnosis:  
Solution:    Remove the 'node online' and 'node offline' code from GALAXY.
Make SCLINK generate 'link broken' messages.

When SCLINK discovers that a user link is broken, the node in question
will be added to an offline table. Every 10 seconds the table will be
checked, and an operator message will be generated if the table was
non-empty. The message format will be (approximately)

15:22:03	-- Message from monitor --

User links to the following DECnet nodes were broken:
KL2102	GIDNEY	CLOYD	

If there are more than 5 nodes, only the first 5 will be typed out followed
by 'and more'.

The operator will be able to suppress typeout of these messages by
	DISABLE OUTPUT-DISPLAY (OF) DECNET-LINK-MESSAGES


                               [End of TCO 6.1.1033]
                               TCO-number:  6.1.1035



Written-by:  PALMIERI                         Creation-date:   7-Nov-84 15:20:44
Edited-by:   PALMIERI                         Edit-date:       7-Nov-84 16:11:28


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ROUTER	DNADLL	D36COM	SCLINK	JNTMAN	D36PAR




Problem:    Can't send buffers larger than 576 on the Ethernet or the CI.

Diagnosis:    No code

Solution:   Add code to select a receive blocksize based on the circuit
type.  Create DECnet buffers that are as large as the largest receive
blocksize. The default size is 576 bytes and a larger or smaller
blocksize may be selected in CONFIG.CMD.  Provide a routine for the
session control to determine the largest blocksize that it can use on
transmit for a given logical link.  Large buffers can only be used to
adjacent nodes which support large blocksizes.  If large buffers are
in use over a circuit and the circuit fails another path to the
adjacent node may be selected.  If the new circuit has a smaller
blocksize than the previous the link will be aborted.


                               [End of TCO 6.1.1035]
                               TCO-number:  6.1.1036



Written-by:  PAETZOLD                         Creation-date:   7-Nov-84 18:33:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG




Problem:    

XNENT and XRENT need to be able to define global symbols.

Diagnosis:    

They do not do this now.

Solution:    

Add an optional argument to the macro.  If it is set to a non null string
("G" is recommended) then make the symbol internal.


                               [End of TCO 6.1.1036]
                               TCO-number:  6.1.1037



Written-by:  PAETZOLD                         Creation-date:   9-Nov-84 11:13:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PROLOG




Problem:    

No easy way to call into msec1 from xcdsec.

Diagnosis:  

Solution:    

add a new macro called callx which is just like xcall except that it does
not do a EA.ENT.


                               [End of TCO 6.1.1037]
                               TCO-number:  6.1.1038



Written-by:  GROSSMAN                         Creation-date:   9-Nov-84 13:02:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:  Too much scheduler overhead

Diagnosis:  LV8CHK does a CALL R 50 times a second.

Solution:  Remove the CALL R in LV8CHK.  Actually, it is really a CALL NISCH.
Since PHYKNI does not need a scheduler level entry point, NISCH was redefined
to be R.


                               [End of TCO 6.1.1038]
                               TCO-number:  6.1.1039



Written-by:  PAETZOLD                         Creation-date:   9-Nov-84 18:17:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	SCHED




Problem:    

MRETN to monitor context from XCDSEC causes previous caller ACs to not be
restored correctly.

Diagnosis:    

MRETN is running in XCDSEC also (in this case).  Microcode problem causes
the BLT to restore ACs to fail.

Solution:    

Force monitor into section one at MRETN1.


                               [End of TCO 6.1.1039]
                               TCO-number:  6.1.1040



Written-by:  PRATT                            Creation-date:   9-Nov-84 18:30:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CTHSRV




Problem:    

	Setting the pause/unpause characters on a system you are
	CTERM'd, can generate a confusing message from the cterm-server 
	and also mess up the echoing of those characters.

Diagnosis:    

	There were actually a few problems:

	The CTHPPC routine sends a message to tell the host to 
	change it's local echoing for the pause/unpause characters.
	After entering the routine, by mistake, the code tries to save the 
	characters twice and unfortunately does it wrong both times.
	The 1st time it is saved in the wrong AC, and the 2nd time
	it picks up the characters out of a smashed AC.

	This produced weird characters which were sent to the 
	cterm-server program on the other system and exercises
	a bug there as well.

Solution:    

	Save the characters in the right AC before they are smashed.


                               [End of TCO 6.1.1040]
                               TCO-number:  6.1.1041



Written-by:  PAETZOLD                         Creation-date:  11-Nov-84 11:39:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IPIPIP	IPFREE	IPNIDV	IPCIDV	TCPTCP	TCPCRC
			TCPBBN	TCPJFN	IMPANX	IMPDV	MNETDV	ANAUNV
			TVTSRV	STG




Problem:    

Address space.

Diagnosis:    

Not enough.

Solution:    

Move ARPANET code to XCDSEC.  Move almost all of it.  Some of the TCOPR%
JSYS code remains in MSEC1, TVTSRV remains in MSEC1 but calls into XCDSEC.
This frees up 37 pages in MSEC1.


                               [End of TCO 6.1.1041]
                               TCO-number:  6.1.1045



Written-by:  GROSSMAN                         Creation-date:  12-Nov-84 17:09:02
Edited-by:   GROSSMAN                         Edit-date:      13-Nov-84 01:27:51


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK	JSYSA	NIPAR	NISRV	MONSYM	NIUSR
			PHYKNI	




Problem:    No NI% JSYS code.

Diagnosis:    Code not written.

Solution:    Write the code.

Note that a new KNILDR is required.  Also note that the new ERRMES.BIN
should be put up.


                               [End of TCO 6.1.1045]
                               TCO-number:  6.1.1046



Written-by:  GROSSMAN                         Creation-date:  12-Nov-84 23:36:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	nisrv




Problem:  Closing of an NISRV portal occasionally results in a KNIBER BUGHLT.

Diagnosis:  Overly paranoid programmer.  KNIBER (KNI Bad Error Return) happens
whenever PHYKNI gives an unexpected error return to NISRV.

Solution:  There is no need for such paranoia, pass the error upwards and
let the caller deal with the problem (the problem is usually a memory
allocation failure).


                               [End of TCO 6.1.1046]
                               TCO-number:  6.1.1047



Written-by:  GROSSMAN                         Creation-date:  13-Nov-84 00:00:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phykni




Problem:  Various and sundry fixes in preparation for NI% JSYS:

1) PHYKNI can now abort commands for a channel that isn't running.  This
   causes the command to be returned (via the callback mechanism) with the
   error code UNCAB%.  This means that a portal can now be closed even
   though the channel is dead.

2) A mousetrap has been put in to help track down the spurious KNISTP's
   that people have been seeing.  This will cause a KNICRS (Can't Read
   Station Info) BUGCHK to print out if PHYKNI is unable to queue up a
   command to the port to see if it's alive.

3) KNISTP was fixed so that it will really stop the KLNI.  This allows
   KNILDR to dump and reload it.  (Unfortunately, KNILDR has a bug which
   currently prevents this from happening).

4) Fix PXCT bug in FIXBSD when dealing with user mode addresses.

5) Make sure that Receive Failure Bit mask is 0 if Receive Failure count
   is 0.

6) Fix race in NISTP.


                               [End of TCO 6.1.1047]
                               TCO-number:  6.1.1048



Written-by:  GROSSMAN                         Creation-date:  13-Nov-84 00:15:06
Edited-by:   GROSSMAN                         Edit-date:      13-Nov-84 00:21:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIPAR




Problem:    KLNI state symbols in the monitor do not correspond with NI%
state symbols in MONSYM.

Symbols aren't global.

TABENT macro cannot deal with arguments that expand to multiple lines of
macro.

Diagnosis:  
Solution:    Make all UNS.xx symbols in the monitor correspond with .NISxx
symbols in MONSYM.

Make all definitions in NIPAR be global to avoid confusion if values should
happen to change.

Rewrite TABENT and friends.  Now you can generate a table with LOADs and
STORs as arguments.


                               [End of TCO 6.1.1048]
                               TCO-number:  6.1.1051



Written-by:  GROSSMAN                         Creation-date:  13-Nov-84 16:48:19
Edited-by:   GROSSMAN                         Edit-date:      13-Nov-84 16:51:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:    Programs using NISRV can get hung if KNILDR never completes reload
of the KLNI.

Diagnosis:  
Solution:    Time out KNILDR.  If KNILDR doesn't complete in 15. seconds, then
a KNIRTO BUGCHK will occur.  We will also put the port in the "Can't Reload"
state, and all portals will be informed that the KLNI is now OFF.


                               [End of TCO 6.1.1051]
                               TCO-number:  6.1.1052



Written-by:  GROSSMAN                         Creation-date:  13-Nov-84 22:55:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  EA.ENT much too slow.

Diagnosis:  The routine $EAENT was written in the stone age of extended
addressing.

Solution:  Take advantage of new inventions (like XJRST).  This considerably
simplifies switching from section 0 to section 1.


                               [End of TCO 6.1.1052]
                               TCO-number:  6.1.1054



Written-by:  GROSSMAN                         Creation-date:  15-Nov-84 14:06:27


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM	NIUSR




Problem:  NI% JSYS symbols conflict with other symbols in the monitor.

Solution:  Change prefix of Buffer Descriptor blocks from BD to BX.  Change
prefix of NI% JSYS argument block from NI to EI.

Change a spec.  Change 7 programs.


                               [End of TCO 6.1.1054]
                               TCO-number:  6.1.1055



Written-by:  MELOHN                           Creation-date:  16-Nov-84 19:26:05
Edited-by:   MELOHN                           Edit-date:      17-Nov-84 16:24:02


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA	SETSPD	GLOB	LATSRV




Problem:  Need SETSPD command and corresponding SMON% to set default LAT state 
at startup time.

Diagnosis:  No Code.

Solution:  Add new SMON function to set LAT initial startup state. Change SETSPD
to set this state (default is LAT ON). Users can set LAT state off, and then use
LCP commands (LATOP%) to set groups, IDs, etc, before turning LAT on. Most users
will ignore this command, and LAT will come by default, with LAT group 0
enabled.


                               [End of TCO 6.1.1055]
                               TCO-number:  6.1.1056



Written-by:  PRATT                            Creation-date:  18-Nov-84 13:23:53
Edited-by:   PRATT                            Edit-date:      18-Nov-84 13:30:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-QAR:  	706236



Problem:      

        COMND returns NPXAMB (ambiguous) when given a FDB list of
        .CMSWI followed by any other function if the user types
        "/<ESC>".
                
	COMND should just beep and continue parsing.

Diagnosis:      

        CMAMBT gets called when an escape is seen and there is no data
        in the atom buffer. It then checks for another FDB in the list
        and if it finds one, attempts to parse using the new one. Since a
        "/" was already typed the next FDB in the list will probably not
        be able to parse causing the error return.

Solution:      

	Check to see if we have a prefix character. If so, do not 
	try to parse the next FDB, just beep and continue trying 
	to parse this field.


                               [End of TCO 6.1.1056]
                               TCO-number:  6.1.1059



Written-by:  MELOHN                           Creation-date:  19-Nov-84 15:26:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV	CTHSRV




Problem:  Detaching a job from a CTERM terminal leaves the terminal in a 
wierd state, where only the escape sequence and control C do anything.

Diagnosis:  The TDCALL for detaching a CTERM terminal does a front end request
which doesn't do much for a non-front end terminal. 

Solution:  Change the TDCALL to work just like NRT and LAT terminals, which 
don't do FE requests.


                               [End of TCO 6.1.1059]
                               TCO-number:  6.1.1061



Written-by:  GROSSMAN                         Creation-date:  20-Nov-84 00:57:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  DECnet and LAT do not survive KLNI reloads.

Diagnosis:  State mappings in PHYKNI are incorrect.

Solution:  Rewrite SETSTA.  Make it table driven.


                               [End of TCO 6.1.1061]
                               TCO-number:  6.1.1062



Written-by:  HAUDEL                           Creation-date:  21-Nov-84 08:01:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:  Monitor code moved to extended sections and the "keep" 
bit is not set for machines that have the MCA25.

Diagnosis:  No code to do so.

Solution:  Add code. The "keep" bit will now be set for RSCOD,RSDAT,
RSVAR,XRCOD,and XRVAR. The CSTs will also have the "keep" bit set.



                               [End of TCO 6.1.1062]
                               TCO-number:  6.1.1064



Written-by:  GROSSMAN                         Creation-date:  28-Nov-84 13:44:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NISRV




Problem:  NISRV is dependant upon D36COM.

Diagnosis:  NISRV uses D36COMs memory manager.

Solution:  Use the memory manager in FREE (ie: ASGRES/RELRES).


                               [End of TCO 6.1.1064]
                               TCO-number:  6.1.1067



Written-by:  GROSSMAN                         Creation-date:   3-Dec-84 13:40:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NITEST




Problem:  NITEST uses DNGWDS.

Solution:  Make it use ASGRES.


                               [End of TCO 6.1.1067]
                               TCO-number:  6.1.1072



Written-by:  GROSSMAN                         Creation-date:   5-Dec-84 00:33:22


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	NISRV	PHYKNI




Problem:  1) Unused code in NISRV.
2) Error responses not handled appropriately.

Solution:  1) Remove unused code.

2) Dispatch on various error types instead of using catchall KNISCE.  We
   now have:

	KNIBLV (Halt) - Buffer length violation
	KNIIEC (Halt) - Illegal error code
	KNICCF (Chk)  - Carrier check failed
	KNICDF (Chk)  - Collision detect check failed
	KNIFTL (Chk)  - Frame too long
	KNIRFD (Chk)  - Remote failure to defer
	KNIFTS (Halt) - Frame too short
	KNIDOV (Chk)  - NIA buffer overrun


Some of these errors are also passed up to the user in the form of an NISRV
error code.  Some errors that used to be reported via KNISCE now just get
passed up to the user (such as Queue length violations).


                               [End of TCO 6.1.1072]
                               TCO-number:  6.1.1074



Written-by:  GUNN                             Creation-date:   6-Dec-84 14:58:47
Edited-by:   GUNN                             Edit-date:       8-Jan-85 17:01:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IPCF	FREE


Related-SPR:  	 18886	 20473



Problem:      @RETRIEVE *.* command on directory with large number of files
(300+) may encounter random failures for some files. For example;

	@RETRIEVE *.*
	 F001.DAT.1 [OK]
	 F002.DAT.1 [OK]
	 ...
	 F213.DAT.1 [OK]
	 F214.DAT.1 Archive system request not completed
	 F215.DAT.1 [OK]
	 F216.DAT.1 Archive system request not completed
	 F217.DAT.1 Archive system request not completed
	 F218.DAT.1 [OK]
	 ...
	@

Diagnosis:  	The ARCF% JSYS function .ARRST sends an IPCF
packet to QUASAR for each file to be retrieved. The PID QUASAR uses to
receive its IPCF packets is not quota controlled. Any sender has the
potential to 'flood' QUASAR, especially under conditions where
QUASAR might not be able to receive and process its packets in a
timely fashion. It is possible under these conditions for all of the
IPCF free space to be used up temporarily until QUASAR receives the
packets and releases the space.

	The routine ARCMSG in IPCF is responsible for sending packets
to QUASAR for the archive functions. It calls the common routine
MESTOR to send the packets. MESTOR can fail in two cases which are
potentially recoverable, if the receivers PID is over quota (IPCFX7),
or the call to ASGIPC fails to get free space for the packet.
Currently, ARCMSG doesn't return error information to its caller.
There is code that attempts to protect against over quota failures by
going OKINT and DISMS'ing until the receiver has gone back under
quota, but this code has the potential of leaving the caller NOINT.

Solution:   Make ARCMSG return an error code in T1 on failure. Have
ARCMSG pass up the error code from ASGIPC or MESTOR failures. Add a
mechanism to RELIPC to flag when free space is again available and
have callers (particularly code at ARRFR in JSYSF) of ARCMSG go OKINT
and DISMS until the recoverable conditions have changed and try again.


                               [End of TCO 6.1.1074]
                               TCO-number:  6.1.1076



Written-by:  MCCOLLUM                         Creation-date:   7-Dec-84 16:38:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND




Problem:  
MONNEJ bugchks


Diagnosis:  
Missing ERJMPs after MTOPRs in COMND


Solution:  
Add ERJMPs



                               [End of TCO 6.1.1076]
                               TCO-number:  6.1.1079



Written-by:  PAETZOLD                         Creation-date:  11-Dec-84 13:13:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	mnetdv




Problem:    

ATNVT% referencing section 1 stuff from 6 without proper care.

Diagnosis:    

EBD.

Solution:    

Use an XJRST when referencing TVTJFN.


                               [End of TCO 6.1.1079]
                               TCO-number:  6.1.1080



Written-by:  GROSSMAN                         Creation-date:  11-Dec-84 14:38:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIPAR




Problem:  Bit masks returned by Read Channel Counters funtion of NISRV
are undefined.

Solution:  Define the bits.  They live in the fields CCRFM and CCSFM (receive
and send failure masks).


                               [End of TCO 6.1.1080]
                               TCO-number:  6.1.1081



Written-by:  GROSSMAN                         Creation-date:  11-Dec-84 14:50:32


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NISRV




Problem:  If the .NICLO function of NISRV fails, the portal that was being
closed can no longer be used in any way (such as re-trying the .NICLO
function).

Diagnosis:  When .NICLO closes a portal, it sets the "closing" flag for that
portal.  This flag prevents people from doing anything with the portal while
it is being closed.  Unfortunately, when an error occurred during a close,
the "closed" flag was not being reset, and therefore nobody could play with
the portal anymore.

The most common error that occurs during an close is a resource error.
Usually, this happens during system startup, or heavy Ethernet traffic.

Solution:  Clear the "closing" flag when giving an error back to the user.


                               [End of TCO 6.1.1081]
                               TCO-number:  6.1.1082



Written-by:  GROSSMAN                         Creation-date:  11-Dec-84 15:20:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIUSR




Problem:  The NI% JSYS:
1) Buffer status is not being returned upon completion of xmits and rcvs.
2) ^C can't get out of a blocking receive.
3) Random user ?Ill mem refs from programs that use the NI% JSYS.

Diagnosis:  1) Oops
2) Wrong check in the receive complete and transmit complete scheduler tests.
3) User was putting a receive buffer on a copy on write page.  The receive
   buffer code lock the page down.  The user then attempts to modify the page,
   which causes the monitor to attempt to give the user his own copy of the
   page.  Unfortunately, the page is locked down (by NIUSR) and PAGEM refuses
   to do the copy on write.  This eventually turns into an ?Illegal write ref...

Solution:  1) Write the code.
2) Check FKPS1 instead of FKPS0 inside the scheduler test.
3) Attempt to write a byte into the user's receive buffer.  If the page is
   copy on write, he will get his own private writeable copy of the page and
   all is well.  If the page is not writeable, he will get an illegal write
   reference trap of some sort.  If the page is writeable, no problem.


                               [End of TCO 6.1.1082]
                               TCO-number:  6.1.1086



Written-by:  GRANT                            Creation-date:  13-Dec-84 07:01:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp	scampi




Problem:  Poorly coordinated BUGxxx.
Diagnosis:  SCA and CI-20 device driver don't handle the closing of a virual
           circuit in the same manner when it comes to outputting stuff on
           the CTY.
Solution:  Remove SCACVC.  Make SCATMO a BUGINF rather than a BUGCHK.  
          Create KLPCVC (closed virutal circuit).  Change KLPNUP to KLPOVC
          (opened virtual circuit).

          Now, whenever TOPS-20 opens a virtual circuit you will get a KLPOVC
          and whenever TOPS-20 closes a virutal circuit you will get a KLPCVC.

                               [End of TCO 6.1.1086]
                               TCO-number:  6.1.1087



Written-by:  HAUDEL                           Creation-date:  13-Dec-84 10:09:26


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM




Problem:  DIAG% functions for the Reading and Writing of maintenance data
do not have any entries in MONSYM.

Diagnosis:  Entries never added.

Solution:  Add .DGWMD and .DGRMD to Monsym.


                               [End of TCO 6.1.1087]
                               TCO-number:  6.1.1088



Written-by:  MELOHN                           Creation-date:  13-Dec-84 15:24:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	latsrv




Problem:  If LAT-STATE is OFF in config file and user attempts to connect
to host before the first multicast message is sent out, system crashes with
SKDPF1.

Diagnosis:  If a start message is recieved from a LAT server and the LAT
circuit state is off, routine HMSTRT calls LCLHLT to shut down the circuit.
Since no circuit yet exists, we get a SKDPF1. 

Solution:  Re-arrange the checks in HMSTRT so that we don't bother checking
any circuit related parameters if the circuit doesn't exist yet.


                               [End of TCO 6.1.1088]
                               TCO-number:  6.1.1089



Written-by:  MELOHN                           Creation-date:  13-Dec-84 16:02:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CTHSRV


Related-TCO:  	6.1.1058



Problem:    System crashes with ILMNRF before TCO 6.1.1058, and MCLNSK after.

Diagnosis:    
(courtesy of Gunnar Lindell)

1. User is running on a CTERM line and does a jsys that will affect the
   PSI system, for instance ATI or STIW.
2. Since the PSI system will be affected, the fork lock is acquired.
   As a consequence, the job goes CRSKED.
3. TTYSRV is called by the jsys to process the function. TTYSRV gets
   the terminal lock (LCKTTY).  As a consequence, the job goes NOINT.
4. The connection with the remote host is broken some time after that
   ULKTTY was called, and before (6).
5. TTYSRV calls CTHSRV to process the function (CTHSPS for instance).
   The first thing CTHSRV does is to lock the CTERM database (LOKCDB).
6. LOKCDB will check if the link state is RUN.  It wont be, since the
   connection was broken.  So LOKCDB will decide to 'blow the link away'.
   It does this by calling MSGREL (in CTHSRV).  MSGREL queues up a
   'carrier off' PSI.  It wont of course take effect yet, since the job
   is still NOINT.
7. After calling MSGREL, LOKCD0 goes on to call ULKTTY, and this is
   where the roof falls in.  ULKTTY will do an OKINT, this will let
   the carrier off interrupt in.  That will trap to FLOGO1.  There
   a jsys entry is simulated by calling MCENTR.  SInce we are still
   CRSKED (from the fork lock) we bughlt MCLNSK!

Solution:    Remove call to ULKTTY at LOKCD1. There should be no reason
to ever have to unlock the TDB on error, since the caller who locked
the TDB in the first place will unlock it as well. This also fixes the
case where if we fail for some reason to get the CDB, an ULKBAD BUGCHK
occurs, since we tried to unlock the TTLOK twice.


                               [End of TCO 6.1.1089]
                               TCO-number:  6.1.1090



Written-by:  HAUDEL                           Creation-date:  17-Dec-84 08:40:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCSJSY	SCHED	MONSYM




Problem:  Possible "race condition" errors in SCSJSY.MAC

Diagnosis:  Code not written to handle such conditions.

Solution:  Change code in SCSJSY, change the way SCSJSY code is
called from SCHED, and change/delete some error codes in MONSYM.


                               [End of TCO 6.1.1090]
                               TCO-number:  6.1.1091



Written-by:  GRANT                            Creation-date:  17-Dec-84 10:19:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phymsc	STG	globs




Problem:  Too many CI-related BUGxxx.
Diagnosis:  Many CI-related BUGxxx were created for debugging purposes but aren't
           necessary during normal operation.
Solution:  Create the cell CIBUGX;  the default for its contents is zero.  If
          CIBUGX is non-zero you will get more CI-related BUGxxx.

                               [End of TCO 6.1.1091]
                               TCO-number:  6.1.1092



Written-by:  TBOYLE                           Creation-date:  17-Dec-84 15:41:52
Edited-by:   TBOYLE                           Edit-date:      18-Dec-84 12:13:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	EXECSU	TTYSRV




Problem:    

	Jobs lying around in LOGOUT or Not logged in EXEC jobs. This
happens on LAT, CTM, NRT and also FE lines.

Diagnosis:    

	Along the process of LOGOUT somebody usually does an unconditional
block like a DOBE in the EXEC's case after printing "Autologout" and a
call to TTDOBE in the hangup code.

	We should not do this because the final rundown in LGOUT% JSYS
trys SOBE's for 15 seconds and the gives up so that LOGOUT can proceed.

Solution:    

	Remove DOBE in AUTOL6 and remove CALL TTDOBE in the TTHNGU code.
Move the CFOBF to be after the 15 seconds rundown so that FE lines
don't have the previous guys logout message hanging around in them.


                               [End of TCO 6.1.1092]
                               TCO-number:  6.1.1095



Written-by:  HAUDEL                           Creation-date:  19-Dec-84 12:58:27
Edited-by:   HAUDEL                           Edit-date:      19-Dec-84 13:04:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO


Related-SPR:  	 20000



Problem:      
I/O could fail to restart if the tape "rewind timer" mechanism
set the tape status to indicate BOT and there are IORBs queued
to the device via the UDBTWQ of the UDB.

Diagnosis:      
The "rewind timer" mechanism did not include a way for this
to happen.

Solution:     
Have the "rewind timer" code set US.OIR when it sets US.BOT.


                               [End of TCO 6.1.1095]
                               TCO-number:  6.1.1096



Written-by:  LOMARTIRE                        Creation-date:  21-Dec-84 08:54:26
Edited-by:   LOMARTIRE                        Edit-date:      21-Dec-84 08:55:43


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKLP	JSYSA	MONSYM	GLOBS	CFSSRV




Problem:     There is no way to obtain the names of the HSC nodes to which we have 
open connections.

Diagnosis:     No function to do this.

Solution:     Add a function to the CNFIG% JSYS.  This function, .CFHSC, will 
return the node names of any HSCs to which we have an open VC.  The argument 
block returned is identical in format to the one returned by the .CFCND 
function (return all CFS nodes).


                               [End of TCO 6.1.1096]
                               TCO-number:  6.1.1097



Written-by:  GRANT                            Creation-date:  28-Dec-84 09:32:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMVR	SCAMPI	GLOBS	STG




Problem:  It is difficult to debug in a multi-CPU configutation because various
         CI-related timers go off and cause connections to close.
Diagnosis:  There is no nice way of turning off these timers.
Solution:  Create the cell CITIMR and make it non-0 if you are debugging and
          want to stop on breakpoints without having the other node(s)
          time you out.  

                               [End of TCO 6.1.1097]
                               TCO-number:  6.1.1099



Written-by:  GRANT                            Creation-date:  30-Dec-84 06:36:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYPAR




Problem:  It is difficult to find the device unit number, given a CDB, KDB,
         and UDB.
Diagnosis:  The data structures are not always interpretted the same and the
           definitions in PHYPAR don't provide much help.
Solution:  Enhance definitions of UDBSLV and CDBUDB.

                               [End of TCO 6.1.1099]
                               TCO-number:  6.1.1100



Written-by:  PAETZOLD                         Creation-date:  31-Dec-84 13:04:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	ipcidv




Problem:    

Low order octet of the local internet address defined for the internet 
CI interface must agree with the CI node number.  it is however easy to
do this wrong.

Diagnosis:  

Solution:    

in CIPRST generate a CIPBAD BUGINF if the address is wrong and do not 
initialize the multinet interface.


                               [End of TCO 6.1.1100]
                               TCO-number:  6.1.1101



Written-by:  PAETZOLD                         Creation-date:   1-Jan-85 13:53:09
Edited-by:   PAETZOLD                         Edit-date:       2-Jan-85 11:20:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	GTJFN




Problem:      

Most JFN informational JSYSi (eg. DVCHR, JFNS) do not work with DSK*: JFNs.

Diagnosis:      

GTJFN is overzealous is trimming free space blocks and is overtrimming 
the device name block when DSK*: is used.

Solution:      

Make STRDEV fix up FILOPT(JFN) to make sure enough space is reserved for
a full device name.


                               [End of TCO 6.1.1101]
                               TCO-number:  6.1.1108



Written-by:  GRANT                            Creation-date:   4-Jan-85 08:08:58
Edited-by:   GRANT                            Edit-date:       4-Jan-85 08:18:25


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp	STG	globs


Related-QAR:  	706372



Problem:      If you have a broken CI-20 it may be impossible to boot your
         system because you may always get a KLPNRL BUGHLT.

Diagnosis:      If TOPS-20 decides to reload the port during startup (after its
           initial attempt), a KLPNRL is pretty much guaranteed.  There
           needs to be a clean way to boot the system and have it ignore
           the port so you can run SPEAR and find out what the problem is.

Solution:      Create the cell NOKLIP.  If it contains a non-0 value at system
          startup, the port will be reset and then ignored by TOPS-20.


                               [End of TCO 6.1.1108]
                               TCO-number:  6.1.1109



Written-by:  GROSSMAN                         Creation-date:   4-Jan-85 08:44:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NISRV	PHYKNI




Problem:  1) Disabling multicasts would hose the monitor over.
2) Promiscuous & Unknown modes of operation did not work.
3) NISRV too slow.
4) Unused code.
5) KNIRTO BUGCHKs
6) KLNI variables not be handled properly after a restart.

Solution:  1) Throw out the disable multicast code and start over.

3) Implement a memory cache for all memory required by transmits or receives.
   When blocks on the cache aren't used for a minute or more, return them to
   the resident free space pool.
4) Remove unused code.
5) KNIRTO timer was too small.  Increase it from 15. to 30. seconds.
6) Implement a validity flag for each KLNI variable we maintain.  When the
   KLNI gets restarted, ensure that all valid variables get set in the KLNI.

In addition, add a cell called TOTINT which contains the cumulative run time
NISRV spends at interrupt level.  This time is in the same format as that
returned by RDTIME.


                               [End of TCO 6.1.1109]
                               TCO-number:  6.1.1110



Written-by:  LEACHE                           Creation-date:   4-Jan-85 13:51:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	STG




Problem:    
	(1)  Symbols created in KDDT user mode get lost.
	(2)  Symbol-table growth in user mode causes the table
	     to cross a section boundary, causing section 36 to be
	     mapped.

Diagnosis:    
	(1)  Symbol table pointers not being correctly managed by the
	     pre and post KDDT code in STG.
	(2)  Symbol table being BLT'ed into the low end of section 37
	     instead of the high end.

Solution:    
	(1)  Manage the symbol table pointers correctly.
	(2)  Move the symbol table to the high end of section 37 while in
	     KDDT user mode.


                               [End of TCO 6.1.1110]
                               TCO-number:  6.1.1111



Written-by:  MCCOLLUM                         Creation-date:   4-Jan-85 15:00:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  
Job 0 JFNs can be released by a fork other than the one that originally got it.


Diagnosis:  


Solution:  
Set bit GJ%ACC in the GTJFN call at USGOPN



                               [End of TCO 6.1.1111]
                               TCO-number:  6.1.1112



Written-by:  MCCOLLUM                         Creation-date:   4-Jan-85 15:39:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  
GETAB% returns the local job index rather than the global job number
when an entry from the DEVUNT table is requested. Any program which
attempts to use this job number will get unexpected results.


Diagnosis:  
GETAB% returns the value directly from the LH of DEVUNT and does not
convert it to a global job number first.


Solution:  
If the LH of the DEVUNT entry is .GE. zero, call LCL2GL and return
the global job number to the user.



                               [End of TCO 6.1.1112]
                               TCO-number:  6.1.1113



Written-by:  GROSSMAN                         Creation-date:   5-Jan-85 15:53:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NISRV	STG	PHYKNI




Problem:  NISRV wastes lots of paper by printing too many BUGxxxs.

Diagnosis:  KNIFQE (Free Queue Empty), and KNIDMD/KNIDM1 are nice to have for
debugging purposes.  However, they are not good for production situations.

Solution:  Create a cell called NIBUGX that will enable the extraneous BUGxxxs
if it contains non-zero.  It will default to 0.

In addition, move LOADMODULE of NITEST into STG, and make it's loading dependant
upon the DEBUG conditional.


                               [End of TCO 6.1.1113]
                               TCO-number:  6.1.1114



Written-by:  GRANT                            Creation-date:   6-Jan-85 20:03:51
Edited-by:   GRANT                            Edit-date:       7-Jan-85 08:16:55


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	params


Related-QAR:  	706369



Problem:      SAVTRE facility noreadily accessible to non-source site.

Diagnosis:      Must poke with DDT to turn it on.

Solution:      Create symbol SAVTRF and define it as an NDG in PARAMS.  This way
          you can override it with your PARAM0.


                               [End of TCO 6.1.1114]
                               TCO-number:  6.1.1115



Written-by:  HAUDEL                           Creation-date:   7-Jan-85 08:29:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC


Related-QAR:  	706387



Problem:  MONNEJ's when job logs out.

Diagnosis:  No ERJMP after some JSYSes in the Monitor.

Solution:  Add the ERJMPS.


                               [End of TCO 6.1.1115]
                               TCO-number:  6.1.1116



Written-by:  GRANT                            Creation-date:   7-Jan-85 08:31:03
Edited-by:   GRANT                            Edit-date:       7-Jan-85 09:03:06


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	mstr	PHYSIO


Related-QAR:  	706408



Problem:          OPR>SHOW STATUS DISK  incorrectly claims a disk is dual-ported
to another KL when the other port is actually the front end.

Diagnosis:        MSTR% returns incorrect MS%2PT bit value.  When the front end
started sending us its disk configuration packet which causes the U1.FED
bit to get set in the UDB, the MSTR% support routines were never updated.

Solution:         In PHYSIO's GETSTR routine, add the check for U1.FED and don't
return MS%2PT if it is on.  Also, in MSTR, eliminate the check for the disk
being part of PS:;  it's not longer needed.

Note:  Although not part of this QAR's problem, we need to check for
don't-care disk, too.


                               [End of TCO 6.1.1116]
                               TCO-number:  6.1.1118



Written-by:  MCCOLLUM                         Creation-date:   7-Jan-85 16:22:37
Edited-by:   MCCOLLUM                         Edit-date:      11-Jan-85 15:13:09


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF




Problem:  
ARCF% function .ARGST is too slow.

Diagnosis:  
The ARCF% code updates the directory on disk even though .ARGST is a read-only
function.

Solution:  
For ARCF% function .ARGST, don't update the directory. Updating the directory
slows this function down by 100%.


                               [End of TCO 6.1.1118]
                               TCO-number:  6.1.1119



Written-by:  MCCOLLUM                         Creation-date:   8-Jan-85 14:09:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV


Related-QAR:  	706399



Problem:  
Failing TTMSG's can leave a process NOINT.

Diagnosis:  
Error returns from routine SALLIN neglect to go OKINT.

Solution:  
Add OKINTs in error returns.


                               [End of TCO 6.1.1119]
                               TCO-number:  6.1.1120



Written-by:  TBOYLE                           Creation-date:   8-Jan-85 14:54:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMSC


Related-QAR:  	706362



Problem:  CHANS displays cylinder and sector as huge negative numbers
on MSCP disks.

Diagnosis:  PHYMSC forgets to turn off the physical bit before
computing UDBPS1 and UDBPS2.

Solution:  Turn off the IRBPAD bit in the area of MSCS6A.


                               [End of TCO 6.1.1120]
                               TCO-number:  6.1.1121



Written-by:  LOMARTIRE                        Creation-date:   9-Jan-85 10:49:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-SPR:  	 20453

Related-QAR:  	706323



Problem:   ILMNRF while processing a parse-only JFN in GTJFN.

Diagnosis:   RECDIR is attemping to parse the directory name and finds that it 
cannot find the directory.  DIRLUK will return no match but will not return an 
updated byte pointer.
For parse-only JFNs, RECDIR assumes a no match return from DIRLUK is ambiguous 
and "updates" FILOPT with the new byte pointer.  This destroys FILOPT.
This eventually leads to an ILMNRF.

Solution:   Still treat the match as ambiguous but do not update FILOPT for "no 
match" returns from DIRLUK in RECDIR.


                               [End of TCO 6.1.1121]
                               TCO-number:  6.1.1122



Written-by:  GROSSMAN                         Creation-date:   9-Jan-85 10:58:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	NISRV	PHYKNI




Problem:  Various and sundry fixes:

1) Move NISRV to section 6.  This frees up 6 section 0/1 pages from the
   bootable monitor.

2) Fix hung KLNI detector (KNISTP generator) so that resource errors don't
   result in spurious KNISTPs.

3) Fix SBD code in KNIJB0 (runs KNILDR).

4) Re-write GETCOR so that memory is no longer 4 word aligned.  Alignment is
   not necessary on KL10s.



                               [End of TCO 6.1.1122]
                               TCO-number:  6.1.1125



Written-by:  GRANT                            Creation-date:   9-Jan-85 14:41:06
Edited-by:   GRANT                            Edit-date:       9-Jan-85 14:46:31


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP4	phymsc


Related-QAR:  	706405



Problem:        TOPS-20 has wrong drive serial number.

Diagnosis:        While TOPS-20 remained running, a disk had its HDA replaced.
Once we have a UDB, we never reread the serial number.

Solution:        Whenever get an online interrupt (Massbus) or online an
MSCP disk, get the DSN again and put it in the UDB.


                               [End of TCO 6.1.1125]
                               TCO-number:  6.1.1126



Written-by:  MOSER                            Creation-date:  10-Jan-85 16:53:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMVR




Problem:   Too many Bugchks.

Diagnosis:  Some are useless.

Solution:  Remove MSSGON and only do MSSSHT when it is interesting.


                               [End of TCO 6.1.1126]
                               TCO-number:  6.1.1127



Written-by:  LOMARTIRE                        Creation-date:  10-Jan-85 16:56:44
Edited-by:   LOMARTIRE                        Edit-date:      20-Mar-85 10:48:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV


Related-TCO:  	6.1.1279

Related-SPR:  	 20429



Problem:     ILLUUO from a bad argument passed to GTJFN.

Diagnosis:     Code in GTJFN processes the user's byte pointer by placing a XCTBU 
of an ILDB on to the stack and then doing an XCT -2(P).  If the byte pointer is 
bogus, then this will result in the KIMXLP trace of the XCT to go to -2(P) to 
try to find the next instruction.  However, since the stack is now changed, 
this will produce random results.

Solution:     Once KIMUO4 has determined that an XCT caused the UUO, continue the 
search from the trapping instruction which is passed in in T2.  This will avoid 
extra iterations and the confusion that XCT -2(P) causes.


                               [End of TCO 6.1.1127]
                               TCO-number:  6.1.1128



Written-by:  MOSER                            Creation-date:  10-Jan-85 17:31:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMVR




Problem:   MSSNUT BUGHLT.

Diagnosis:  When a drive is write locked the MSCP driver may ask the server to
online the disk with the UF.WPR bit set. The server will reject this but it
uses the wrong length message to do so. The sanity check catches this and
crashes.

Solution:  Use the right lenght after SETUID fails.


                               [End of TCO 6.1.1128]
                               TCO-number:  6.1.1129



Written-by:  GRANT                            Creation-date:  11-Jan-85 08:51:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	diag




Problem:  DFPTA diagnositc (CI/NI port selector) failures due to DIAG%
returning "Diagnostic owns the channel" error.
Diagnosis:  The diagnostic is trying to assign RH20 channel 0 and the monitor
is checking to see that there are no disks dual-ported to another KL.  But,
it fails to test for offline, which would allow the DIAG% to succeed.
Solution:  In DIAG.MAC's DGUDPT routine, check for disk offline (US.OFS)
before proceeding to the dual-ported type checks.

                               [End of TCO 6.1.1129]
                               TCO-number:  6.1.1132



Written-by:  LOMARTIRE                        Creation-date:  14-Jan-85 11:05:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	 20490



Problem:   Edit 2612 to RCUSR% causes LCKDIR BUGHLTs.

Diagnosis:   The edit was done incorrectly and introduced a path which caused the 
LCKDIRs under certain RCUSR% combinations.

Solution:   Rewrite the patch correctly.  If a user specifies RC%STP but the 
user name does not contain wild cards, fail and return RC%NMD in the 
flags.


                               [End of TCO 6.1.1132]
                               TCO-number:  6.1.1133



Written-by:  LEACHE                           Creation-date:  15-Jan-85 08:30:58
Edited-by:   LEACHE                           Edit-date:      15-Jan-85 09:27:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	JSYSA	DISC	GLOBS


Related-SPR:  	 13064	 15605	 17743	 17832	 18333



Problem:      
   Disc allocation (as returned by INFO DISK) is often wrong for SYSTEM
directory.

Diagnosis:     
   When an OFN is acquired for the accounting file, the value supplied
in the call to ASGOFN is supposed to be the remaining allocation for the 
directory, but the value 377777,,0 is erroneously used.   This causes the
EXEC to display incorrect (sometimes negative) values in the INFO DISK
command.

Solution:     
   Get the current remaining allocation for directory SYSTEM and use
that value in the call to ASGOFN.


                               [End of TCO 6.1.1133]
                               TCO-number:  6.1.1134



Written-by:  LEACHE                           Creation-date:  15-Jan-85 09:10:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	DISC


Related-SPR:  	 15605	 17743	 17832	 18333



Problem:    Disk allocation (as displayed by INFO DISK) is always wrong for
ROOT-DIRECTORY.

Diagnosis:    Assigning an OFN for ROOT-DIRECTORY presents a chicken-and-egg
problem:  the directory allocation is required to get the OFN, but an OFN
is required to get the directory allocation.  The monitor attempts to solve
this by specifying the value 377777,,0 in the call to ASGOFN.  This will
cause the INFO DISK command to report erroneous values.

Solution:    In routine ASROFN, acquire the first OFN for ROOT-DIRECTORY
using a recognizably unique value for the directory allocation.  On the
next OFN assignment for ROOT-DIRECTORY, fetch the true allocation and
call ADJALC to adjust the allocation remaining for the directory.


                               [End of TCO 6.1.1134]
                               TCO-number:  6.1.1136



Written-by:  GROSSMAN                         Creation-date:  15-Jan-85 13:55:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GLOBS	LLMOP	NISRV	PHYKNI	SYSFLG




Problem:  Too many references to KNIN throughout the monitor.  Customers
should be able to control KLNIness by changing the definition of KNIN in
PARAMS.  Therefore, the only references to KNIN should be in STG.

Solution:  Remove many unneeded references to KNIN.


                               [End of TCO 6.1.1136]
                               TCO-number:  6.1.1137



Written-by:  GROSSMAN                         Creation-date:  15-Jan-85 14:23:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  NISRV crashes the monitor when it can't find KNILDR.

Diagnosis:  The routine KNIJB0 (which is in section 0/1) was trying to call a
routine in section 6.  Unfortunately, it it ended up calling HSYS, in section
0/1 and crashed the monitor.

Solution:  Move most of KNIJB0 to section 6.  Leave the entry point in section
0/1.


                               [End of TCO 6.1.1137]
                               TCO-number:  6.1.1138



Written-by:  GROSSMAN                         Creation-date:  16-Jan-85 15:52:43


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIUSR




Problem:  There is no interlock mechanism to prevent multiple jobs from
playing with the KLNI.

Solution:  Create a new NI% JSYS function called .EIGET, which will acquire
ownership of the KLNI.  Only the "owner" of a KLNI is allowed to alter it's
state or set it's address.  If there is no owner, anybody will be allowed to
do these functions.


                               [End of TCO 6.1.1138]
                               TCO-number:  6.1.1139



Written-by:  MOSER                            Creation-date:  16-Jan-85 16:36:03


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV	PHYMVR	PHYSIO




Problem:   SKED too high. Jobs get dismissed and rescheduled too much. Scheduler
thrashes when system is IO bound.

Diagnosis:   Routines flag running the scheduler by setting PSKED which forces
DISMSJ. PSKD1 is more approprate - it means "there may be a scheduling event but
don't dump the current fork".

Solution:  Set PSKD1 instead of PSKED where appropriate.


                               [End of TCO 6.1.1139]
                               TCO-number:  6.1.1140



Written-by:  GROSSMAN                         Creation-date:  16-Jan-85 16:50:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIUSR	STG




Problem:  GLFNFs and various other scheduler weirdness...

Diagnosis:  NIUSR was calling the scheduler at interrupt level to request a
PSI (PSIRQ).  It works most of the time, but the scheduler isn't interlocked
with respect to interrupt level, so races can occur.

Solution:  Make a routine that gets called in LV8CHK whenever interrupt level
needs a PSI to be generated.


                               [End of TCO 6.1.1140]
                               TCO-number:  6.1.1141



Written-by:  GROSSMAN                         Creation-date:  16-Jan-85 17:10:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIUSR




Problem:  NI% JSYS too slow.

Diagnosis:  It calls ASGRES and RELRES for every packet it transmits or receives.

Solution:  Make a cache for transmit and receive memory.  Search the cache first,
and call ASGRES only if no blocks are found.


                               [End of TCO 6.1.1141]
                               TCO-number:  6.1.1142



Written-by:  MOSER                            Creation-date:  17-Jan-85 13:38:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:   SUMNR1 BUGCHKs when running the "new" scheduler.

Diagnosis:   There is now a path through the code that can change the working
set size of a fork in the balance set. Previously this was impossible. The
path is Balance set wait satisfied calls NEWST which gives a big boost and
calls NEWST which calls NEWWSS which calls ADJWSS.

Solution:  Make ADJWSS fix SUMBNR if FKIB% is on in FKSWP.


                               [End of TCO 6.1.1142]
                               TCO-number:  6.1.1143



Written-by:  LOMARTIRE                        Creation-date:  17-Jan-85 15:52:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-SPR:  	 20532



Problem:   If GTJFN% is performed on a filespec whose device field is a 
system-wide logical name, and the first entry in that system-wide logical name 
is a job-wide logical name, the files pointed to by the job-wide logical name 
are not found.  However, a job-wide logical name anywhere except first in the 
system-wide logical name works correctly.

Diagnosis:   If during the logical name evaluation (done in CHKLNM), a 
system-wide logical is found, the SAWSLN bit is set.  Then, until we step to 
the next entry in the logical name definition, we will only search the 
system-wide logical name table.  So, for a system-wide logical of:

	A: => ONE:, TWO:

with job-wide logicals of:

	ONE: => PS:LOGIN.CMD
	TWO: => PS:LOGOUT.CMD

a DIR of A: will not find PS:LOGIN.CMD (since ONE: is the first entry in a 
system-wide logical but it is not a system-wide logical itself).  However,
the file pointed to by TWO: will be found since TWO: is the second entry in 
the system-wide logical name.

Solution:   In CHKLNM, ignore the setting of SAWSLN when deciding whether to 
search job-wide then system-wide logicals or just system-wide logicals.  This 
will make system-wide logicals perform correctly regardless of the placement of 
the individual entries.  Namely, job-wide will be searched first, then 
system-wide.


                               [End of TCO 6.1.1143]
                               TCO-number:  6.1.1145



Written-by:  LOMARTIRE                        Creation-date:  17-Jan-85 16:04:06
Edited-by:   LOMARTIRE                        Edit-date:      17-Jan-85 16:07:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FILMSC


Related-SPR:  	 20459



Problem:       A fork is assigned a controlling terminal and goes into TCITST on
that terminal line.  Now, the fork is frozen, is assigned a new controlling
terminal, and is resumed.  It will still be in TCITST on the old terminal line.

Diagnosis:       TCOs 6.1526 and 6.2031 handle the case where a job controlling 
terminal is changed in the above manner.  However, there is no code to handle 
the case of a fork controlling terminal.

Solution:       Add code in TTYIN2 (after the job controlling terminal check) to 
check if the JFN is for the fork's controlling terminal.  If it is, place the 
line number in the left half of DEV.


                               [End of TCO 6.1.1145]
                               TCO-number:  6.1.1146



Written-by:  PAETZOLD                         Creation-date:  19-Jan-85 16:18:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	niusr




Problem:    

SKDPF1s from NIUSR.

Diagnosis:    

EBD.

Solution:    

.NIOFF needs to be resident as well NIJJIF.


                               [End of TCO 6.1.1146]
                               TCO-number:  6.1.1147



Written-by:  MAYO                             Creation-date:  21-Jan-85 10:00:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	 19735



Problem:  ARCF% discard function doesn't clear AR%WRN.  REAPER checks
AR%WRN to see if it should delete archived files.  So, if a user
retrieves a file, keeps it a while, gets a warning from REAPER that
the file will soon expire and be deleted, and decides to keep it by
discarding archive information, he will be very suprised in a few weeks
when REAPER expires and deletes the file anyway.
Diagnosis:  ARCF% discard doesn't clear enough FDB bits.
Solution:  Have it clear AR%WRN.

                               [End of TCO 6.1.1147]
                               TCO-number:  6.1.1149



Written-by:  LEACHE                           Creation-date:  22-Jan-85 14:41:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CRYPT


Related-QAR:  	706373



Problem:    CHKPEV always returns failure for customer encryption algorithms.

Diagnosis:    Wrong flavor of test instruction.

Solution:    Simplify the routine and the bug goes away.


                               [End of TCO 6.1.1149]
                               TCO-number:  6.1.1150



Written-by:  MELOHN                           Creation-date:  22-Jan-85 21:08:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CTHSRV




Problem:    The CTERM fork runs every 100ms whether or not it has anything to
do. SYSDPY seems to indicate that it is using .3 seconds of runtime every
minute even when are are no users of CTERM.

Diagnosis:    The CTERM would run MUCH less often if it had a scheduler test
that woke up when there was something for the CTERM fork to do.

Solution:    Add scheduler test CTMTST, and make the CTERM fork MDISMS with it
until it has something to do.


                               [End of TCO 6.1.1150]
                               TCO-number:  6.1.1152



Written-by:  PAETZOLD                         Creation-date:  22-Jan-85 22:03:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	phykni




Problem:    

KPALHVs  from  NISRV  looping in NIDPT2 when a portal is closed and the
monitor has arpanet code and the ethernet cable has a UNIX based system
on it and the TOPS-20 system in question has had very  little  ethernet
IP traffic in the last several minutes before the portal is closed.

Diagnosis:    

A  UNIX  system  sends  various ethernet multicast messages with the IP
protocol type. TOPS-20 does not enable this  multicast  address  and  a
KNIDMD/KNIDM1  combination will result. After this event the buffer and
its CM block will once again be placed on  the  free  queue  without  a
callback to the client.

At  this point we decide to close the portal. NIDPT goes into a loop at
NIDPT2 to NIDPT1 attempting to release all buffers back to the  client.
These  buffers  have  never  had  IO performed on them (since they were
queued) and may still have the multicast address set in the  CM  block.
At   this  point  MSGAVA  will  once  again  generate  a  KNIDMD/KNIDM1
combination and requeue the block back onto the free queue. We now have
a loop trying to remove this block from the free queue.

After attempting to do this many tens of thousands of times we  finally
crash with a KPALHV.

Solution:    

Make  sure  the  destination ethernet address of a buffer coming out of
the NIDPT2 loop has a clear address without any multicast bits set.

The reason this  problem  was  never  reproducable  on  the  CHIP/ETHER
systems  is  that  there  is no UNIX system on the private ethernet but
there is on the public ethernet.


                               [End of TCO 6.1.1152]
                               TCO-number:  6.1.1153



Written-by:  GRANT                            Creation-date:  23-Jan-85 16:11:36


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  Unusual events can occur with don't-care disks and no one is notified.
Diagnosis:  When a don't-care mismatch occurs (drive and disk are not the same
status) we treat the disk under standard access rules but say nothing about
what was discovered.
Solution:  Add PHYDCU and PHYDCD BUGCHKs and PHYDCR BUGINF.
PHYDCU is for standard disk on don't-care drive;  PHYDCD is don't-care disk on
standard drive;  PHYDCR means we are treating the disk as don't-care.

                               [End of TCO 6.1.1153]
                               TCO-number:  6.1.1154



Written-by:  HAUDEL                           Creation-date:  23-Jan-85 16:15:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-QAR:  	706126



Problem:  MONNEJ bugchk.

Diagnosis:  No ERJMP after a RPACS jsys in JSYSF.

Solution:  Add and ERJMPR.


                               [End of TCO 6.1.1154]
                               TCO-number:  6.1.1155



Written-by:  WAGNER                           Creation-date:  24-Jan-85 14:17:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV




Problem:  CFS Hashing algorithm uses non-prime numbers.

Diagnosis:  Theoretically primes are better

Solution:  Make HSHLEN prime (either ^D509 or ^D251, based on CFSSCA)


                               [End of TCO 6.1.1155]
                               TCO-number:  6.1.1156



Written-by:  HAUDEL                           Creation-date:  24-Jan-85 16:00:17
Edited-by:   HAUDEL                           Edit-date:      19-Feb-85 16:51:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED


Related-QAR:  	706331



Problem:      Cannot use the .SKSCJ (set job class) function of the SKED% for the
calling job with privs disabled.

Diagnosis:      The code sets up the job number in T1 and then uses T2 in testing
job number.

Solution:      Change CAMN T2,JOBNO to CAMN T1,JOBNO at SKDSJC+16 in SCHED.MAC.


                               [End of TCO 6.1.1156]
                               TCO-number:  6.1.1157



Written-by:  GROSSMAN                         Creation-date:  28-Jan-85 10:15:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	NIUSR




Problem:  Entry into NIJJIF too slow.

Diagnosis:  XCT is slower than SKIPE.

Solution:  Replace XCT of CALL NIJJIF with SKIPE flag followed by CALL NIJJIF.


                               [End of TCO 6.1.1157]
                               TCO-number:  6.1.1158



Written-by:  PAETZOLD                         Creation-date:  28-Jan-85 15:22:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IMPANX	IPNIDV	IPCIDV




Problem:    

Interrupt context code (eg. device drivers) for internet often request service
by the internet fork by incrementing INTFLG.  If the system is in the null
job the scheduler will not notice this for a while.  This causes extra 
latency on unloaded systems.

Diagnosis:  

Solution:    

AOS PSKD1 as well as INTFLG.


                               [End of TCO 6.1.1158]
                               TCO-number:  6.1.1159



Written-by:  PAETZOLD                         Creation-date:  28-Jan-85 15:52:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV	TVTSRV




Problem:    

TVT output performance could be faster and could make better use of networking
resources.

Diagnosis:    

Currently monitor assumes TVTs are slow speed.

Solution:    

Make monitor believe they are fast.


                               [End of TCO 6.1.1159]
                               TCO-number:  6.1.1160



Written-by:  PAETZOLD                         Creation-date:  28-Jan-85 16:37:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	ipfree




Problem:    

None observed but code is wrong.  DEFSTR for USIZE in IPFREE has a 36 bit
field ending on bit 17.

Diagnosis:  

Solution:    

Make it a 18 bit field.


                               [End of TCO 6.1.1160]
                               TCO-number:  6.1.1161



Written-by:  PAETZOLD                         Creation-date:  28-Jan-85 17:15:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	tcpjfn




Problem:    

It is possible for the monitor to leave a TCP: JFN in a locked state if
you  attempt  to  use TCOPR% on a TCP: JFN that is no longer associated
with a TCB. The problem is caused by using  the  RETERR  macro  without
first  making  sure that the JFN is indeed unlocked. The problem occurs
in two places in TCPJFN.MAC.

Diagnosis:    

EBD.

Solution:    

Fix it.


                               [End of TCO 6.1.1161]
                               TCO-number:  6.1.1162



Written-by:  GROSSMAN                         Creation-date:  29-Jan-85 14:27:57


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI	NIPAR	MONSYM




Problem:  The "SET PORT NI AVAILABLE" command to OPR doesn't restart the KLNI
as advertised.

Diagnosis:  OPR is trying to put the KLNI into the RUN state.  Unfortunately,
the KLNI may contain bad ucode.  The monitor doesn't know this, and just starts
the KLNI anyway.  Usually, a KNIPER results, sometimes death is the result.

Solution:  Create a new state called the "Reload Requested" state (.EISRR).
Setting the KLNI into this state causes KNILDR to run and reload the KLNI.
This state may only be set if the current KLNI state is not RUN.


                               [End of TCO 6.1.1162]
                               TCO-number:  6.1.1163



Written-by:  MCCOLLUM                         Creation-date:  29-Jan-85 15:35:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  
PTAIC bughlts


Diagnosis:  
The code around KSEF1 SETOMs the entry in the SYSFK table before routine
CLNZSC is called to delete the user's non-zero sections. CLNZSC does an
SMAP% JSYS to delete any non-zero sections using .FHSLF as a process handle.
Routine FKHPTX attempts to translate .FHSLF by looking in the SYSFK table
and gets the -1 put there by KSEF1. A string of incorrect references based
on this -1 eventually causes SETCPT to try to map in a page table for the
section using a bogus SPT index. A reference to this page table by SECPTR
causes the crash.


Solution:  
Do not clear the entry in SYSFK until after the non-zero sections are
successfully deleted by CLNZSC.



                               [End of TCO 6.1.1163]
                               TCO-number:  6.1.1164



Written-by:  GRANT                            Creation-date:  31-Jan-85 07:48:54
Edited-by:   GRANT                            Edit-date:      31-Jan-85 07:50:45


Edit-checked:         No     Document:          Yes    TCO-tested:  Yes
Maintenance-release:  Yes    Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyp2	PHYSIO


Related-QAR:  	706360



Problem:    RP20s don't have drive serial numbers and the current method of faking
them doesn't work very well.

Diagnosis:    Using CHECKD to put a number in the disk's homeblock is a nuisance
for the system manager and also causes some special case RP20 code in the
monitor which seems needless and appears to be bug-prone.

Solution:    When an RP20's UDB is created, the monitor will make up a drive
serial number by adding the unit number to 8000 (decimal) and placing it in
the UDB.  Then whenever a serial number is required, the RP20 is guaranteed
to have one, just like any other disk.

The scheme implies a restriction, namely, all RP20s connected to systems in
a cluster must have unique unit numbers.


                               [End of TCO 6.1.1164]
                               TCO-number:  6.1.1165



Written-by:  GRANT                            Creation-date:  31-Jan-85 13:08:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyp2




Problem:  Homeblocks don't get checked when an RP20 comes online.
Diagnosis:  No code.
Solution:  Before calling PHYONL, set US.CHB.

                               [End of TCO 6.1.1165]
                               TCO-number:  6.1.1166



Written-by:  MOSER                            Creation-date:  31-Jan-85 15:25:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	GLOBS	PROLOG	CFSSRV	LINEPR	DISC
			PAGUTL




Problem:   The monitor is too slow. Especially when accessing long files
randomly.


Diagnosis:   Management of OFN resources is not done optimally. Since
many Jsyses use OFNs any improvement in this area can potentially
speed up the system significantly. Long files are especially bad since they
contain many OFNs.

Solution:  Change OFN assignment to use a hash and link algorithm. Change
OFNJFN to do a single compare instead of a costly search for long files.
Change all ASxOFN callers to conform to the new sequence. Most of the
changes are outlined in the OFN-MANAGMENT-PERFORMANCE.MEM spec.


                               [End of TCO 6.1.1166]
                               TCO-number:  6.1.1167



Written-by:  TBOYLE                           Creation-date:  31-Jan-85 15:50:45


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP2




Problem:  RP20's never get bad blocks into the BAT BLOCKS.

Diagnosis:  PHYP2 never properly handled the CLASS 5 ERROR.
CLASS 5 is for DX20 requested command retry. This happens
on all data errors. In IBM land, when a data error occurs,
the drive requests the channel to retry the transfer several
times before reporting an error. i.e. the channels perform
error recovery.

We have always ignored the CLASS 5 ERROR. The microcode as of
edit 17 also gives us this error under some specific conditions
which we will need to check for.

Solution:  Change the CLASS 5 error handler to look for appropriate
data errors and flag them properly for BAT BLOCK processing. Errors
that are not due to data are carefully checked for and left as
device errors.


                               [End of TCO 6.1.1167]
                               TCO-number:  6.1.1169



Written-by:  GROSSMAN                         Creation-date:   2-Feb-85 11:11:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GLOBS	STG	PHYH2	PHYKNI	DIAG




Problem:  Diagnostics DFPTA, and DFNIE do not work with the KLNI.

Diagnosis:  They were trying to do DIAG% functions to read and write the channel
logout areas.  These functions would fail because there was no CDB for the
channel the KLNI uses (channel 5).

Solution:  Create a CDB and dispatch table for the KLNI.  Fill it in with the
bare minimum of information needed to support DIAG and keep PHYSIO off my
back.  In addition, move the initialization of the KLNI from PHYH2 to PHYSIO
(by modifying PHYCHT in STG).  Also, put some checks into various DIAG functions
so that programmers cannot attempt to do disk type stuff to the KLNI.


                               [End of TCO 6.1.1169]
                               TCO-number:  6.1.1170



Written-by:  GROSSMAN                         Creation-date:   2-Feb-85 11:37:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  The KNISTP BUGCHK does not print the micro PC if the KLNI is still
running.

Solution:  Stop the KLNI just before doing the BUGCHK.  This will help detect
microcode loops.


                               [End of TCO 6.1.1170]
                               TCO-number:  6.1.1171



Written-by:  PAETZOLD                         Creation-date:   3-Feb-85 15:13:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	PHYH2




Problem:    

ILLGO BUGHLTs on systems with 4096K.

Diagnosis:    

Channels talk to physical memory.  At the end of a transfer the logout
area contains the address+1 of the last word written (or read).  This is 
a modulo 22 bit address.  ie. when writing to page 17777 of memory the
logout area will have a zero.  

The code at CKERR2 fetches the logout address and decrements it.  However
this results in a minus one and not 17777.  The CAME then fails and we get 
an ILLGO.

Solution:    

Insert an ANDX to retain only the desired bits (and simulate modulo 22 bit
addressing).


                               [End of TCO 6.1.1171]
                               TCO-number:  6.1.1172



Written-by:  PAETZOLD                         Creation-date:   3-Feb-85 16:33:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	DSKALC




Problem:    

assembly errors from dskalc.

Diagnosis:    

hosers.

Solution:    

Change OFNPTT symbol to OFPTT to avoid conflict with new stuff in PROLOG.


                               [End of TCO 6.1.1172]
                               TCO-number:  6.1.1173



Written-by:  GLINDELL                         Creation-date:   5-Feb-85 09:55:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	sclink	ntman	router




Problem:  LOOP NODE does not work
Diagnosis:  Never tested
Solution:  Fix it

                               [End of TCO 6.1.1173]
                               TCO-number:  6.1.1174



Written-by:  GLINDELL                         Creation-date:   5-Feb-85 10:18:38
Edited-by:   GLINDELL                         Edit-date:       5-Feb-85 10:20:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK


Related-QAR:  	706220



Problem:    
It is common practice to set T3 to -1 in the EPCAP% jsys.  This will
enable all possible capabilities.  When the EPCAP% asks the ACJ for
permission, it passes the unmodified T3 to ACJ.  When the ACJ sees
the -1 it is impossible to make a decision since the actual bits to
be enabled cannot be distinguished.

Diagnosis:  
Solution:    
If the user passes -1 in T3, then calculate the bits the user
is actually trying to enable.


                               [End of TCO 6.1.1174]
                               TCO-number:  6.1.1175



Written-by:  TBOYLE                           Creation-date:   5-Feb-85 13:35:17
Edited-by:   TBOYLE                           Edit-date:       5-Feb-85 13:43:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP2




Problem:  SPEAR does not report all of the extended status bytes for
RP20 device/data errors.

Diagnosis:  Although there is room for them in the SYSERR block,
the monitor does not fill them all in.

Solution:  Fix PHYP2 to use all 80 status bytes. Chage SNSNUM, and 
fix the calculation for number of words based on SNSNUM. We will
use 20 words.


                               [End of TCO 6.1.1175]
                               TCO-number:  6.1.1176



Written-by:  GLINDELL                         Creation-date:   5-Feb-85 15:17:56


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-QAR:  	706380



Problem:  
Can't delete section zero pages from code in non-zero section.

Diagnosis:  
PMAP% code ignores PM%EPN if it's the "delete process page" function.

Solution:  
At PMAP0 + a few, if it's the delete option, read the users value of
PM%EPN before calling FKHPTX.

Note: the documentation for PMAP% should be changed.  It currently
states that PM%EPN cannot be used with "delete process pages" (case IV)
in the documentation.  As of this TCO, this restriction has been
removed.


                               [End of TCO 6.1.1176]
                               TCO-number:  6.1.1177



Written-by:  GLINDELL                         Creation-date:   5-Feb-85 17:11:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SYSERR


Related-QAR:  	706428



Problem:  
The bug description is trashed when looking at bug entries with SPEAR.

Diagnosis:  
18-bit arithmetic for 30-bit values.

Solution:  
Single instruction patch at SEBCP3 to use a 1-word global bytepointer.


                               [End of TCO 6.1.1177]
                               TCO-number:  6.1.1180



Written-by:  GRANT                            Creation-date:   7-Feb-85 08:28:52
Edited-by:   GRANT                            Edit-date:       7-Feb-85 08:34:53


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:      Wrong CI wire information in PDB on disk.

Diagnosis:      When a pack gets moved from one drive to another, the PDB is cleared,
the new drive serial number is set along with our node's info.  But, a bad
SKIP instruction was preventing the current CI wire status from getting set.

Solution:      In routine CLRPDB, change SKIPGE to SKIPL so CALL to PTHSTS occurs.


                               [End of TCO 6.1.1180]
                               TCO-number:  6.1.1181



Written-by:  GROSSMAN                         Creation-date:   7-Feb-85 14:31:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  

Support new KLNI microcode version number format.  There are now major and
minor version numbers, and an edit number.  NISRV will not start the KLNI
if the major and minor version do not exactly match the expected values.

The expected values are in UVCMAJ for the major version number, and UCVMIN
for the minor version number.  If the microcode version does not match the
values in UCVMAJ and UCVMIN, a KNIVER BUGxxx will result.  The data items
are:

		1) Bad major version
		2) Bad minor version
		3) Expected major version
		4) Expected minor version


                               [End of TCO 6.1.1181]
                               TCO-number:  6.1.1183



Written-by:  GRANT                            Creation-date:   8-Feb-85 17:09:17
Edited-by:   GRANT                            Edit-date:       8-Feb-85 17:12:55


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMVR	MONSYM




Problem:    Booting a system with NOKLIP patched to contain a non-zero value causes
SETSPD to produce the error MSCPX1 (No MSCP server in current monitor) for each
ALLOW command in CONFIG.

Diagnosis:    The error code is being returned from the monitor to SETSPD for each
SMON%.  The error is misleading since it's the same one you get if you build a
monitor without the MSCP server module PHYMVR.MAC.

Solution:    Create a new error code MSCPX4 whose meaning is "MSCP server not
currently running" and have PHYMVR return it instead of MSCPX1 when the server
has not been initialized, which is the state it is in if the system is not
using a CI.


                               [End of TCO 6.1.1183]
                               TCO-number:  6.1.1184



Written-by:  GRANT                            Creation-date:  11-Feb-85 08:37:55
Edited-by:   GRANT                            Edit-date:      11-Feb-85 09:36:58


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO	phyklp




Problem:    TOPS-20 refuses to access a disk when TOPS-10 is run on one of the
KLs in the cluster which once ran TOPS-20.

Diagnosis:    TOPS-20 assumed that 1) systems on the CI don't change their node
numbers, 2) there are no VAXes on the CI, and 3) a KL on the CI must be
running TOPS-20.

Solution:    Add logic to handle the following cases: 1) node x was once a KL
but is now an HSC or VAX, and 2) TOPS-20 and TOPS-10 can be run
interchangeably on a KL in the cluster.


                               [End of TCO 6.1.1184]
                               TCO-number:  6.1.1185



Written-by:  GLINDELL                         Creation-date:  11-Feb-85 11:31:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-QAR:  	838001



Problem:  
All accounts that have an /EXPIRATION date set in ACCOUNTS-TABLE.BIN
will get "Account has expired" independent of what the expiration date
was set to.

Diagnosis:  
Someone changed CHKEXP to CALL LGTAD instead of doing a GTAD% jsys.
That was a good idea, but unfortunately LGTAD does not preserve T2/B.

Solution:  
Save T2 over the call to LGTAD.


                               [End of TCO 6.1.1185]
                               TCO-number:  6.1.1187



Written-by:  GRANT                            Creation-date:  12-Feb-85 07:07:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  Disk forced offline when it should be accessible.
Diagnosis:  Bring up a system not on a CI and have a MASSBUS disk dual-ported
to another system.  TOPS-20 will refuse access to the disk;  this is the
desired action.  However, single-porting the disk should cause TOPS-20 to
allow access to the disk but it doesn't due to a bug which didn't get the
forced-offline bit cleared.
Solution:  At location UPDBYE, ANDCAM the U1.OFS bit into the status word.

                               [End of TCO 6.1.1187]
                               TCO-number:  6.1.1188



Written-by:  WAGNER                           Creation-date:  12-Feb-85 09:56:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  DDMP AND CHKR CHECKED TOO OFTEN IN SKDLV8

Diagnosis:  NO NEED TO CHECK EVER 20 mS

Solution:  MOVE THE CHECKING TO CLK2CL, AND CHECK EVERY 10 S.


                               [End of TCO 6.1.1188]
                               TCO-number:  6.1.1189



Written-by:  GRANT                            Creation-date:  12-Feb-85 10:20:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  Logic of code too difficult to follow.
Diagnosis:  Routine names are confusing and routines do more than one
logical function.
Solution:  Move some code so that CHKPDB, CLRPDB, and RSTPDB, actually
check, clear, and reset the PDB, respectively.

                               [End of TCO 6.1.1189]
                               TCO-number:  6.1.1190



Written-by:  MELOHN                           Creation-date:  12-Feb-85 14:26:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    PLUTOs running LAT V1.1 software can occasionally crash at
PC 000002 when a user disconnects from a TOPS-20 host.

Diagnosis:    The PLUTO crashed with an invalid stop message. What
happens is this: when the number of slots on a TOPS-20 host is
decreased to 0, the spec says the circuit should be stopped. Both
TOPS-20 AND the server try to send a stop circuit message to close the
circuit. If the server's message arrives after we have cleared the
circuit database but before the server itself receives the TOPS-20
generated stop message, TOPS-20 generates a second, bogus stop message
which crashes the server.

Solution:    Don't send the stop message to the server when the number
of slots becomes zero. As part of a more general fix, a host timer
will be implemented such that if the server doesn't stop the circuit
within the keep-alive-timer * 2, TOPS-20 will send the stop circuit
message itself.


                               [End of TCO 6.1.1190]
                               TCO-number:  6.1.1191



Written-by:  MELOHN                           Creation-date:  12-Feb-85 14:37:06


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    Posideons (DECserver-100) occasionally get -207- protocol
violation messages, which stop the affected slot. Pluto based LAT
users see a "node stopped circuit" message.

Diagnosis:    The slot multiplexor routine can be called to send a "must
reply NOW" message to the server. In the case that there is no slot
data to be sent to the server, the slot formatting routine is
bypassed. This does not correctly zero the number of slots in the
message, and therefore a valid message with an invalid number of slots
is sent to the server.

Solution:    Zero the number of slots in the main loop of the slot
multiplexor routine, not during slot formatting.


                               [End of TCO 6.1.1191]
                               TCO-number:  6.1.1192



Written-by:  MELOHN                           Creation-date:  12-Feb-85 14:57:01


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    Clearing all LAT service names with LCP crashes the monitor
with SKDPF1.

Diagnosis:    The multi-cast building routine assumes that there is at
least one service offered in the multi-cast message. If that service
is deleted, the routine attempts to load a byte from a garbage
location.

A LAT host by definition must offer at least one service, so it should
not be possible for the user to clear all offered services.

Solution:    Fix the multi-cast building routine to check to make sure
there is at least one service before rebuilding the multi-cast
message. Change the LATOP% jsys to return LATX07 (Invalid or unknown
LAT service name) if the user attempts to clear the last service name
offered.


                               [End of TCO 6.1.1192]
                               TCO-number:  6.1.1193



Written-by:  PALMIERI                         Creation-date:  12-Feb-85 16:18:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GLOB	STG




Problem:  DECnet called unnecessarily from LV8CHK before it is initialized.
LV8CHK calls to DECnet are into section 1 when calls to section 6 would
require less code in the DECnet modules and be somewhat faster.

Diagnosis:  No code


Solution:  Check D36IFG in LV8CHK before calling DECnet.  Make calls to
	  DECnet be of the form:  CALL @[XCDSEC,,ADDRESS]


                               [End of TCO 6.1.1193]
                               TCO-number:  6.1.1194



Written-by:  LOMARTIRE                        Creation-date:  13-Feb-85 12:06:26
Edited-by:   LOMARTIRE                        Edit-date:      13-Feb-85 14:18:04


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV	MSTR


Related-TCO:  	6.1.1195



Problem:     The current error codes returned on a failing structure mount request 
are not very descriptive and do not imply what the cause of the failure was.

Diagnosis:     CFS will vote in order to gain the requested access to the 
structure.  If the vote fails, there is no way to determine why we were told 
NO.

Solution:     Implement a way for a reason code to be passed back when a CFS node 
desides to say NO to an incoming vote.  Have the voting node interpret this 
reason code and transform it into a meaningful TOPS-20 error code.  Currently, 
only the structure resource handling routines will do this.  Below are the 
error codes which will be returned.  Note that some are new and others are just 
new text on an already existing error code.

    MSTX44 - Mount type refused by another CFS processor
    MSTX45 - Structure naming or drive serial number conflict in CFS cluster
    MSTX47 - Shared access denied; already set exclusive in CFS cluster
    MSTX48 - Exclusive access denied; access conflict in CFS cluster
    MSTX49 - Structure naming conflict in CFS cluster


                               [End of TCO 6.1.1194]
                               TCO-number:  6.1.1196



Written-by:  LOMARTIRE                        Creation-date:  13-Feb-85 12:20:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCAPAR




Problem:   SC.IDL gets called too often from the scheduler.

Diagnosis:   The constant used to determine the interval between calls is being 
calculated incorrectly.

Solution:   Fix the calculation.  Instead of the timing being once every 3
milliseconds, it will be once every 160 (decimal) milliseconds.
This will result in SC.IDL being called roughly half as often.


                               [End of TCO 6.1.1196]
                               TCO-number:  6.1.1197



Written-by:  WAGNER                           Creation-date:  13-Feb-85 13:45:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED




Problem:  BGND includes time that is actually idle.

Diagnosis:  New code tries some background tasks before running the NUL job.
	   Because of the way the code was written, the time that it spends
	   doing this is charged to BGND.

Solution:  Modify RDSIVL to not accumulate time if flag BKIDLF is set. This
	  way time is charged to whichever idle is appropriate for the time
	  that we spend doing background tasks before running the NUL job.


                               [End of TCO 6.1.1197]
                               TCO-number:  6.1.1198



Written-by:  GRANT                            Creation-date:  13-Feb-85 14:32:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp




Problem:  Over zealous sending of REQUEST-IDs.
Diagnosis:  When a virtual circuit is closed TOPS-20 tries madly to 
re-establish the connection by sending REQUEST-IDs once a second to the
node which went away.  This doesn't seem necessary.
Solution:  In the once-a-second checker, remove the code which checks for
closed virtual circuits.  Communication will be resumed by more standard
methods when the node reappears.


                               [End of TCO 6.1.1198]
                               TCO-number:  6.1.1200



Written-by:  LOMARTIRE                        Creation-date:  14-Feb-85 15:52:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV




Problem:   With the new DSA disks, the HDA can be replaced during timesharing and 
the drive serial number of the drive changes.  This causes a lot of problems 
with CFS since now this structure may be know by another "name" since CFS uses 
the serial number as root of one of the structure resources.

Diagnosis:   CFS was not coded to handle this case.

Solution:   Whenever PHYSIO detects the case of a serial number change, it will 
update the UDB of the disk and call CFSDSN in order to update the structure 
resource.  The old resource block will be unlinked, updated, and relinked.


                               [End of TCO 6.1.1200]
                               TCO-number:  6.1.1201



Written-by:  GRANT                            Creation-date:  18-Feb-85 11:09:38
Edited-by:   GRANT                            Edit-date:      18-Feb-85 11:17:32


Edit-checked:         Yes    Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:    The UDBs for all HSC-based disks contain the wrong value for the
high-order word of the drive serial number.

Diagnosis:    Since non-HSC-based disks only have a 1-word DSN, TOPS-20 makes
up the high-order word to fill in the UDB.  It was not correctly making the
distinction between HSC and non-HSC disks and, thus, smashing the high-order
word of the HSC-based disks' UDBs.

Solution:    In routine PHYDUA, fix the index register to be P1 instead of P3
so the CDB status word is correctly obtained.


                               [End of TCO 6.1.1201]
                               TCO-number:  6.1.1202



Written-by:  GROSSMAN                         Creation-date:  18-Feb-85 22:14:03
Edited-by:   GROSSMAN                         Edit-date:      20-Feb-85 09:39:12


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIUSR	MONSYM




Problem:    Implement Read Channel Counters.

Diagnosis:  

Solution:  


                               [End of TCO 6.1.1202]
                               TCO-number:  6.1.1203



Written-by:  GROSSMAN                         Creation-date:  18-Feb-85 22:50:03
Edited-by:   GROSSMAN                         Edit-date:      20-Feb-85 09:48:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIUSR




Problem:   Programs doing blocking transmits with the NI% JSYS wake up too
frequently.

Diagnosis:   The scheduler test for blocking transmits always succeeds because
an AC was not being set up.

Solution:   Setup the AC before using it.


                               [End of TCO 6.1.1203]
                               TCO-number:  6.1.1204



Written-by:  GROSSMAN                         Creation-date:  18-Feb-85 23:10:53
Edited-by:   GROSSMAN                         Edit-date:      20-Feb-85 09:57:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:    PHYKNI treats KLNI CRAM parity error 7777 as an unplanned CRAM
parity error, when in reality it is planned (ie: intentional).

Diagnosis:    PHYKNI treats KLNI CRAM parity errors in the range 7750-7775
(inclusive) as Planned CRAM Parity Errors.  Unfortunately, the microcoders
are now using 7777 as a PCPE.  So, now the rules are: all parity errors
between 7750 and 7777 (inclusive), but excluding 7776 are Planned, and
must be treated special.

Solution:    Follow the rules stated above.


                               [End of TCO 6.1.1204]
                               TCO-number:  6.1.1205



Written-by:  GROSSMAN                         Creation-date:  18-Feb-85 23:34:05
Edited-by:   GROSSMAN                         Edit-date:      20-Feb-85 10:05:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:    Code wrong at NIDPT + a few.

Diagnosis:    The code was expecting a temp AC to be preserved across a
subroutine call.  In reality, the code worked correctly, but it was just
pure luck.  Don't depend on luck.

Solution:    Use a more permanent AC.


                               [End of TCO 6.1.1205]
                               TCO-number:  6.1.1206



Written-by:  PALMIERI                         Creation-date:  19-Feb-85 10:21:45
Edited-by:   PALMIERI                         Edit-date:      19-Feb-85 16:50:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DATIME




Problem:   IDTIM fails when asked to suppress inputting of date and time

Diagnosis:   IDTNCS subroutine called by IDTIM notices that inputting of date
and time are suppresed and attempts to return the current date and time.
After doing the ODCNV it forgets that time input is suppressed and returns
what it thinks it input for time which is garbage.  IDTIM then calls IDCNV
to convert the date and time to internal format and notices the garbage
time and returns an error in T1 when IDTIM expects it in T2.

Solution:   Return current time when inputting of time is suppressed.
Look for error code in correct AC.


                               [End of TCO 6.1.1206]
                               TCO-number:  6.1.1207



Written-by:  LOMARTIRE                        Creation-date:  19-Feb-85 10:21:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV




Problem:   If a structure is mounted by one system but not another,
and it is moved, then no other system will be able to mount the structure
until it is dismounted.

Diagnosis:   PHYSIO calls CFS at CFRDSN in order to allow CFS to update the 
structure tokens with the new drive serial number.  However, it calculates
the new HSHCOD value for the structure name token wrong.  So, this system will 
always refuse any mount requests for the structure because the HSHCOD values 
won't match.

Solution:   Correctly calculate HSHCOD.


                               [End of TCO 6.1.1207]
                               TCO-number:  6.1.1208



Written-by:  HAUDEL                           Creation-date:  19-Feb-85 11:49:50
Edited-by:   HAUDEL                           Edit-date:      19-Feb-85 16:53:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
Related-QAR:  	706364



Problem:         CHECKD's "REBUILD" command fails if the DSKBTTBL file does 
not exist.

Diagnosis:       Thd DSKAS% tries to get a JFN on an existing DSKBTTBL
file and if the file is not found, it does not try to
write a new one. Even if the DSKAS% does find an existing DSKBTTBL file,
it does not seem to do anything with the contents.

Solution:       If the DSKAS% fails to get a JFN because the file does not
exist, JRST to the code that writes a new DSKBTTBL.


                               [End of TCO 6.1.1208]
                               TCO-number:  6.1.1209



Written-by:  GROSSMAN                         Creation-date:  19-Feb-85 11:58:07
Edited-by:   GROSSMAN                         Edit-date:      20-Feb-85 10:11:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:   The KLNI sometimes doesn't restart after a continuable error.  It
just hangs in the INIT state.

Diagnosis:   Sometimes when the KLNI gets an error, there are items left on the
response queue.  When the KLNI gets restarted, it never gets an interrupt
to tell it to look at the response queue.  This happens because the interrupt
is generated only if a response is put onto an empty response queue.

Solution:   Clean up (empty out) the response queue during error processing.


                               [End of TCO 6.1.1209]
                               TCO-number:  6.1.1210



Written-by:  GROSSMAN                         Creation-date:  19-Feb-85 12:19:47
Edited-by:   GROSSMAN                         Edit-date:      20-Feb-85 10:12:36


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIUSR	MONSYM




Problem:   Implement Read Portal Counters.

Diagnosis:  

Solution:  


                               [End of TCO 6.1.1210]
                               TCO-number:  6.1.1213



Written-by:  PALMIERI                         Creation-date:  19-Feb-85 17:30:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	Ntman




Problem:  No entry in line parameter table for TOPS20 specific parameter
RECEIVE BUFFER SIZE (2500)

Diagnosis:  Never put in

Solution:  Add it


                               [End of TCO 6.1.1213]
                               TCO-number:  6.1.1214



Written-by:  MELOHN                           Creation-date:  19-Feb-85 18:54:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    TOPS-20 provided host services with "Dynamic" ratings never change.

Diagnosis:    Code to set the rating based on the load average was not
being called regularly. The formula  255-INT(15-minute load average) should be
more flexible to provide a better indication of how loaded a system is.

Solution:    Rewrite the DYNRAT routine to use the formula
255-INT(4*(15-minute load average)), add a cell to the host node
database to contain the host's current rating, and check to see if
this rating needs to be updated each time the multi-cast message is
sent out.


                               [End of TCO 6.1.1214]
                               TCO-number:  6.1.1215



Written-by:  PALMIERI                         Creation-date:  20-Feb-85 14:21:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	STG	DNADLL	GLOBS




Problem:    Too many instructions executed in LV8CHK if DECnet doesn't have
anything to do.  D36IFG flag check every time through LV8CHK.

Diagnosis:    LV8CHK calls DNADLL every time to see if something to do.  LV8CHK
always checks the DECnet intialized flag.

Solution:    Have LV8CHK check DNADLL's queue any only call it if something to
do.  Remove check of D36IFG since all callee's do the right thing is DECnet
is not initialized.


                               [End of TCO 6.1.1215]
                               TCO-number:  6.1.1216



Written-by:  MELOHN                           Creation-date:  22-Feb-85 12:08:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    Stop circuit messages from the server are not acted upon by
the TOPS-20 Host code.

Diagnosis:    Routine HMSTOP checks incoming stop messages using the
Remote ID field when it should be using the Local ID field.

Solution:    Use the Local circuit ID field instead.


                               [End of TCO 6.1.1216]
                               TCO-number:  6.1.1217



Written-by:  GROSSMAN                         Creation-date:  22-Feb-85 17:09:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  Not setting an NIA20's Ethernet address (via the SETSPD command
ETHERNET), results in the system using a 0 address.

Diagnosis:  PHYKNI was getting the Ethernet address from a location that
doesn't get initialized if the SETSPD command is never issued.

Solution:  Initialize the address only if we have a valid address to use.


                               [End of TCO 6.1.1217]
                               TCO-number:  6.1.1218



Written-by:  WAGNER                           Creation-date:  25-Feb-85 08:30:52


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-QAR:  	706379



Problem:  NIN% only handles radices up to decimal 10

Diagnosis:  Code overly restrictive

Solution:  Make code able to accept radices up to decimal 36. NOUT% can handle
these, so no changes there. Change MONSYM to report IFIXX1 based on new range.


                               [End of TCO 6.1.1218]
                               TCO-number:  6.1.1219



Written-by:  WAGNER                           Creation-date:  25-Feb-85 11:25:28


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-QAR:  	706383



Problem:  User with infinite quota can create inferiors with negative quotas.

Diagnosis:  Poor check made, assumption is that normal return from CKLIQ means
infinite quota, but it can also mean negative.

Solution:  Make the jump conditional upon quota being non-negative.


                               [End of TCO 6.1.1219]
                               TCO-number:  6.1.1222



Written-by:  LOMARTIRE                        Creation-date:  27-Feb-85 10:12:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-SPR:  	 17125



Problem:   G1%NLN (no long names) does not work when recognition is used.

Diagnosis:   When the field is recognized, there is no check for the length
of the field which is being returned.

Solution:   Before the field which was recognized is output, check the length 
of the field.  If it is too large, return the appropriate error; either 
GJFX41 or GJFX42.  Note that this is only done for recognition of file names 
and extensions (from routines DEFNAM, DEFEXT, RECNAM, RECEXT).


                               [End of TCO 6.1.1222]
                               TCO-number:  6.1.1223



Written-by:  MELOHN                           Creation-date:  27-Feb-85 21:10:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:   If a LAT server crashes, TOPS-20 doesn't find out until the
server comes back and the first person tries to reconnect to the host.
This first person sees the banner followed immediatly by "node stopped
circuit", at which time all TTYs on that server are detached and
JOBCOFed. The person has to connect again in order to establish a new
circuit on the host, and the period between the time the server
crashes and the first person attempts to re-connect can be weeks,
during which time all of the users on that server remain connected and
can be charged for TTY connect time.

Diagnosis:   A keep-alive timer needs to exist on the host side of the
LAT circuit to detect those times when the server does not or cannot
send its normal keep-alive message. If a reasonable number of server
keep alive intervals has passed without a message from the server, it
is safe to assume that the server has passed away and the circuit
should be stopped.

Solution:    Implement such a timer, initially based on 6 times the
server keep-alive timer number of seconds. Stop the circuit if no
messages have been received from the server within that interval.


                               [End of TCO 6.1.1223]
                               TCO-number:  6.1.1225



Written-by:  PAETZOLD                         Creation-date:  28-Feb-85 09:42:47
Edited-by:   PAETZOLD                         Edit-date:       6-Mar-85 16:08:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IPNIDV




Problem:      

ILULK2 BUGHLTS from NISRV and IPIPIP.

Diagnosis:      

This  is  a catch all BUGHLT for problems in the TCP/IP Ethernet buffer
handling stuff.

Caused by a race in the NIPSTO (start output routine).

Solution:      

Use  NTOB  in  the  NCT  as  an  interlock for NIPSTO so that all other
callers will stay away from this routine. This is OK since the  current
possessor  of  the  interlock  will  queue  all linked buffers to NISRV
anyways. Initial code in NIPSTO should be PIOFF instead of NOSKED. Also
reset NBQUE field of buffers in NIPQUE when dequeueing them.

Add IPNDSW debuging code. This code links all send and receive  buffers
given to NISRV and BUGHLTs (IPNMIS and IPNHIT) on any discrepancies.

Other causes of ILULK2s during the interim period of these changes were 
caused by bugs induced by the debuging code.  There are no known ILULK2
problems in the TCP/IP at this time.


                               [End of TCO 6.1.1225]
                               TCO-number:  6.1.1227



Written-by:  LOMARTIRE                        Creation-date:   4-Mar-85 07:57:31
Edited-by:   LOMARTIRE                        Edit-date:      12-Mar-85 10:45:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC


Related-TCO:  	6.1.1247



Problem:   CFSVFL BUGHLTs

Diagnosis:   The starting of CFS at system startup is very timing dependent
and is subject to variations to timing changes elsewhere in the monitor.  
Recently, something has changed in the system startup timing that causes the 
system not to be fully "joined" to the cluster when we try to mount our PS.
This can result in confusion since we may obtain the wrong access.  This will 
eventually result in a CFSVFL BUGHLT.  One reason we were not fully joined is 
that SCA usually is stuck on buffers due to MSCP connections being established 
before we join the cluster.  A temporary fork is around to help solve this 
problem but it is started too late to be of help once we call CFSJYN.

Solution:   TEFORK is the temporary fork used at system startup to insure that 
the SCA buffers are replenished.  Move it after the call to PPDINX and before 
the call to IPACHK.  In this way, SCA has been initialized and we have a TEFORK 
ready to call SC.ALM whenever needed.


                               [End of TCO 6.1.1227]
                               TCO-number:  6.1.1228



Written-by:  MOSER                            Creation-date:   5-Mar-85 10:31:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:   Still more ITRLGOs. This one is from TTYSRV when the ACJ refuses to
allow line speed changes.

Solution:   ERJMP .+1 after MTOPR in TTCKSP.


                               [End of TCO 6.1.1228]
                               TCO-number:  6.1.1229



Written-by:  WAGNER                           Creation-date:   5-Mar-85 10:48:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK


Related-QAR:  	838045



Problem:  Performance Issues

Diagnosis:  SETJSB doesn't check to see if it needs to do mapping before doing
it. Mapping is expensive.

Solution:  Lets see if we need to spend the effort first.


                               [End of TCO 6.1.1229]
                               TCO-number:  6.1.1231



Written-by:  PALMIERI                         Creation-date:   5-Mar-85 13:48:03


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	DTESRV	GLOBS	STG




Problem:    Too many BUGINFs when MCB DTE is initialized or rebooted.

Diagnosis:  

Solution:    Add DTBUGX which when zero suppresses BUGINFs DTESUI, DTETPR, DN20ST
	for MCB DTEs only.  Default is non-zero.  Place DTEWAT BUGINF under
	FTDEBUG.


                               [End of TCO 6.1.1231]
                               TCO-number:  6.1.1232



Written-by:  HAUDEL                           Creation-date:   5-Mar-85 14:32:35


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCAPAR	MONSYM




Problem:  SCA's connection management symbols are not available to
the users of the SCS%.

Diagnosis:  The connection management symbols are defined in SCAPAR and
not in MONSYM.

Solution:  Define new symbols in MONSYM and have the symbols in 
SCAPAR point to those in MONSYM.


                               [End of TCO 6.1.1232]
                               TCO-number:  6.1.1233



Written-by:  GLINDELL                         Creation-date:   5-Mar-85 15:01:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	nrtsrv	cthsrv


Related-QAR:  	838026



Problem:  
NRT and CTERM does not do the right thing when 
^ESET NO LOGINS DECNET-TERMINAL is set.  NRT tests
for 'remote terminals' instead of for 'decnet terminals'
while CTERM doesn't test anything at all.  Also, NRT
returns the wrong reason code 'node shutting down' instead
of 'access not permitted'.

Diagnosis:  

Solution:  
Test SF%MCB for both NRT and CTERM.  Use disconnect reason
code RSNACR (access not permitted).


                               [End of TCO 6.1.1233]
                               TCO-number:  6.1.1234



Written-by:  GLINDELL                         Creation-date:   5-Mar-85 15:37:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-QAR:  	838052



Problem:  
Any user can get any password on a system that is not using password
encryption.  This bug is also in all 4.1 and 5.1 systems.  Also, this
can be done in a finite time, more exactly proportional to 128 times
the number of characters in the password.

Diagnosis:  
Check password code in JSYSA is not defensive enough.  Monitor uses
one address when reading bytes that match the correct password, another
address when reading bytes that did not match.  Clever usage of address
break will use this fact.

Solution:  
Use the one and same address whether good or bad bytes are read.
The address break will not reveal anything that way.  Code affected
is at CHKPS3 and CHKPS5.


                               [End of TCO 6.1.1234]
                               TCO-number:  6.1.1236



Written-by:  PALMIERI                         Creation-date:   6-Mar-85 10:19:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCJSYS	D36PAR




Problem:    Random BUGHLTs when privileged user continually opens the maximum
	  number of logical links

Diagnosis:    Port database in SCJSYS is built to accommodate maximum number
	    logical links and is indexed by link number.  However link numbers
	    are assigned by the lower layer (SCLINK) when the logical link
	    is opened and numbers greater than maximum logical link value
	    may be assigned.  This occurs because SCLINK does not immediately
	    release an SLB for a logical link but instead puts it on a
	    queue to be released later.  The user is told that the link is
	    closed and may then open another.  If that happens before the
	    SLB for the previous link is released the link number cannot be
	    reused.  SCLINK expands its database and can then assign a link
	    number that exceeds maximum links.  This number is given to SCJSYS.
	    This causes SCJSYS to index off the end of its port database and
	    trash memory it does not own.

Solution:    Add a table of pointers to the port database indexed by port number.
	   Make this table maximum links times 2 for unprivileged users and
	   maximum links plus 10 for privileged users.  If the link number
	   assigned exceeds the size of the indirect table close the link
	   and return MONX07 error to user.  The indrect table facilitates
	   not having to build the port database until the port is opened.


                               [End of TCO 6.1.1236]
                               TCO-number:  6.1.1238



Written-by:  MCCOLLUM                         Creation-date:   6-Mar-85 14:54:28


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MANY




Problem:  
There are nearly 400 undocumented BUGxxx's in the monitor as well as a few
hundred improperly documented BUGxxx's.


Diagnosis:  
Same.

Solution:  
Document all the BUGxxx's that are not under DEBUG=1 and fix all the improperly
documented BUGxxx's so the documentation people can distribute BUGS.MAC.


                               [End of TCO 6.1.1238]
                               TCO-number:  6.1.1239



Written-by:  PAETZOLD                         Creation-date:   6-Mar-85 16:11:00


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	STG




Problem:    

Should be able to turn off the IPNIN and IPCIN code even though it is not
a supported configuration.  This is possible in 5.4.

Diagnosis:    

oversight.

Solution:    

Key the IMPANX and IMPDV loadmodules off of ANXN under control of NETN.
Also create an dummy for IMPCHK when ANXN is off and NETN is on.


                               [End of TCO 6.1.1239]
                               TCO-number:  6.1.1241



Written-by:  GROSSMAN                         Creation-date:   7-Mar-85 16:09:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLMOP




Problem:  COMMMS BUGHLTs when running DFNIS (sometimes called RMTCON).

Diagnosis:  ^C'ing out of DFNIS at the wrong moment leaves some buffers laying
around.  When the fork gets reset, these buffers get returned to the memory
manager.  Unfortunately, NISRV still has pointers to the buffers, and
eventually returns them to LLMOP.  LLMOP then tries to return them to the
memory manager again, resulting in a COMMMS BUGHLT.

Solution:  Create an "ABORT" bit for requests.  When LLMOP tries to clean up
the request buffers, it first see's if the request has completed, if it has,
it returns the buffer immediately, otherwise, it just sets the "ABORT" bit.
Eventually, NISRV returns the buffer.  If the abort bit is on, the buffer
is just released with no further ado.


                               [End of TCO 6.1.1241]
                               TCO-number:  6.1.1242



Written-by:  PRATT                            Creation-date:   7-Mar-85 19:13:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IPCF




Problem:  

  	1) Must be whopr to use the QUEUE jsys.

	2) IP%MON is not being cleared when it should which would
	   allow a user to set the "sent by monitor" bit.

Diagnosis:    

	1) The VALARG routine was checking 3 fields including
	   the field IP%CFC for a non-zero value when the user 
	   wasn't priv'd. The new .IPCCG value (sent on behalf 
	   of the QUEUE jsys) doesn't need privs. All the old values do.

	2) Typo in the code

Solution:    

	1) Check IP%CFC for .IPCCG after checking the status of
	   IP%CFP, and IP%CFM.

	2) Change the T1 to a P1


                               [End of TCO 6.1.1242]
                               TCO-number:  6.1.1244



Written-by:  GLINDELL                         Creation-date:   7-Mar-85 22:19:11
Edited-by:   GLINDELL                         Edit-date:       7-Mar-85 22:22:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	POSTLD


Related-QAR:  	838076



Problem:    

Illegal memory read in POSTLD if the monitor PDV is missing.
This should only happen if a bad .CCL file is used to link the
monitor.

Diagnosis:    
POSTLD needs to find the monitor PDV in order to locate the symbol
table.  The .POLOC function of PDVOP% is used.  If there is no name
with the requested name, then the PDVOP% will return with a 0 PDVA
and a 0 count of items returned.  However, when I wrote the code
I thought the PDVOP% would generate an error if no matching PDV 
was found.  Since this is not the case, POSTLD will pick up a 0

for the PDVA and after that it's downhills.

Solution:    
Check for 0 items returned after the PDVOP%, and if no PDV is found,
issue an appropriate error message and abort POSTLD.

Also, add some information on how to debug POSTLD in a comment at the
top of the module.


                               [End of TCO 6.1.1244]
                               TCO-number:  6.1.1245



Written-by:  GRANT                            Creation-date:  11-Mar-85 07:46:45
Edited-by:   GRANT                            Edit-date:      11-Mar-85 10:00:03


Edit-checked:         Yes    Document:          Yes    TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	cfssrv	MEXEC	phymvr	globs	PROLOG	STG




Problem:    Jobs gets hung when another system in the cluster is shutdown for PM.

Diagnosis:    The MSCP server is invisible to the operator on the system going
down and to users on the other systems who have structures mounted through the
MSCP server.  The software provides no help in this siutation.

Solution:    When a system is going to cease timesharing, check to see if it has
any disks onlined by other systems through its MSCP server.  If so, warn the
operator that the other systems must be checked for possible structure
dismounting instructions.  On the other systems, check for any structures
mounted through the MSCP server of the system going down.  If there are any,
warn the operator about the other system's pending shutdown and list the
structures that should be dismount.


                               [End of TCO 6.1.1245]
                               TCO-number:  6.1.1247



Written-by:  LOMARTIRE                        Creation-date:  12-Mar-85 10:45:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV	MEXEC


Related-TCO:  	6.1.1227



Problem:   CFSVFL BUGHLTs at system startup.

Diagnosis:   TCO 6.1.1227 tried to solve this problem but only fixed part of
the problem.  There still must be a more deterministic way to insure that
we have joined with all existing TOPS-20 systems.

Solution:   Add code to routine CFSJYN which will make this routine return 
only once we are sure that we have completely joined the cluster.  We will 
wait until we have a CFS connection to every TOPS-20 system to which we have 
at least one open path.  The extra DISMS in MEXEC after the CALL CFSJYN is 
now no longer needed.


                               [End of TCO 6.1.1247]
                               TCO-number:  6.1.1250



Written-by:  MELOHN                           Creation-date:  12-Mar-85 18:46:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    When bias knob 20 set set, LAT ends up retransmitting up to
40% of all of its messages. This means more work for LATSRV, the
server, and more unnecessarily retransmitted messages on the Ethernet.

	Also, LCP displays the circuit retransmit timer is in seconds,
when it is actually in scheduler cycles. Quite a difference.

Diagnosis:    The LAT host retransmit timer was designed based on the
assumption that a scheduler cycle happens every 20ms. This is not a
valid assumption when the bias knob is set or when the system is very
idle and the LAT scheduler routine is run as part of the idle loop.

Solution:    Change the retransmit timer to be based on TODCLK, like the
keep alive timer. Change the LATOP% jsys to expect the retransmit
timer value in milleseconds, just like the various circuit timers in
the server.


                               [End of TCO 6.1.1250]
                               TCO-number:  6.1.1251



Written-by:  MELOHN                           Creation-date:  12-Mar-85 18:51:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    Various LATOP% parameters default to bogus values. The Host
number which is supposed to be settable via the NODE command in SETSPD
isn't.

Diagnosis:    The defaults grew out of the values used in standalone. No
code existed to set the host number.

Solution:    Make the default values and ranges more realistic. Read the
host number from RTRADR at LATINI time.


                               [End of TCO 6.1.1251]
                               TCO-number:  6.1.1252



Written-by:  MELOHN                           Creation-date:  12-Mar-85 18:58:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    Users report being "dropped" by the LATBOX but there is no
evidence that anything was wrong, other than a stopped session at the
user's terminal.

Diagnosis:    When an illegal message type is received, a LATIMT BUGCHK
is recorded and the circuit terminated. If the first part of the
message is readable, but the slot data in the message is garbaged, the
circuit is stopped, but no BUGCHK issued. LATIMT should probably be a
BUGINF anyway.

Solution:    Make the LATIMT a BUGINF. Add a new BUGINF LATIST which
will print out when a user is dropped due to an illegal slot within a
seemingly legal message.


                               [End of TCO 6.1.1252]
                               TCO-number:  6.1.1253



Written-by:  MCCOLLUM                         Creation-date:  13-Mar-85 14:27:38
Edited-by:   MCCOLLUM                         Edit-date:      13-Mar-85 14:41:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC


Related-QAR:  	838064



Problem:  

GTFDB3 crashes when renaming files.

Diagnosis:    

When renaming a file to itself, RNAMF% should return a RNMX10 (Source  file
is not closed) error. There  is a coding error  in this path that  prevents
RNAMF% from performing  the check  that determines  if the  file is  indeed
open. It wrongly assumes that  the file is not  open and proceeds to  trash
the FDB of the already  existent file. A last  second sanity check call  to
GETFDB finds this and causes the crash.

Solution:  

Fix the coding error and allow RNAMF% to return RNMX10.


                               [End of TCO 6.1.1253]
                               TCO-number:  6.1.1255



Written-by:  PALMIERI                         Creation-date:  13-Mar-85 15:38:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCJSYS


Related-QAR:  	838043



Problem:    Previous DECnet monitors allow a program to do an implied connect
	  accept by doing a SOUT/SOUTR after the OPENF on a DECnet link.
	  6.1 does not.

Diagnosis:    No code

Solution:    Add code to wait for connect and accept it if SOUT/SOUTR is done
	   and the link is in connect wait/connect received state.


                               [End of TCO 6.1.1255]
                               TCO-number:  6.1.1256



Written-by:  PAETZOLD                         Creation-date:  13-Mar-85 16:37:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  Yes


Program:  monitor
  Routines-affected:   	STG




Problem:    

Channel detected write parity errors from the last quadword of memory.

Diagnosis:    

Hardware design problem in the KL10.

Solution:    

Add conditional assembly in STG to force NMAXPG down by one page if MAXCOR
is set for 4.0 Meg.


                               [End of TCO 6.1.1256]
                               TCO-number:  6.1.1258



Written-by:  PALMIERI                         Creation-date:  13-Mar-85 16:51:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	D36COM	SCLINK


Related-QAR:  	838082



Problem:    36 bit byte mode does not work from 6.1 to 5.1 or 6.1 to 6.1.

Diagnosis:    If segment size of message falls somewhere in a full word other
	    than at the end, the rest of the bytes of the word may not be sent.

Solution:    Send a maximum of segment size modulo 9 bytes in a message. Send
	   any remaining bytes in the following message.


                               [End of TCO 6.1.1258]
                               TCO-number:  6.1.1260



Written-by:  PALMIERI                         Creation-date:  13-Mar-85 17:03:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	ROUTER




Problem:    Loop node does not work when ROUTER is an endnode.

Diagnosis:    The routing algorithm choses the destination as the next hop for
	    the NI but since we are always the destination when 
	    performing loop node we fail to get the message back since
	    the NI cannot receive its own transmitted messages.

Solution:    If message is destined for ourselves send it to the designated
	   router if there is one.  If not send it to ourselves and never get
	   it.


                               [End of TCO 6.1.1260]
                               TCO-number:  6.1.1263



Written-by:  WAGNER                           Creation-date:  14-Mar-85 13:46:34


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM


Related-SPR:  	 20644



Problem:  DOCUMENTATION FOR .SKRJP FUNCTION OF SKED% IS WRONG, AND MISSING SOME
SYMBOLS

Diagnosis:  SEE ABOVE

Solution:  CORRECT THE DOCUMENTATION, AND IMPLEMENT 2 NEW SYMBOLS: .SACSH, AND
.SACLU


                               [End of TCO 6.1.1263]
                               TCO-number:  6.1.1264



Written-by:  MELOHN                           Creation-date:  14-Mar-85 15:35:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    The third service offered by a TOPS-20 host to a PLATO does
not appear on the PLATO list of available services.

Diagnosis:    The Multi-cast change flags were not being set when a new
service was added. Apprently VMS doesn't set them either, but the
PLATO allows the second service to be added without setting the change
flags so as not to upset VMS while the third or more service must have
the change flags set. *yuk*

Solution:    Set the change flags whenever we add a new service, up to
the maximum number of services offered.


                               [End of TCO 6.1.1264]
                               TCO-number:  6.1.1265



Written-by:  MELOHN                           Creation-date:  14-Mar-85 15:52:31
Edited-by:   PRATT                            Edit-date:      14-Mar-85 16:33:03


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG


Related-TCO:  	6.1.1268

Related-QAR:  	838073



Problem:    Need more customer defined terminal types.

Diagnosis:   If we reserve a new block for DEC as well, customers who
need larger amounts of terminals than we can to build in can add them
at the end without worrying about DEC coming along some day and using
the slots for our new terminal types.

Solution:    Add more - 10 reserved for customers, 10 for DEC.


                               [End of TCO 6.1.1265]
                               TCO-number:  6.1.1267



Written-by:  MELOHN                           Creation-date:  14-Mar-85 16:31:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV	TTYDEF	NRTSRV


Related-QAR:  	838078



Problem:    System halted with COMMMS.  There were 13 SCLSBJ and 2
NVTPCL BUGCHKs queued on SEBQOU.

A user on terminal 31 was set hosted (.MOSNH had been issued).  TTNUS
was set in the terminal's dynamic data but the contents of TTULL was
101 (octal) and not the address of a NRB.  This discrepancy caused the
BUGHLT and BUGCHKs when MCSRV tried to service the line.

Diagnosis:    

After careful scrutiny we noticed that TTLMAX and TTULL share the same
word in the dynamic data.  TTLMAX is the maximum of TTLINE, the line
counter.  TTULL is the address of the NET USER logical link.  The
comment lines in TTYDEF tell us the assumption is TTLMAX will not be
in use when SET HOST is in effect.  Unfortunately there is no code in
TTYSRV to support this assumption.

The value in TTULL at the time of the crash was the same as the value
in TTLINE, indicating that routine INCLIN(TTYSRV) had recently
deposited the value.  INCLIN is called for example by the BOUT% JSYS
(TCO->TCOY->TTCO1 (via CHITAB dispatch)) when a ^J is being output to
the terminal.

Another way for TTLMAX to get set (and TTULL to get zapped) is by the
MTOPR function .MOSLM which directly stores into TTLMAX.

Since the SET HOST (.MOSNH) function does not freeze any processes in
the job, or prevent non job output, it is possible for the value in
TTULL to get lost.

The careful reader would have immediately noticed that under versions
6.0 and 5.1 TTULL was also overlayed on the TTLMAX word.  Correct, but
now the field for the escape character (TTUEC) is 774000,,0 whereas
under previous versions it was 177,,0.  This change has been made to
accomodate a 29 (?) bit address for the field TTULL, which is
allocated out of extended resident free space.

This means that under versions 6.0 and before the test at INCLIN would
invariably prevent the store of a new value in TTLMAX.  However, with
the new position of TTUEC a user supplying an escape character of "@"
or greater causes the value in TTLMAX to be negative!  This negative
value of TTUEC and TTULL then gets overwritten by the code at INCLIN.

Of course our user was an extremist, he supplied tilde (code 176) for
his escape character.

Solution:    Solution:

Forget about saving a word in the dynamic data, nobody will notice
because the system will be crashing.  Instead increase the dynamic
data and seperate TTLMAX and TTULL.

Change the lines in TTYDEF (changes are in lowercase):

	TTLMAX==34			;MAXIMUM OF TTLINE
	DEFSTR TTULL,TTLMAX,35,29	;NET USER LOGICAL LINK 
					; - WHEN TTLMAX NOT IN USE
	DEFSTR TTUEC,TTLMAX,6,7		;NET USER ESCAPE CHAR
		:
		:
	TTDDLN==37			;DEFAULT DYNAMIC DATA SIZE

to be:

	TTLMAX==34			;MAXIMUM OF TTLINE
		:
		:
	ttlnuw==37			; net user word 
	defstr ttull,ttlnuw,35,29	; net user logical link
	defstr ttuec,ttlnuw,6,7		; net user escape char
		:
		:
	ttddln==40			; default dynamic data size


                               [End of TCO 6.1.1267]
                               TCO-number:  6.1.1271



Written-by:  PRATT                            Creation-date:  14-Mar-85 23:00:19
Edited-by:   PRATT                            Edit-date:      14-Mar-85 23:13:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA




Problem:      

Any user supplying bad length arguments to the QUEUE% jsys can
cause a ILLUUO bughalt.

Diagnosis:      

The Queue jsys code was trying to verify the users arguments and
found an error. It took the error return which tried to clean up
by releasing free space used for building an IPCF packet. 
Unfortunately we hadn't gotten the free space yet which happens 
later on in the code. The QUMSG location had garbage in it and
when we tried to release that, we die a horible death.

Solution:      

In QUVERF, change the two error conditions before the call to ASGPGS
to generate an illegal instruction trap. After the call, use RETBAD
so we can return and clean up the free space used.


                               [End of TCO 6.1.1271]
                               TCO-number:  6.1.1272



Written-by:  GRANT                            Creation-date:  15-Mar-85 08:18:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:  Impossible to figure out the algorithm for homeblock checking.
Diagnosis:  Routine UPDPDB is too hard to read.
Solution:  Restructure the code.  No logic changes intended.

                               [End of TCO 6.1.1272]
                               TCO-number:  6.1.1273



Written-by:  GRANT                            Creation-date:  18-Mar-85 10:05:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp




Problem:  Occasional problems with CI wires going from good to bad and from
bad to good.
Diagnosis:  There is a problem in the KLIPA (to be ECOed) which is
aggrevate by frequent loopback.  TOPS-20 sends 2 loopbacks per second.
Solution:  Change TOPS-20 to send only 1 loopback per second;  this should
not deminish the monitor's ability to detect real problems.

                               [End of TCO 6.1.1273]
                               TCO-number:  6.1.1275



Written-by:  GROSSMAN                         Creation-date:  18-Mar-85 15:12:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLINKS




Problem:  Invalid DECnet event 3.0 from LLINKS.

Diagnosis:  An NSP Disconnect Confirm message with a bad reason code was
being handled incorrectly.

Solution:  Make LLINKS follow the NSP version 4.0 spec in this regard.

Note that if VMS followed the spec in this regard, this problem would not
have occurred.


                               [End of TCO 6.1.1275]
                               TCO-number:  6.1.1276



Written-by:  PALMIERI                         Creation-date:  18-Mar-85 16:56:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	GTJFN




Problem:    Wildcard for nodename not permitted for network parse-only JFN.

Diagnosis:    Code is too restrictive.

Solution:    Remove restriction and allow wildcard in nodename.


                               [End of TCO 6.1.1276]
                               TCO-number:  6.1.1277



Written-by:  MELOHN                           Creation-date:  19-Mar-85 17:30:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:    Users on VT2xx terminals in VT2xx, 7-bit mode see garbage
when hosting via NRT to a remote 20.

Diagnosis:    Parity checking is enabled for NRT (and all other line
types). VT200 in 7-bit control mode use the 8th bit not for parity but
for 8-bit characters.

Solution:    Parity is for farmers, not for NRT, CTERM, or LAT lines.
Remove the TRZ(TRO) to clear/set parity in PARTBL:.


                               [End of TCO 6.1.1277]
                               TCO-number:  6.1.1278



Written-by:  GROSSMAN                         Creation-date:  20-Mar-85 09:40:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIUSR




Problem:  The Read Portal Counters function of the NI% JSYS does not convert
global job numbers to local indexes.

Diagnosis:  Oops!

Solution:  Add a call to GL2LCL to the portal locating routine.


                               [End of TCO 6.1.1278]
                               TCO-number:  6.1.1279



Written-by:  LOMARTIRE                        Creation-date:  20-Mar-85 10:48:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV	GTJFN


Related-TCO:  	6.1.1127



Problem:   ILLUUO BUGHLTs.

Diagnosis:   TCO 6.1.1127 attempted to solve the cause of ILLUUOs from passing a 
bad byte pointer to GTJFN.  The changes were made to KIMXLP under a false 
assumption.

Solution:   Remove the code added to KIMXLP by TCO 6.1.1127.  Instead, rewrite 
GTJFN so that it does an XCT Q1 not an XCT -2(P) since P is not preserved when 
we are in KIMXLP.


                               [End of TCO 6.1.1279]
                               TCO-number:  6.1.1280



Written-by:  MELOHN                           Creation-date:  20-Mar-85 14:55:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    LCP show server Quack does not display the location string
of server Quack.

Diagnosis:    Recent additions to the LAT circuit database were made at
the end of the CB BEGSTR. Unfortunetly the LATOP% jsys BLTs the last
half the the CB to user context as the return for the get server
information function.

Solution:    Move the new cells to a more appropriate place in the CB.
Add the warning to the CB that the data structures in the last half of
the BEGSTR are returned as part of the jsys, and should not be changed
without corresponding changes to the LATOP code.


                               [End of TCO 6.1.1280]
                               TCO-number:  6.1.1281



Written-by:  MOSER                            Creation-date:  21-Mar-85 11:15:03


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:   When a job is logged out because of a carrier off action the wishes
of the ACJ are ignored. If the ACJ refuses logout the job is logged out anyway!

Diagnosis:   Coded that way. This is inconsistent with regular logout
using the LGOUT Jsys where the ACJs wish is honored.

Solution:   If the ACJ denies the request to logout wait 1 minute and ask it
again.


                               [End of TCO 6.1.1281]
                               TCO-number:  6.1.1282



Written-by:  LOMARTIRE                        Creation-date:  21-Mar-85 16:13:30
Edited-by:   LOMARTIRE                        Edit-date:      17-Apr-85 14:27:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL	STG	GLOBS


Related-TCO:  	6.1.1328



Problem:     PITRAP BUGHLTs

Diagnosis:     During the lookup of a resource block in HSHLOK, one of the
pages which is referenced is no longer in core.  Since CFS locks all it's pages 
down, and never unlocks them, someone else is unlocking the page.  We need a 
diagnostic patch which will catch the culprit.

Solution:   In the routine MULK1, check to see if the page to be unlocked is 
a page from CFSSEC.  If so, die with an ILULK5 BUGHLT.  This feature is 
controlled by the location CFUNLF.  When zero, this checking will be done.  
When non-zero, it will not.  CFUNLF is zero by default.


                               [End of TCO 6.1.1282]
                               TCO-number:  6.1.1283



Written-by:  GROSSMAN                         Creation-date:  21-Mar-85 23:18:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  KNISTP BUGCHK's

Diagnosis:  Keep alive timer for KLNI was implemented wrong.  Every five
seconds, KLNI is checked for activity within the last 10 seconds.  If
there has been no activity in the last 10 seconds, NISRV gives the KLNI
a command.  This means that on an idle system, the KLNI is processing
a command every 10 seconds.  If the keep alive routine in NISRV determines
that it hasn't heard from the KLNI in 15 seconds, it generates a KNISTP
BUGCHK, and reloads the KLNI.

Due to variability in the second level clocks from the scheduler, the
KLNI keep alive routine may be called in such a manner that it won't queue up
a command to the KLNI for about 15 seconds.  This results in a KNISTP BUGCHK.

Solution:  Halve the minimum activity interval.  Ie: if the KLNI has done nothing
in the last 5 seconds, give it a command.  This allows a large margin of
error for level 2 clock drift.


                               [End of TCO 6.1.1283]
                               TCO-number:  6.1.1284



Written-by:  GRANT                            Creation-date:  22-Mar-85 06:45:40
Edited-by:   GRANT                            Edit-date:      12-Aug-85 11:50:19


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	scampi	phyklp	PROLOG	globs	STG
			SCSJSY


Related-QAR:  	838136	838142



Problem:     SCAEBD BUGHLT (Error while doing Buffer Defferal)

Diagnosis:     Two systems are simultaneously running CHECKD at system startup.
Facts to remember:  1) MSCP server doesn't open a listener until after CHECKD
finishes, 2) MSCP continuously tries to connect to another 20's MSCP server
once the virtual circuit is open.  These are both the desired actions.  However,
during the time MSCP's connection attempts fail, many SCA connect blocks are
marked for reaping but the fork which does the reaping doesn't get started
until after CHECKD finishes!  This deadly embrace causes SCA to use up the
entire section's worth of buffers for the connect attempts, thus producing the
SCABSF (Buffer Section Full) BUGCHK and finally the SCAEBD BUGHLT.

Solution:     What was once TEFORK (temporary fork) will now live on through the
life of the system.  It gets started immediately after starting the CI20 and
will handle SCA buffer creation, SCA connect block reaping, and (while we're
at it) loading/dumping of the CI20.  The fork will be called CIFORK and usually
will be sitting in the scheduler test CITEST waiting for any of the bits in the
flag word CIFRKF to get set.  There are bits for each of the 3 actions CIFORK
performs.

Comments: This eliminates SCA's use of DDMP to do SCA buffer creation.  Also,
moving loading/dumping of the CI20 away from Job 0 may eliminate some of the
KLPNRL BUGHLTs you get due to the deadly embraces that occur, but it is not
a 100% cure;  that is planned for Release 7.0.


                               [End of TCO 6.1.1284]
                               TCO-number:  6.1.1285



Written-by:  GROSSMAN                         Creation-date:  25-Mar-85 10:50:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NISRV	PHYKNI




Problem:  Spurious KLNI Reload Timeouts, resulting in KNIRTO BUGCHK's.  Sometimes
KLNI is not started because of this.

Diagnosis:  Reload timeouts being performed wrong.  Timing starts whenever the
reload request is made.  During system startup, the reload request happens
almost immediately, KNILDR doesn't run until CHKR gets around to it.  If the
startup procedures take too long, KNIRTO's result.  Usually, they are spurious
and have not effect onthe KLNI, but sometimes, they cause the KLNI to be
shut down.

Solution:  Get rid of KNIRTO.  Don't time out KNILDR.  When CHKR (via KNIJB0)
runs KNILDR, check the state of the KLNI after KNILDR completes.  If the
KLNI isn't running, shutdown the KLNI and issue a KNIRLF (Reload Failed)
BUGCHK.

This can happen if KNILDR dies while reloading a KLNI, or if someone put a
bogus program that just happens to be called KNILDR up on SYSTEM:.


                               [End of TCO 6.1.1285]
                               TCO-number:  6.1.1286



Written-by:  LOMARTIRE                        Creation-date:  25-Mar-85 11:20:50


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO	MSTR	MONSYM


Related-QAR:  	706407



Problem:  
     Whenever  a  cluster change occurs, the monitor is going to force all dual
ported disks offline while it goes through a  homeblock  check  on  them.  This
causes  MOUNTR to print out that the "previously mounted structure is no longer
mounted". This can be confusing since this homeblock  check  is  temporary  and
should be transparent to the user.

Diagnosis:    
     If  a  .MSRUS  function  of MSTR% is done during the time that TOPS-20 has
forced the disk offline, MS%OFL will be returned. MOUNTR interprets this  as  a
true  physical  offline  when, in fact, the disk is still online but it is just
temporarily inaccessible.

Solution:  
     The monitor needs a way to return the status of a disk which it has forced
offline in a way other than MS%OFL. Invent a new bit, called MS%IAC, which will
be  returned whenever the disk is U1.OFS (forced offline). This bit is returned
in additon to whatever other bits are appropriate (such as MS%OFL). Now, MOUNTR
can test for  MS%IAC  and  take  more  desirable  actions  under  this  special
situation.


                               [End of TCO 6.1.1286]
                               TCO-number:  6.1.1287



Written-by:  MCCOLLUM                         Creation-date:  25-Mar-85 15:01:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  
CFORK% returns illegal instruction trap for certain resource exhaustion
problems. CFORK% is documented as returning +1 and error code in AC 1
for all error types.

Diagnosis:  
As above.

Solution:  
Change an ITERR to a RETERR.


                               [End of TCO 6.1.1287]
                               TCO-number:  6.1.1288



Written-by:  LOMARTIRE                        Creation-date:  26-Mar-85 08:51:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK


Related-QAR:  	706305



Problem:    
     The  RT%DIM  bit  of  the  RTIW% JSYS has no effect. The deferred terminal
interrupt mask is always returned regardless of the setting of the RT%DIM bit.

Diagnosis:    
     There was never any code to check for the RT%DIM bit.

Solution:    
     Add  code  to check to see if the user specified RT%DIM before placing the
mask in T3.


                               [End of TCO 6.1.1288]
                               TCO-number:  6.1.1289



Written-by:  LOMARTIRE                        Creation-date:  26-Mar-85 11:15:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-QAR:  	706307



Problem:    
     GTDIR%  returns  illegal  memory  write  error, yet argument block and all
addresses are writeable

Diagnosis:    
     The range checking code is off by one.

Solution:    
     Decrement  the  value  of  Q2  (the  argument  block  length)  before  the
comparisons so that it reflects the highest value to be returned.


                               [End of TCO 6.1.1289]
                               TCO-number:  6.1.1292



Written-by:  LOMARTIRE                        Creation-date:  28-Mar-85 09:34:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-SPR:  	 19910



Problem:    
     If  there  are files (such as A.A.2, B.A.2, C.A.2) which have been deleted
but not expunged with a higher generation number than those of  the  same  name
(such  as  A.A.1,  B.A.1,  C.A.1) a command like COPY *.A.0 (TO) NUL: will only
copy the first file; A.A.1.

Diagnosis:    
     GNJFN%  always  has  VERLUK look for deleted files even if the GTJFN% call
did not consider them. So, B.A.1 and  C.A.1  will  not  be  found  because  the
higher,  deleted,  versions will be found first. Then, when GNJFN% notices that
the file is deleted, it attempts to find the next one. Of course, there  is  no
next one, so the GNJFN% fails.

Solution:    
     In  GNJFN1,  check  the  flags passed to GNJFN% which reflect the original
GTJFN% call. If GJ%GND (deleted files were not considered) is set, do  not  set
IGDLF  (ignore  the deleted bit). This way, deleted files will be found only if
they were originally requested.


                               [End of TCO 6.1.1292]
                               TCO-number:  6.1.1293



Written-by:  GROSSMAN                         Creation-date:  28-Mar-85 09:57:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV	STG	GLOBS




Problem:  BUGHLT code can lose valuable PI information if no SYSERR blocks are
available.  BUGHLT code also loses state of PI system ON/OFF bit.

Diagnosis:  BUGH0 (in APRSRV) does a PIOFF before saving any PI information.
This loses the state of the PI system ON/OFF bit.

Solution:  When a BUGHLT occurs:

1) Save the current CONI PI, in PISV1.
2) Turn off the PI system (PIOFF).
3) Acquire the bug lock (AOSE BUGLCK).
4) Copy PISV1 to PISAV.

In case a recursive BUGHLT occurs, only PISV1 will be disturbed.  PISAV will
contain the PI status from the original BUGHLT.


                               [End of TCO 6.1.1293]
                               TCO-number:  6.1.1294



Written-by:  GROSSMAN                         Creation-date:  28-Mar-85 15:06:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLMOP




Problem:  LLMOP% JSYS does not accept a service password in the Reserve
Console (.RCRSV) function.

Diagnosis:  Code never implemented.

Solution:  Write the code.


                               [End of TCO 6.1.1294]
                               TCO-number:  6.1.1295



Written-by:  LOMARTIRE                        Creation-date:  28-Mar-85 15:25:18
Edited-by:   LOMARTIRE                        Edit-date:      28-Mar-85 15:27:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIRECT


Related-QAR:  	838071



Problem:        
     TCO  6.2005 was never installed in either 6.0 or 6.1. It attempts to solve
the problem of receiving "?No such directory name" during directory name  field
recognition when a file of the same name exits.

Diagnosis:  

Solution:        
     Install it.


                               [End of TCO 6.1.1295]
                               TCO-number:  6.1.1296



Written-by:  MCCOLLUM                         Creation-date:  29-Mar-85 15:24:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN




Problem:  
RELBAD BUGHLTs.

Diagnosis:  
When attempting to perform recognition on a file name and the default device
name in the GTJFN block is DSK*:, routine DEFDEV will call STRDVD to translate
DSK*: to the public structure name. STRDVD alters the byte pointer in FILOPT
when it changes the free space block to accomdate longer strings. In this case,
however, other routines depend upon the old value in FILOPT and assume it
will not change over the call to DEFDEV.


Solution:  
Since the new value in FILOPT is only in use during the call to DEFDEV, save
the value of FILOPT before calling DEFDEV. Restore FILOPT to its initial
state after the call to DEFDEV is completed.


                               [End of TCO 6.1.1296]
                               TCO-number:  6.1.1297



Written-by:  TBOYLE                           Creation-date:  29-Mar-85 15:58:02
Edited-by:   TBOYLE                           Edit-date:       1-Apr-85 16:06:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:      PTNON0 BUGHLTS. The application was 1022.

Diagnosis:      PMAP to change another forks address space crashes
because the code in MSETPT does not remain NOSKED between
the removing of page-table entries and the adding of new ones.
In this case, the target fork intervened and faulted a private
page.

Solution:      Be NOSKED during the release and set page-table entry
process. Swap pages in beforehand to prevent NOSKED page-faults.
This is also a significant improvement over going OKSKED in the middle
of critical code to prevent NOSKED page-faults!

We will include this change for 6.1 to solve 1022's invocation
of these PTNON0's. However, we must plan to revamp this code
during the next release because several of these routines have
races and also racy methods of preventing NOSKED page-faults.


                               [End of TCO 6.1.1297]
                               TCO-number:  6.1.1298



Written-by:  GROSSMAN                         Creation-date:  30-Mar-85 09:33:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLMOP




Problem:  KPALVH's, ILMNRF's and many other BUG.'s sometime after receiving
an LLMOP Request Counters message.

Diagnosis:  When LLMOP receives a Request Counters message, it generates an
internal request block and puts it on a request queue.  It then asks NISRV
for the desired counters.  When NISRV returns the counters sometime later,
LLMOP completes the request, and deallocates the request block.
Unfortunately, LLMOP never removed the request block from the request queue,
and it now has a stale pointer to some memory it used to own.

In any case, somebody else eventually acquires the deallocated memory, and
it's downhill from there.  In one particular case, the memory was picked up
by SCLINK, and LLMOP's request queue ended up pointing at SCLINK's logical
link list.  LLMOP then tried to find something on the request queue, and
got lost, resulting in a KPALVH.

Solution:  Don't queue the request.  There was never any reason to do so, as
LLMOP kept track of th request block by storing it's address in UNRID of
the NISRV arg block.


                               [End of TCO 6.1.1298]
                               TCO-number:  6.1.1299



Written-by:  GROSSMAN                         Creation-date:  30-Mar-85 11:24:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLMOP




Problem:  Lost memory when using LLMOP functions .RCRSV, .RCREL, and .RCRBT.

Diagnosis:  Each of these functions allocates an LLMOP request block, and
never returns it.

Solution:  Set the 'abort' bit in the request block for each of these functions.
When the transmit complete interrupt happens, this will cause the block to
be deallocated.


                               [End of TCO 6.1.1299]
                               TCO-number:  6.1.1300



Written-by:  PAETZOLD                         Creation-date:  31-Mar-85 13:07:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	tcptcp




Problem:    

TCP hangs up.  Lots of FLKTIMs.  TCPHLK is locked.

Diagnosis:  

Solution:    

BUFHNT: needs to check for a null buffer.


                               [End of TCO 6.1.1300]
                               TCO-number:  6.1.1301



Written-by:  PAETZOLD                         Creation-date:  31-Mar-85 13:16:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	tcpjfn




Problem:    

;LOCAL-HOST and ;FOREIGN-HOST GTJFN attributes do not work.

Diagnosis:  

Solution:    

HSTHST is returning results in T1 and not T2 like it is supposed to.


                               [End of TCO 6.1.1301]
                               TCO-number:  6.1.1302



Written-by:  PAETZOLD                         Creation-date:  31-Mar-85 13:27:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IPNIDV




Problem:    

ARPBFL BUGCHKs and eventual ARP shutdown.

Diagnosis:    

IPDWNS BUGINFs cuased by among other things carrier failures on the NI.
Eventually we run out of ARP buffers and an IPABFL results.

Solution:    

ARPCDS transfers to CDSERR on a send failure but forgets to release the
ARP buffer.  Fix up ARPCDS to do the correct thing and make it display
the real error code instead of the NISRV dispatch address for ARP service.


                               [End of TCO 6.1.1302]
                               TCO-number:  6.1.1303



Written-by:  PAETZOLD                         Creation-date:   2-Apr-85 08:17:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	ipipip




Problem:    

resource problems in the tcp/ip code.  specifically ipiblp and knifqe
buginfs.

Diagnosis:    

At times of high load the internet fork is not running fast enough.

Solution:    

Use jobbit to set the priority of the internet fork up.  The code used to
be this way but was changed a while back as an expiriment.  the expirament
failed.


                               [End of TCO 6.1.1303]
                               TCO-number:  6.1.1304



Written-by:  WAGNER                           Creation-date:   2-Apr-85 10:55:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED


Related-SPR:  	 20483



Problem:  SKDIDL overflows into SKDTM0 after 95 hours, 26 minutes, 37 seconds
	 of idle time.

Diagnosis:  SKDIDL is kept in HP time units, only so many can fit. We convert
	 these to mS and put them in SKDTM0. But a conversion of overflowed
	 garbage is still garbage.

Solution:  Check for impending overflow, correct down by a constant, remember
	 that constant. Convert to mS where it is subsequently used, add
	 back in that converted constant. Since SKDIDL is only used to be
	 converted to mS anyway, and only in one place (two if class scheduling)
	 it is more effecient this way (one compare each load average update)
	 than if we changed all the calculations to use double word arithmetic.
	 Besides, the compare only succeeds every 95 hours, etc.


                               [End of TCO 6.1.1304]
                               TCO-number:  6.1.1308



Written-by:  PAETZOLD                         Creation-date:   5-Apr-85 15:04:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	ipipip




Problem:    

ILULK2 BUGHLTs from RCVGAT in IPIPIP when a system has multiple network 
interfaces and the system is a gateway and an interface is down and a
gateway client sends packets to be forwarded on the interface which is down.

Diagnosis:    

The  packet  first  comes  into RCVGAT. RCVGAT checks for a full length
buffer and unlocks the buffer  accordingly.  Since  the  buffer  was  a
receive buffer received from a hardware interface it is full length.

The  destination  address is not for the local host so the packet is to
be forwarded. The packet is now given to another interface to  forward.
Unfortunatly the target interface is down.

GWYLUK  is  called  to  find  another  interface for the packet. GWYLUK
returns an interface which is currently up. It is determined  that  the
local host is indeed the gateway and the packet is forwarded to SNDLCL.
SNDLCL  locks  down the packet again. But uses the actual length of the
data and not the length of the  buffer.  This  is  usually  OK  because
SNDLCL is not usually sending out recieve buffers.

RCVGAT  gets  the packet again and unlocks it. RCVGAT unlocks the whole
buffer but SNDLCL only locked the data portion. If the buffer crosses a
page boundary (probability .5) an ILULK2 will result.

Solution:    

Change SNDLC4 to lock the whole buffer if the buffer is full size. This
appears to be a day one BBN problem.


                               [End of TCO 6.1.1308]
                               TCO-number:  6.1.1309



Written-by:  GRANT                            Creation-date:   5-Apr-85 20:09:29
Edited-by:   GRANT                            Edit-date:       6-Apr-85 12:30:59


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	scampi




Problem:    KPALVH, SCASCQ, and KLPNOM BUGHLTs.  There were probably others
but we've lost track.

Diagnosis:    A packet was appearing on 2 of the CI port's queues at the same
time, leading to massive confusion.  The results were CI-related BUGHLTs
of various flavors.

Solution:    When CIFORK was created SCAMPI was made to set a bit whenever it
needed buffers allocated or connect blocks reaped.  Newly-added code caused
a buffer to get returned when it shouldn't have been.  This was caused by
incorrectly skipping over a RET.


                               [End of TCO 6.1.1309]
                               TCO-number:  6.1.1310



Written-by:  GRANT                            Creation-date:   8-Apr-85 07:42:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp




Problem:  Can't test CI microcode's NO-ANSWER feature which is used by
	diagnostics.
Diagnosis:  No code.
Solution:  Add a routine which does the SET-COUNTER function to set the
NO-ANSWER bit.  This is never called by the standard system;  it is only used
for debugging the micorcode.

                               [End of TCO 6.1.1310]
                               TCO-number:  6.1.1312



Written-by:  PALMIERI                         Creation-date:   8-Apr-85 14:08:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCPAR	SCJSYS




Problem:    COMMMS BUGHLTs

Diagnosis:  
        SCJSYS is releasing SAB blocks twice.  If a link blocks as a result of
        a SOUT/SOUTR the SAB it was using is entered into the "active" slot of
        the SAB indirect table.  If the fork runs at a higher priority level
        before the output completes the monitor will notice the incomplete
        output and attempt to complete it.  If it succeeds, the SAB will be
        returned to the monitor free space pool.  After the higher priority's
        output completes the blocked lower priority will be wakened.  It still
        has a pointer to the now released SAB in its ACs and may attempt to
        release it a second time, resulting in a COMMMS BUGHLT.

Solution:  
        Keep an indirect "active" slot for each PSI level (normal,1,2,3).
        Only attempt to complete blocked output that is at the current PSI
        level.  Do not return a SAB to its "normal" (not active) slot if the
        SAB indirect table pointer (PSBSAB) is zero.


                               [End of TCO 6.1.1312]
                               TCO-number:  6.1.1313



Written-by:  PALMIERI                         Creation-date:   8-Apr-85 16:01:14
Edited-by:   PALMIERI                         Edit-date:       8-Apr-85 16:05:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCLINK


Related-QAR:  	838176



Problem:    36-bit byte mode does not send all bytes.

Diagnosis:    SCLINK tries to determine if all bytes in users buffer will fit
	into a message.  AC P1 is used as a flag to indicate more to send.
	If SCLINK thinks all bytes will fit into a segment but the copy
	routine does not, SCLINK does not notice.

Solution:    Update P1 after user's data is copied.


                               [End of TCO 6.1.1313]
                               TCO-number:  6.1.1314



Written-by:  PALMIERI                         Creation-date:   9-Apr-85 11:16:45


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCJSYS




Problem:    DECnet free space used up

Diagnosis:    SCJSYS not releasing port indirect tables

Solution:    Change SKIPN to SKIPE in RELSJB


                               [End of TCO 6.1.1314]
                               TCO-number:  6.1.1316



Written-by:  MELOHN                           Creation-date:   9-Apr-85 15:16:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CTHSRV




Problem:    When SET HOSTing from VMS to TOPS-20 several of the initial
characteristics sent out by TOPS-20 are ignored by VMS.

Diagnosis:    VMS does not correctly handle an init and a
characteristics CTERM message in the same foundation common data message.

Solution:   Provide characteristics in smaller spoonfulls for VMS by
putting each CTERM message in it's own common data foundation message
type.


                               [End of TCO 6.1.1316]
                               TCO-number:  6.1.1317



Written-by:  MELOHN                           Creation-date:   9-Apr-85 15:44:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CTHSRV




Problem:    System crashes when user CTERMs in and HOSTs out.

Diagnosis:    CTHOOE, the TDCALL which determines out-of-band echoing
for CTERM terminals, is in swappable code. It is called at scheduler
level when the .MOSNH MTOPR% is being used. *BAM*

Solution:    Put CTHOOE is RESCD.


                               [End of TCO 6.1.1317]
                               TCO-number:  6.1.1318



Written-by:  TBOYLE                           Creation-date:  11-Apr-85 15:56:19
Edited-by:   TBOYLE                           Edit-date:      11-Apr-85 15:59:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:    SPLFK% can cause a job to run out of fork handles if
another fork obtains handles on either of the forks used in the
call that exercises the new SPLFK% with suicide option.

This can occur if you ^C out of LINK when it has two forks and do
an INFORMATION FORK, and it also happens by just using LINK with
Rutgers "WATCH" program running with the "program-watch" option.

Diagnosis:    Part of the code must exchange the Job-wide data on
the two forks so that one becomes the other. The Job-fork-handle
share counts should not, however, be exchanged. This is because
other forks have relative fork handles that will point to the
new forks and they must remain the same so that the Job-fork-handles
can be properly released.

Solution:    Add code to insure that the share counts (FKHCNT) remain
the same after the splice with suicide option.


                               [End of TCO 6.1.1318]
                               TCO-number:  6.1.1319



Written-by:  PAETZOLD                         Creation-date:  12-Apr-85 11:28:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IPCIDV




Problem:    

TCP/IP on the CI does not initialize.

Diagnosis:    

Job zero startup has changed around and internet is usually not initialized
when IPCIDV tries to initialize.  This is possible and IPCIDV handles the
situation. However it handles it wrong and marks the interface desired 
state to be down.

Solution:    

Change a jrst into a ret at CIPRST+1.


                               [End of TCO 6.1.1319]
                               TCO-number:  6.1.1320



Written-by:  LEACHE                           Creation-date:  14-Apr-85 14:39:22
Edited-by:   LEACHE                           Edit-date:      14-Apr-85 17:00:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	BOOT


Related-SPR:  	 19606



Problem:      BOOT does not always reload all DX20's on the system.  Also,
BOOT will often unnecessarily reload some DX20's more than once.

Diagnosis:      Lost in the dawn of history is the reason why BOOT specifically
avoids reloading tape DX20's.  The unnecessary reloadings are an artifact
of the design of pre-DX20 BOOT.

Solution:      Make each invocation of BOOT (whether manual or auto-reload)
load each DX20 on the system exactly once.


                               [End of TCO 6.1.1320]
                               TCO-number:  6.1.1321



Written-by:  LEACHE                           Creation-date:  14-Apr-85 14:47:11
Edited-by:   LEACHE                           Edit-date:      14-Apr-85 17:12:37


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	BOOT	CHECKD	DSKALC	PROLOG


Related-SPR:  	 19084



Problem:      BOOT will abort an auto-reload if it gets a dump error.

Diagnosis:      This change was made in V5 so that if the dump was important
the dump could be attempted again.  This is acceptable behaviour on a
development system, but not on a production machine where the most important
thing is to get the system back up.

Solution:      Create a home-block cell for storing BOOT parameters and modify
CHECKD to read and write these parameters.  Define a parameter that, when
set, will cause BOOT to halt when dump errors are encountered during an
auto-reload.  The default behaviour has been changed to proceed on dump
errors.


The CHECKD command ENABLE BOOT-PARAMETERS will set and clear the parameters.
SHOW BOOT-PARAMETERS will display the settings.


The first bit in the parameter-word controls whether BOOT will read the
remaining flags or not.  If the first bit is set, then BOOT will read the
remaining flags (only 1 of which is defined: halt-on-dump-errors).  When
BOOT encounters an enabled parameter word it will change its prompt to
[*BOOT ...] to indicate on the console that it is reading parameters that
may change its behaviour.


                               [End of TCO 6.1.1321]
                               TCO-number:  6.1.1323



Written-by:  GLINDELL                         Creation-date:  16-Apr-85 21:03:45


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCLINK	STG


Related-QAR:  	838204



Problem:  
Remember the TCO last week about the number of nodes growing
on the Enet?  Well, you can forget it now.  Instead of having
a static maximum size of the database, make it dynamic.

Diagnosis:  

Solution:  
Instead of allocating a chunk of memory at initialization time,
get a page at a time when needed instead.  Use ASGVAS.


                               [End of TCO 6.1.1323]
                               TCO-number:  6.1.1324



Written-by:  GROSSMAN                         Creation-date:  16-Apr-85 23:10:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLMOP




Problem:  Remote console programs, and NCP's TRIGGER NODE command eventually stop
working.

Diagnosis:  LLMOP loses track of the number of receive buffers it has posted for
the Remote Console protocol type.  It gets into a state where it beleives that
it has two receive buffers posted, when in reality, it has none posted.

This was caused by the use of a bizarre mutation of the INCR/DECR macros.

Solution:  Change all occurances of the INCRF and DECRF macros into INCR and DECR
macros as appropriate.  Delete definitions of INCRF and DECRF to prevent
future abuse.


                               [End of TCO 6.1.1324]
                               TCO-number:  6.1.1325



Written-by:  GRANT                            Creation-date:  17-Apr-85 13:01:01
Edited-by:   GRANT                            Edit-date:      17-Apr-85 13:09:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO




Problem:      If a cluster system gets hung during startup, the console message on
	the other systems is not informative, namely, " %Problem Drive Dual
	Ported to Unknown System ".

Diagnosis:      It doesn't tell you what the problem is.

Solution:      Change the message to, " %Drive forced offline because a running
	system hasn't joined the cluster ".


                               [End of TCO 6.1.1325]
                               TCO-number:  6.1.1326



Written-by:  PALMIERI                         Creation-date:  17-Apr-85 13:24:40


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCJSYS


Related-QAR:  	838190



Problem:    No interrupt if connect is rejected.

Diagnosis:    If connect initiate is rejected interrupt is given on the data
	channel rather than the connect channel.

Solution:    Give interrupt on the connect channel.


                               [End of TCO 6.1.1326]
                               TCO-number:  6.1.1327



Written-by:  LOMARTIRE                        Creation-date:  17-Apr-85 13:56:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV




Problem:    
     PITRAP BUGHLTs.

Diagnosis:  
     The  routine  CFCARV is not correctly calculating which page to lock down.
If the old page has been completely used and a new page is being acquired, then
page N+2, not N+1 is locked down. Thus, the next page which will be used is now
unlocked.

Solution:  
     First,  ask  Tom  Moser  for  help.  Then,  change  a ADDI T1,PGSIZ to ADD
T1,CFNXSZ.


                               [End of TCO 6.1.1327]
                               TCO-number:  6.1.1328



Written-by:  LOMARTIRE                        Creation-date:  17-Apr-85 14:27:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL	STG	GLOBS


Related-TCO:  	6.1.1282



Problem:    
     TCO 6.1.1282 is no longer needed. The PITRAP problem has been found.

Diagnosis:  

Solution:    
     Remove it.


                               [End of TCO 6.1.1328]
                               TCO-number:  6.1.1329



Written-by:  GLINDELL                         Creation-date:  17-Apr-85 15:56:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCLINK




Problem:  
It is possible to redefine the executor name after DECnet has
initialized.  This does not cause any problems except perhaps
user confusion.  However, the philosophy and documentation says
that it is not allowed to change either the executor name or
address.

Diagnosis:  
The 'add node' routine SCTAND in SCLINK checked if the user
was changing the executor address, but not if the name was
changed.

Solution:  
When not finding the node name to add in the database, see if
the node address is in the home area.  If so, clear out any
ADRTAB entry that there may be.


                               [End of TCO 6.1.1329]
                               TCO-number:  6.1.1330



Written-by:  GRANT                            Creation-date:  17-Apr-85 17:23:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phymsc




Problem:  MSCP tries to connect to TOPS-10 systems.
Diagnosis:  MSCP tries to connect to HSC50s and KL10s.
Solution:  Change MSCP to attempt connections based on software type, not
	hardware type.  Try to connect to systems who run either "HSC" or
	"T-20", as indicated in their start packets.

                               [End of TCO 6.1.1330]
                               TCO-number:  6.1.1331



Written-by:  GLINDELL                         Creation-date:  18-Apr-85 11:56:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	D36COM




Problem:  
ILMNRF's when generating a 3.0 event caused by a bad incoming
'disconnect initiate' DECnet message.

Diagnosis:  
DNCM2B is called to copy the disconnect data from the message block
into a disconnect block.  Doing so, it resets the index pointer in the
MSD from T6 to T3 and leaves it that way.  The poor event code later
tries to read the message again to create the event, and uses the T3
that was left in the MSD as index pointer instead of the correct T6.
Solution:  
Restore the index AC used before saving the update byte pointer in
DNCM2B.


                               [End of TCO 6.1.1331]
                               TCO-number:  6.1.1332



Written-by:  GLINDELL                         Creation-date:  19-Apr-85 14:26:49
Edited-by:   GLINDELL                         Edit-date:      19-Apr-85 15:24:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CIDLL




Problem:      
ZERO LINE CI-0-0 COUNTERS produced amusing results.

Diagnosis:      
DECnet does not maintain any CI line counters.  CIDLL therefore
returned error code NF.FNS which means "function not supported"
when asked to zero these counters. This caused great consternation
in NMLT20.

Solution:      
Make CIDLL return "NF.NDP" which means 'function succeeded but
no data present to return' when asked to do something to the
CI line counters.  This will be more to NMLT20's taste.

Also fix NMLT20 to handle an error return from the ZERO COUNTER
call.


                               [End of TCO 6.1.1332]
                               TCO-number:  6.1.1333



Written-by:  PAETZOLD                         Creation-date:  22-Apr-85 09:44:58


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IPIPIP




Problem:    

asniq jsys checks for sc%nwz put does not check for sc%whl.

Diagnosis:  

Solution:    

make wheel and operator good enough as well as sc%nwz.


                               [End of TCO 6.1.1333]
                               TCO-number:  6.1.1334



Written-by:  LOMARTIRE                        Creation-date:  23-Apr-85 08:34:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYMVR




Problem:    
     MSSCFS BUGCHKs.

Diagnosis:    
     During startup, the system is careful to insure that the system has joined
the  cluster  before allowing it to serve any of it disks with the MSCP server.
However, this is not the case if we are already up, connections are broken, and
then reestablished. In this case, we have already allowed access to the  disks.
If the MSCP connection is established before the CFS one, then the server could
be  handed  a queued up IORB from the other system before CFS has started. This
should not cause any problems since CFS has already arbitrated the I/O request,
but the BUGCHK is not very reassuring.

Solution:    
     First  change MSSCFS into a BUGHLT to try to trap any real problems. Next,
reject any connect requests to the server if we have not  or  are  not  in  the
process  of  establishing  a  CFS  connection.  The MSCP driver will repeat the
attempt later so, eventually, we should get a connection established.


                               [End of TCO 6.1.1334]
                               TCO-number:  6.1.1335



Written-by:  GRANT                            Creation-date:  23-Apr-85 08:46:53


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO


Related-QAR:  	838025



Problem:  If you have an RP06 with both its port to the same KL, you can't
	switch from Port A to Port B while working is going on.

Diagnosis:  %Problem on device .......   messages result.  TOPS-20 won't use
	the newly selected port.

Solution:  The code which searches for a second path to the same disk wrongly
	establishes the primary and secondary paths.  In some cases it was
	setting the primary path to be the side which is now offline.  Fix
	the code so it always has an active port as the primary path.


                               [End of TCO 6.1.1335]
                               TCO-number:  6.1.1336



Written-by:  GROSSMAN                         Creation-date:  23-Apr-85 17:01:05
Edited-by:   GROSSMAN                         Edit-date:      23-Apr-85 17:03:47


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM	NIUSR




Problem:    No way for user's to find out the Ethernet address of the local
node via the NI% JSYS.

Diagnosis:    OOPS.

Solution:    Return the Physical address (the current address), and the
Hardware address in the .EIRCI (Read Channel Info) function.


                               [End of TCO 6.1.1336]
                               TCO-number:  6.1.1337



Written-by:  GROSSMAN                         Creation-date:  23-Apr-85 17:27:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIUSR	NISRV




Problem:  SMON% code for setting Ethernet address in wrong module.

Diagnosis:  The code belongs in NIUSR, but NIUSR didn't exist when the code
was written.

Solution:  Move the code from NISRV to NIUSR.


                               [End of TCO 6.1.1337]
                               TCO-number:  6.1.1339



Written-by:  PALMIERI                         Creation-date:  24-Apr-85 10:09:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	STG	FREE


Related-QAR:  	838215



Problem:    DECnet swappable free space is available but never used in 6.1.

Diagnosis:    Pre 6.1 needs it but it is always configured regardless of setting
	of FTNSPSRV.

Solution:    Add FTNSPSRV around parameter that makes it size non-zero.


                               [End of TCO 6.1.1339]
                               TCO-number:  6.1.1341



Written-by:  GROSSMAN                         Creation-date:  24-Apr-85 13:03:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIUSR




Problem:  Ill mon refs if bad byte pointers given to NI% JSYS.

Diagnosis:  No ERJMPx after some PXCT's.

Solution:  Put ERJMPs after all PXCTs that can occur while NOINT.


                               [End of TCO 6.1.1341]
                               TCO-number:  6.1.1342



Written-by:  GROSSMAN                         Creation-date:  24-Apr-85 13:40:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NISRV	NIUSR	NIPAR




Problem:  When the NI% JSYS returns monitor portal ID's to the user, these
ID's are just NISRV's portal block addresses.  There are a number of
problems with this:

	1) User portal ID's are only a halfword, but monitor portal ID's
	   are fullwords.
	2) If the user passes a portal ID to the NI% JSYS, it shouldn't
	   be an address, because he might pass a bad address.
	3) Monitor addresses are ugly looking ID's to pass back to a user.

Solution:  Have NISRV generate a unique 'external' ID for all portals that
are opened.  Now, each portal will have a unique 9 bit code associated
with it.  This code can then be returned to the user as the portal ID.
Also, create a new NISRV function which will translate 'external' portal
ID's to real portal ID's.

The 'external' portal ID will now be returned by the NU.RPI (read portal
info) function of NISRV.


                               [End of TCO 6.1.1342]
                               TCO-number:  6.1.1343



Written-by:  PALMIERI                         Creation-date:  25-Apr-85 16:11:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	JNTMAN




Problem:    SYSDPY gets wrong information as to whether task is active (DCN) or
	passive (SRV).

Diagnosis:    JNTMAN doesn't understand the new way to access port blocks.

Solution:    Teach JNTMAN about the port indirect table.


                               [End of TCO 6.1.1343]
                               TCO-number:  6.1.1346



Written-by:  GROSSMAN                         Creation-date:  29-Apr-85 14:28:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:  IDFOD2 BUGCHK'S, PAGLCK BUGHLT'S sometime later on.  Seem to be
related to doing word searches in MDDT.

Diagnosis:  MDDT gets bad information from the MRPAC% JSYS, and touches
CXBPGA.  This causes the page to be created with the section 6 map as
it's owner, instead of the currently running process.  When the process
gets destroyed, it attempts to deassign the page, and a PAGLCK results.

Solution:  Add a check to the MRPAC% JSYS to explicitly check for section
XCDSEC and the special pages, and treat them as process private pages.


                               [End of TCO 6.1.1346]
                               TCO-number:  6.1.1347



Written-by:  GROSSMAN                         Creation-date:  29-Apr-85 14:36:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:  MDDT hangs when doing word searches in section 6 (XCDSEC).

Diagnosis:  MDDT touches a page that is not mapped into section 6, but is
mapped into section 0/1.  The test for page ownership in FPTA incorrectly
claimed that the page was owned by section 0/1, and paged in the wrong
page.  PAGEM eventually restarts the faulting instruction, and the faults
ocurrs again and again ad nauseum.

Solution:  Fix the page ownership test for XCDSEC pages (FTPAXC) to claim
that all pages between NRCOD and NRCODZ (within section 6) are owned by
the XCDSEC map.  All other pages in section 6 are owned by the section 0/1
map.


                               [End of TCO 6.1.1347]
                               TCO-number:  6.1.1348



Written-by:  GROSSMAN                         Creation-date:  29-Apr-85 14:54:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLMOP




Problem:  LLMOP% remote console loses buffers, eventually, it stops working
altogether.

Diagnosis:  When LLMOP receives a message with an error from NISRV, it neglects
to update it's outstanding receive buffer count (SVBPC).  Eventually when it
calls PSTBUF to setup more receive buffers, PSTBUF doesn't queue up any
because SVBPC is too high.  Eventually, all receive buffers are lost and
no more messages come in for the remote console protocol type.

Solution:  Re-arrange the routine LLMRCX (the common receive processing
routine for all LLMP protocol types).  Ensure that SVBPC gets decremented
for all buffers received back from NISRV.  Also, keep seperate counts for
the receipt of unsupported messages, and bad messages.


                               [End of TCO 6.1.1348]
                               TCO-number:  6.1.1350



Written-by:  LOMARTIRE                        Creation-date:  30-Apr-85 15:52:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC


Related-QAR:  	838042



Problem:    
     When  a  system  in  a CFS cluster automatically reloads, the cluster-wide
time may be set backwards by some amount as dictated by the reloading machine.

Diagnosis:    
     The  startup code in MEXEC sets the system time before joining the cluster
by obtaining the time from the front  end.  This  time  may  actually  lag  the
cluster-wide  time  by  a  large  amount.  Depending  on  the seqequence of CFS
connections at startup, this bogus time may propogate to other machines.

Solution:    
     Do  not set the system time until after we have joined the cluster. Prefer
the cluster time to that supplied by other sources. The  ordering  will  be  as
follows:

	1.  the cluster time
	2.  the front-end
	3.  the person at the console


                               [End of TCO 6.1.1350]
                               TCO-number:  6.1.1351



Written-by:  GLINDELL                         Creation-date:  30-Apr-85 16:11:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NTMAN


Related-QAR:  	838253



Problem:  
SHOW LOOP NODES returns a node number for the loop node names.
Loop node names do not have node numbers.  This causes a funny-looking
display in NCP.

Diagnosis:  
Loopback code in NTMAN calls NMXS2A (convert sixbit to ascii) and
thinks NMXS2A returns +1.  It doesn't, it returns +2 always.

Solution:  
Change NMXS2A to always return +1.  This will fix another case
in NTMAN when a routine didn't expect NMXS2A to return +2.  That
case is more interesting - although I haven't seen any problems
with it - every time NTMAN was asked to convert a node number to
a name (often) it would fall through to the code on the next page.
It didn't seem to do any harm though.


                               [End of TCO 6.1.1351]
                               TCO-number:  6.1.1354



Written-by:  GROSSMAN                         Creation-date:   2-May-85 09:53:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC




Problem:  Programs doing CRJOB JSYS can hang permanently.

Diagnosis:  The job that is being created by the CRJOB JSYS (hereafter
called the 'object' job) can be logged out before being completely created.
If this happens, the object job never gets to setup CRJANS (the CRJOB answer
cell), and the job that did the CRJOB JSYS hangs forever waiting for CRJANS
to become non-zero.

Although, there is a relatively small window between the time of the job's
creation, and it's setup of CRJANS, this window can be lengthened quite
a lot by an ACJ that takes a long time when monitoring LOGINs.

Solution:  Have the logout code at FLOGO check to see if this job is the
object of a CRJOB.  If it is, ensure that CRJANS gets set to -1 to wake up
the program doing the CRJOB.


                               [End of TCO 6.1.1354]
                               TCO-number:  6.1.1355



Written-by:  GROSSMAN                         Creation-date:   2-May-85 17:12:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  KNIIPT BUGHLTs.

Diagnosis:  When closing an NISRV portal, a resource failure (from ASGRES)
can occur.  This error gets passed back up to the user, who may then
optionally try closing the portal again.  Unfortunately, PHYKNI was not
cleaning up properly after the failure.  When the user re-tried the close
(somewhat later), a sanity check failed, and a KNIIPT BUGHLT resulted.

Solution:  Re-do some code so that the resource failure cannot occur in the
routine NIDPT.


                               [End of TCO 6.1.1355]
                               TCO-number:  6.1.1359



Written-by:  WAGNER                           Creation-date:   6-May-85 11:22:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:  PMCTL% returns "page available" status, even if page number requested
	 is greater than physical memory.

Diagnosis:  Code was dreaming, comparing against maximum possible, not against
	 what we can actually afford.

Solution:  Make check against reality, in this case NHIPG instead of MAXCOR.


                               [End of TCO 6.1.1359]
                               TCO-number:  6.1.1360



Written-by:  TBOYLE                           Creation-date:   6-May-85 14:30:21
Edited-by:   TBOYLE                           Edit-date:       6-May-85 14:49:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC




Problem:    Unecessary pages marked in the batblocks. Extra entries
present that could have been a single entry.

Diagnosis:    Disks that have sectors/page equal to one (HSC, RP20)
allocate BAT entries as if there were 4 sectors per page. Also, a
miscalculation of sector rounding causes a bad page to be entered as
a separate entry even if an entry for the next page exists in the
batblocks. It should alter the existing entry to include the new bad page.

Solution:    Use SECPAG based on the UDB to properly add pages to
existing and new pages to the batblocks around the code in DOPAIR.


                               [End of TCO 6.1.1360]
                               TCO-number:  6.1.1363



Written-by:  GROSSMAN                         Creation-date:   6-May-85 15:43:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  ILMNRFs, potential core trashing when doing sendalls.

Diagnosis:  The routine ASGSHT was smashing T2 on error returns.  The caller
expected T2 to contain the line number upon return from ASGSHT.  It then used
the bad T2 to zero an entry in TTACTL.  In this case, we were very lucky,
because we tried to zero write protected memory.

Solution:  Make ASGSHT preserve T2 even for error returns.


                               [End of TCO 6.1.1363]
                               TCO-number:  6.1.1364



Written-by:  GROSSMAN                         Creation-date:   6-May-85 15:53:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  Systems without KLNI's get messages at startup indicating that the
KLNI is being reloaded.  In addition, the reload fails, and a KNIRTO BUGCHK
results.

Diagnosis:  When I moved the KLNI initialization from PHYH2 to PHYSIO, I
lost the check for KLNIness.  So, no matter what happens to be in RH slot
5, NISRV will pounce on it and do lots of nasty things.  This is generally
not a problem if there is nothing in RH slot 5.  However, if there is an
RH20 in slot 5, chaos would result.

Solution:  Put the check for KLNIness back into NIINI.


                               [End of TCO 6.1.1364]
                               TCO-number:  6.1.1365



Written-by:  GLINDELL                         Creation-date:   6-May-85 16:35:32


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCLINK




Problem:  
COM* bug* when doing SHOW KNOWN NODES in NCP.

Diagnosis:  
The buffer to return 'known nodes' was allocated based on a symbol
that is not guaranteed to be kept up to date.  When the latest round
of node name tables came around, node numbers that were higher in value
than the symbol used occurred.

Solution:  
Don't try to be smart - always set up a buffer big enough for the highest
possible node number (1023).  The memory allocated is only 1 bit per node.


                               [End of TCO 6.1.1365]
                               TCO-number:  6.1.1366



Written-by:  TBOYLE                           Creation-date:   6-May-85 17:03:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYPAR	PHYP2




Problem:  OVRDTA, DXBEWC, Hung Jobs and of course, headaches.

Diagnosis:  There is a class of servo errors that seem to wedge
the DX20. On an unrecoverable error (seemingly a servo track
error.) The DX20 remains locked to one drive. A hang occurs
when an attempt is made to transfer to a different drive.
If another transfer to the same drive occurs successfully,
the error is reset. This will usually happen right away because
the monitor will write the errant page to the batblocks so
as to never use the bad page again and the error will
usually be reset. There is a problem window however.

Solution:  Include a new bit in the UDB to watch for an overdue
transfer that occurs twice. When it happens restart the microcode,
this will reset the world. This is ok, because PHYSIO will retry
pending transfers. It will also recover from this error so that
processing may proceed.

In the event that there are other forms of errors that hang the DX20,
this TCO will guard against them from killing the system. Since they
all seem to happen with unrecoverable errors, we can be content
because they will be marked bad and not used again.


                               [End of TCO 6.1.1366]
                               TCO-number:  6.1.1369



Written-by:  TBOYLE                           Creation-date:   7-May-85 16:32:44
Edited-by:   TBOYLE                           Edit-date:       7-May-85 16:37:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP2




Problem:    Bad pages used over and over again on RP20's.

Diagnosis:    The error handler is not catching all possible media
and HDA weakened errors. The error handler is mostly biased toward
considering errors that are not clean data errors as device errors.
There are, however, numerous nasty errors such as weak or defects on
servo track, bad formatting, etc. There are also media errors
where the information returned is incomplete because these errors
cause the microcode to have head pains. Since all these errors are
flagged as device errors, they never make it into the BAT blocks.

Solution:    Bias the error handler toward media errors. Pick out the
controller, DCU errors, parity errors, etc. and flag them as retriable
device errors. Treat all others as data errors. If they do not succeed
after the many retries, this will insure that they are put into the
BAT blocks.


                               [End of TCO 6.1.1369]
                               TCO-number:  6.1.1370



Written-by:  MELOHN                           Creation-date:   7-May-85 17:47:30
Edited-by:   MELOHN                           Edit-date:      14-May-85 16:55:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CTHSRV	CTERMD


Related-TCO:  	6.1.1390



Problem:    SKDPF1/SKDCL1 in LOKWAI+a few.

Diagnosis:   Problems with the CTERM interlock scheme between the
CTERM fork, which runs at process level, and TTYSRV TDCalls which want
to mung around in the CDB. 

If someone other than the CTERM fork wants the CTERM lock, their
TDB is unlocked and they wait in scheduler test LOKWAI for the CTERM
lock. With the TDB unlocked, Bad Things can happen to the TDB, and if
TDB goes away, LOKWAI will blow up. If the DECnet link goes away first,
LOKWAI returns to LOKCDB, which returns to its caller with the TDB
still unlocked. When the caller tries to unlock the unlocked TDB,
ULKBADs can happen. It is really a bad idea for CTERM to unlock
something it didn't lock in the first place.

Solution:    Do NOT try to unlock the TDB while waiting around for the
CDB lock.


                               [End of TCO 6.1.1370]
                               TCO-number:  6.1.1371



Written-by:  MELOHN                           Creation-date:   7-May-85 17:55:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CTHSRV	CTERMD




Problem:    CTERM gets wedged such that it will not accept any new
connections and its current connections are hung.

Diagnosis:    Another problem with the CTERM interlock scheme between the
CTERM fork, which runs at process level, and TTYSRV TDCalls which want
to mung around in the CDB. 

Many error conditions (DECnet link gone, CTERM protocol error, etc)
decide to "blow the link away". As part of this process, the CDB is
deallocated. If however the CTERM line requires service, the CTERM
fork (which is always given the CTERM lock) will hang trying to mung
the deallocated CDB.

Solution:    Add a new state for the CDB - .STDEL. Instead of "blowing
the link away", put the CDB in this state and tell the CTERM fork to
dispose of it as part of its service routine.


                               [End of TCO 6.1.1371]
                               TCO-number:  6.1.1372



Written-by:  GROSSMAN                         Creation-date:   9-May-85 09:30:03


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  ILMNRF's, ILLUUO's, and various other assorted problems.

Diagnosis:  A bad KLNI microcode resulted in the generation of an error
response which was unknown.  The error code was used to index into a
dispatch table.  Unfortunately, the entry for the error code had no IFIW,
and subsequently caused PHYKNI (in section 6) to jump somewhere into
section 0, resulting in total chaos.

Solution:  Add IFIW's to all the dispatch words in the error dispatch table.
Now, if we get an unknown error code a KNIIEC BUGHLT will result.


                               [End of TCO 6.1.1372]
                               TCO-number:  6.1.1373



Written-by:  LOMARTIRE                        Creation-date:   9-May-85 15:28:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC	MSTR




Problem:    
     If  a  structure  which  was previously mounted is re-created, MOUNTR will
refuse to mount it due to an ambiguous ID. The ID for  the  disk  is  found  in
UDBMID and is returned to MOUNTR via an MSTR%.

Diagnosis:    
     Whenever  a homeblock is created, a new media ID is written on it. This ID
is not placed in the UDB (or SDB) and this causes confusion.

Solution:    
     Make CRTHOM and MAKHOM smarter and have them update UDBMID and SDBPUC when
a new media ID is created and written on the homeblocks.


                               [End of TCO 6.1.1373]
                               TCO-number:  6.1.1374



Written-by:  LOMARTIRE                        Creation-date:   9-May-85 15:33:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV


Related-QAR:  	838252



Problem:    
     CFRECN BUGHLTs as a result of a large configuration.

Diagnosis:    
     Currently, the delay time set by CFS is not large enough to handle a large
configuration.  These  sites  will experience a CFRECN whenever their port dies
due to the amount of time it takes to reestablish all the required connections.

Solution:    
     Make  the  delay  a function of the configuration size. Wait 10 seconds to
reload the CI microcode (very generous) and 5 seconds per node on the CI.


                               [End of TCO 6.1.1374]
                               TCO-number:  6.1.1375



Written-by:  LOMARTIRE                        Creation-date:   9-May-85 16:33:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV




Problem:    
     When  two  systems  are  coming  up  simultaneously, they will always have
different times.

Diagnosis:    
 When both systems are waiting in "Enter date and time:", the system with the 
larger serial number is supposed to broadcast it's time to the systems on the 
CI with a lower serial number.  However, the routine is missing an index 
register in a key place and so we never broadcast to any one.

Solution:    
     Add  the index register in routine BRDTIM. Note that a bug still exists if
you proceed the higher numbered system first. In this case, the lower one  will
proceed  second  and  it  will  not  broadcast to the higher. Once again a time
mismatch. However, the solution to this one is left until later.


                               [End of TCO 6.1.1375]
                               TCO-number:  6.1.1376



Written-by:  GROSSMAN                         Creation-date:   9-May-85 16:58:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG	PHYKNI	GLOBS




Problem:  Undefined global symbols when KNIN=0.  The symbols DLLUNI, LLMRSJ,
LLMRSF, NIJKFK, and LLMINI are all undefined at LINK time when STG is
compiled with KNIN=0.

Diagnosis:  Oops.  Several misspellings.  Now, DLLUNI will return an error
code of UNIFC% (invalid function code) if NISRV is not loaded.


                               [End of TCO 6.1.1376]
                               TCO-number:  6.1.1377



Written-by:  GRANT                            Creation-date:  12-May-85 08:34:47
Edited-by:   GRANT                            Edit-date:      12-May-85 08:41:02


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MEXEC	phyklp


Related-QAR:  	838252



Problem:      KLPNRL BUGHLTs

Diagnosis:      Any number of deadly embraces can occur when there is heavy CI
	activity and TOPS-20 tries to reload the CI microcode.  These are all
	related to the monitor's having to read in IPALOD and run it.

Solution:      At system startup, read the CI microcode into resident memory.
	Then, whenever the monitor needs to reload the CI, it can simply do the
	DATAOs itself.


                               [End of TCO 6.1.1377]
                               TCO-number:  6.1.1378



Written-by:  GRANT                            Creation-date:  12-May-85 08:52:10
Edited-by:   GRANT                            Edit-date:      12-May-85 08:53:38


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp




Problem:    None observed, but code is wrong.

Diagnosis:    At system startup, code currently does a CONO KLP,400000 and then
	does a CONI to verify that the thing in RH slot 7 is really a KLIPA.
	If an RH20 were in slot 7, it just got its PIA zapped.

Solution:    Verify KLIPAness before shooting it.


                               [End of TCO 6.1.1378]
                               TCO-number:  6.1.1379



Written-by:  GRANT                            Creation-date:  12-May-85 09:01:36
Edited-by:   GRANT                            Edit-date:      12-May-85 09:05:46


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp




Problem:    Unnecessary BUGCHKs, namely, KLPNMG and KLPNDG.

Diagnosis:    PHYKLP outputs a BUGCHK if it is called to remove a buffer from an
	empty free queue.  This is unnessary since it gets a buffer from the SCA
	pool and returns that to the caller;  if this should fail, the caller
	will do whatever it feels necessary, including BUGxxxing.

Solution:    Put KLPNMG and KLPNDG under CIBUGX control.


                               [End of TCO 6.1.1379]
                               TCO-number:  6.1.1380



Written-by:  PAETZOLD                         Creation-date:  12-May-85 13:54:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	mnetdv	STG




Problem:    

Normal NIC supplied host table no longer fits.

Diagnosis:    

This time the file has grown to a point larger than the code driving the
existing data structures are capable of handling.  Most hosts now have
multiple addresses.

Solution:    

Make HOSTN twice as large as NHOSTS.  Fix code in MNETDV that assumes
all table are of the same length.  Also make the initialization code
that used to be a loop using setzm's use blt's.


                               [End of TCO 6.1.1380]
                               TCO-number:  6.1.1381



Written-by:  GLINDELL                         Creation-date:  13-May-85 11:07:00
Edited-by:   GLINDELL                         Edit-date:      13-May-85 11:20:08


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCJSYS	JSYSF


Related-QAR:  	838154



Problem:    
SWJFN% jsys does not work properly with DECnet JFN's.

Programs that do SWJFN% involving DECnet JFN's get spurious IO data
errors (IOX5).  Job which run such programs will eventuallu get DCNX5
(No more logical links available) errors upon trying to create such
links.

Diagnosis:    
Not all cells of the JFN blocks are swapped.  One of the cells it does
not swap is the cell that contains the index of the DECnet-36 channel
represented by a DECnet JFN.

Solution:    
Have SWJFN% swap all cells of a JFN block, removing the list of cells
to be swapped in favour of a simple loop swapping all cells.  Also call
a routine in SCJSYS to reevaluate the channel numbers for the swapped
JFN's.

Thank you Rob Gingell for analysis and suggested fix.

BTW, SWJFN% can never have worked for any devices that use the new IO
byte pointer stuff (Arpanet?).  This will hopefully fix that as well.


                               [End of TCO 6.1.1381]
                               TCO-number:  6.1.1382



Written-by:  PALMIERI                         Creation-date:  13-May-85 11:57:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCJSYS


Related-QAR:  	838222



Problem:    Can't get JFN on "SRV:" or "SRV:objectid.taskname".

Diagnosis:    Code doesn't parse network JFNs correctly.  Also doesn't
	allow non-privileged user to open generic TASK.

Solution:    Rewrite the SRV parsing code.


                               [End of TCO 6.1.1382]
                               TCO-number:  6.1.1384



Written-by:  GLINDELL                         Creation-date:  13-May-85 17:23:42
Edited-by:   GLINDELL                         Edit-date:      13-May-85 17:30:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLINKS




Problem:        
No problem, except that we could be a little nicer and not exercise
a RSX DECnet bug.

Diagnosis:        
Currently we send a 'flow off' when our local buffer resources are
completely depleted.  It is likely that we will drop incoming messages
that were already under way on the floor.  This is ok, the other end
should retransmit these.  However, unless we are congested we may as
well keep an extra few messages around.  The "goal" concept in LLINKS
was supposed to address this, but it was never fully implemented.

Solution:        
Implement a static goal, defined by the value of NSGOAL (currently 8).
Unless the system is congested, the following will now happen if messages
come in faster than we can process them:

1) Green zone: we accept messages up to the user's quota and put them on
   the user's queues.

2) If more messages come in than fits in the user's quota, then we send
   a 'flow off' and enter yellow zone.  We continue to accept messages
   up till NSGOAL.

3) If we run out of NSGOAL, we enter red zone and drop all incoming messages.

If the system is already globally congested, then we skip yellow zone and
go directl to red zone.

Also, remove all the old 'goal' stuff and put it under feature switch
FTGOL in LLINKS.  Leave the data fields in the ELB and SLB in case we want
to change again, but these fields should probably be removed before SDC.


                               [End of TCO 6.1.1384]
                               TCO-number:  6.1.1385



Written-by:  GLINDELL                         Creation-date:  13-May-85 17:36:57
Edited-by:                                    Edit-date:      13-May-85 17:37:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLINKS




Problem:    
None observed, but we could send ACK's faster.

Diagnosis:    
LLINKS used the concept of "buffer-rich" sublinks in order to delay
sending ACK's till clock level, hoping that more messages would come
in and therefore making it possible to ack more than one message.

However, in NSP 4.1, the ACK DELAY concept takes over this function
and removes the need for "buffer-rich" sublinks.  Indeed, when we do
get a message that actually requests an ACK, then we should ack immediately
and not defer it.

Solution:    
Remove "buffer-rich" code and put it under feature switch FTBFR.
Leave the data structures in in case we want to put it back.  However,
the BFR subfield of the ES structure should probably be removed before
SDC ship.


                               [End of TCO 6.1.1385]
                               TCO-number:  6.1.1387



Written-by:  NICHOLS                          Creation-date:  14-May-85 11:37:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLINKS




Problem:  When LLINKS receives a DECnet Link Service message from
a remote system using No Flow Control, it rejects the message if the
FCVAL field is non-zero.  The Phase IV+ architecture may make use
of non-zero values here.

Diagnosis:  LLINKS is older than Phase IV+

Solution:  Remove the check.

                               [End of TCO 6.1.1387]
                               TCO-number:  6.1.1390



Written-by:  MELOHN                           Creation-date:  14-May-85 16:55:51


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CTHSRV


Related-TCO:  	6.1.1370



Problem:    ULKBADs whenever logging in on CTERM TTYs since TCO 6.1.1370 added.

Diagnosis:    I removed the global case of locking and unlocking the
TDB, however a few cases remained which fool around with TLOCKing.
None of these seems to be necessary since CTERM, LAT, and NRT TDBs are
marked as non-deletable and so the TLOCK count is meaningless.

Solution:    Remove the rest of the TLOCK/ULKTTYs from CTHSRV.


                               [End of TCO 6.1.1390]
                               TCO-number:  6.1.1391



Written-by:  PALMIERI                         Creation-date:  15-May-85 22:07:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	ROUTER




Problem:    NMLT20 can hang in SHOW CIRCUIT NI-0-0 COUNTERS

Diagnosis:    NMLT20 is dismissed while NISRV asks port to return counter data.
	If the port dies and cannot be restarted the counters may never be
	returned.  NISRV will not respond to the read counters request until
	the portal is closed.

Solution:    Whenever NISRV reports that the port has died close the DECnet
	portal which will cause NISRV to return an error to the read counters
	request and this will be enough to satisfy the scheduler test and get
	NML running again.


                               [End of TCO 6.1.1391]
                               TCO-number:  6.1.1392



Written-by:  PALMIERI                         Creation-date:  15-May-85 22:19:32


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	ROUTER




Problem:    Protocol initialization to MCB DTE often fails and is never retried.

Diagnosis:    First attempt to restart MCB protocol after reload of KL succeeds
	and Router is told that the line is okay to use.  However, the first
	message that Router tries to queue to DTESRV fails because the MCB
	has terminated protocol. (Don't know why it does this).  Router
	then notifies NMLT20 of the termination and closes that circuit
	waiting for the next pass through the once a second code to reopen it.
	If NMLT20 attempts to restart protocol before the next second DECnet
	will not act on a protocol up since the circuit is closed.  NMLT20 will
	not try again and the circuit will never come up.

Solution:    Add TOPS20 specific event 96.7 which will notify NMLT20 that Router
	is attempting to use the circuit.  NML will then re-initialize MCB
	protocol.


                               [End of TCO 6.1.1392]
                               TCO-number:  6.1.1393



Written-by:  LOMARTIRE                        Creation-date:  16-May-85 12:06:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM


Related-QAR:  	838336



Problem:    
     Code is wrong in NWRBS. This could cause DDMP to hang in WTFOD.

Diagnosis:    
     A SKIPN is done over a TMNN macro which expands to 2 instructions.

Solution:    
     Add an IFSKP.


                               [End of TCO 6.1.1393]
                               TCO-number:  6.1.1394



Written-by:  LOMARTIRE                        Creation-date:  16-May-85 12:16:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-QAR:  	838295



Problem:    
     File  extension  recognition/completion  does  not work when wildcards are
specified in the filespec.

Diagnosis:    
     It appears that routine ENDALZ was rewritten to use IFSKPs and friends. In
the  process  a  semi-colon was mistakenly inserted in the mask field of a TXNN
instruction. This causes the instruction not to skip when it should. So instead
of returning ambiguous, it completes the field with a bogus extension.

Solution:    
     Remove the semi-colon.


                               [End of TCO 6.1.1394]
                               TCO-number:  6.1.1395



Written-by:  LOMARTIRE                        Creation-date:  16-May-85 12:29:32


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL


Related-QAR:  	838294



Problem:    
     When  an  OPENF%  is done on a system which has no more OFNs, the user may
receive a garbage error code.

Diagnosis:    
     When failing, the correct error code is not always setup.

Solution:    
     Fix routine BGCTYP to always return OPNX10.


                               [End of TCO 6.1.1395]
                               TCO-number:  6.1.1396



Written-by:  NICHOLS                          Creation-date:  16-May-85 21:18:15
Edited-by:   NICHOLS                          Edit-date:      16-May-85 21:31:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLINKS




Problem:      Hung DECnet link

Diagnosis:    
This node sends a message to another node which is using No Flow Control.  The
remote node cannot accept the message yet and sends back a Link Service OFF
message.  Then this node's application asks for a synchronous disconnect,
which requires that all outstanding messages be ACKed before the Disconnect
Initiate message is sent.  LLINKS puts the logical link into Disconnect
Initiate state to prevent the application from sending any more messages.  If
the remote node never sends a Link Server ON message, LLINKS will wait forever
to send the Disconnect Initiate message and close the logical link.

Normally such a hung link is detected by sending Link Service messages with
zero data requests and then timing out the ACK.  LLINKS was only doing this
"pinging" for links in the RUN state.

Solution:  

Check for logical link inactivity in DI state as well as RUN state.


                               [End of TCO 6.1.1396]
                               TCO-number:  6.1.1397



Written-by:  MCCOLLUM                         Creation-date:  17-May-85 15:08:44
Edited-by:   MCCOLLUM                         Edit-date:      17-May-85 15:09:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK


Related-QAR:  	838213	838214



Problem:  
CFORK does not clean up on certain resource exhausted errors.

Diagnosis:  
If CFORK gets a resource exhaustion error after it has assigned a system
and job wide fork handle, it returns to the user without killing the
newly created fork.

Solution:  
Kill the newly created fork when resource exhaustion errors are
encountered


                               [End of TCO 6.1.1397]
                               TCO-number:  6.1.1398



Written-by:  MELOHN                           Creation-date:  17-May-85 18:03:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV




Problem:  LAT lines are considered "local".
Diagnosis:  No LAT line type was set up; concensus was that they should be
grouped with remote lines, not local lines.

Solution:  make them remote lines; change remote line message from 
?LOGGING IN ON DATASETS IS NOT ALLOWED to
?LOGGING IN ON REMOTE TERMINALS IS NOT ALLOWED.



                               [End of TCO 6.1.1398]
                               TCO-number:  6.1.1399



Written-by:  MOSER                            Creation-date:  20-May-85 13:37:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:   OFNBDB BUGHLTs when running CFS with the OFN performance mods.

Diagnosis:   This is a long file/CFS bug. The problem arises because the
OFN database SPTO4 disagrees with the data provided by a caller of ASNOFN.
Examination of the dump reveals that the caller expects to assign an ofn for
second level index block 0 in a long file. The system data reflects the fact
that the OFN currently exists and is a regular index block in a long file. When
a file goes from short to long the OFN database is updated and so this is
unexpected.

Under CFS the problem can arise when:

 - Users G and C running on systems G and C respectivly each open the same
   file when it is short.

 - User G extends the file so it goes long (correctly updating G's local data)

 - User P running on C now opens the same file again (it is long since G
   extended it but C's database does not know)!


Solution:  Expect this to happen and update SPTO4 when it does instead of 
crashing. OFNBDB will remain for other real errors.


                               [End of TCO 6.1.1399]
                               TCO-number:  6.1.1401



Written-by:  MCCOLLUM                         Creation-date:  20-May-85 14:23:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-QAR:  	838367



Problem:  
The BREAKI BUGINF provides that structure index of the structure under
"attack". Since the index is a dynamically assigned value, after-the-fact
analysis of this BUGINF can be difficult.

Diagnosis:  
Same.

Solution:  
Change the value provided in the additional data to the sixbit structure
name.


                               [End of TCO 6.1.1401]
                               TCO-number:  6.1.1402



Written-by:  MCCOLLUM                         Creation-date:  20-May-85 14:47:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM


Related-QAR:  	838366



Problem:  
Customers need reserved error codes in MONSYM to support local additions
to TOPS-20.

Diagnosis:  

Solution:  
Reserve a block of 1000 (octal) error codes from 6000 to 6777 for
customer use.


                               [End of TCO 6.1.1402]
                               TCO-number:  6.1.1403



Written-by:  MELOHN                           Creation-date:  23-May-85 15:13:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    SET TER NO PAU COMMAND resulted in the LAT server clearing
input flow control but not output flow control. Likewise setting TER
PAU COMMAND did not reset output flow control.

Diagnosis:    The XON/XOFF characters in the DATA_B slot were shifted
incorrectly in the slot data information.

Solution:    Flush the shifting in favor of canned message which
supplies the correct input and output flow control characters.


                               [End of TCO 6.1.1403]
                               TCO-number:  6.1.1405



Written-by:  MCCOLLUM                         Creation-date:  24-May-85 12:13:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	scsjsy




Problem:  
SCSFR1 BUGCHKs.


Diagnosis:  
When SCSKIL is called to close the CI connections of a fork, an SCSFR1
BUGCHK will result if the fork number provided is not the current fork.
Currently this can only occur when a CLZFF% JSYS is performed given as
an argument a fork handle other than the current fork.


Solution:  
If the fork number passed to SCSKIL does not match the current fork, 
let the caller get away with it, but don't do any actual work. Note
that this is not the proper solution, but will  do for now. The correct
solution would be to make SCSKIL close the CI connections of any fork
that is an inferior of the current fork.



                               [End of TCO 6.1.1405]
                               TCO-number:  6.1.1406



Written-by:  MCCOLLUM                         Creation-date:  24-May-85 13:36:03


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ALL	MODULES	AND	UTILITIES




Problem:  
The copyrights need updating.

Diagnosis:  

Solution:  
Do it.


                               [End of TCO 6.1.1406]
                               TCO-number:  6.1.1407



Written-by:  PALMIERI                         Creation-date:  24-May-85 15:03:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	ROUTER


Related-QAR:  	838359



Problem:    Partial routing update loss event does not show correct highest
	address.

Diagnosis:    No code to search for highest address so garbage is displayed.
	Also the rest of message causing the update loss is not being pro-
	cessed and some routing information may be lost.

Solution:    Process all of message and remember highest address.


                               [End of TCO 6.1.1407]
                               TCO-number:  6.1.1408



Written-by:  PALMIERI                         Creation-date:  24-May-85 15:10:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	DNADLL




Problem:    DECnet is in a funny state if it tries to use the Ethernet when the
	physical address is not DECnet's.

Diagnosis:    Code to check for DECnet address is commented out.

Solution:    Enable the checking and and robustness to it.


                               [End of TCO 6.1.1408]
                               TCO-number:  6.1.1409



Written-by:  GRANT                            Creation-date:  28-May-85 09:29:50
Edited-by:   GRANT                            Edit-date:      28-May-85 09:30:45


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG


Related-QAR:  	838288



Problem:    PHYICE and MSCTMU BUGCHKs.

Diagnosis:    Not enough section 0/1 resident free space in the Units Pool.

Solution:    Add another page.


                               [End of TCO 6.1.1409]
                               TCO-number:  6.1.1410



Written-by:  NICHOLS                          Creation-date:  28-May-85 15:21:45


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	llinks




Problem:  DECnet links hang if device drivers lose messages

Diagnosis:  LLINKS waits for all output message blocks to be returned from
the lower layers before it will close a link.  It now appears that there
are cases in which the KLIPAs can crash in such a way that the drivers
cannot return all the output messages reliably.

Solution:  Allow links to close even if the out-in-router count is non-zero
and check all output done messages to see that the corresponding link block
is still active.  For debugging purposes, a new switch FTORC can be set
non-zero to make links wait for output completion.


                               [End of TCO 6.1.1410]
                               TCO-number:  6.1.1411



Written-by:  MOSER                            Creation-date:  28-May-85 15:57:47
Edited-by:   MOSER                            Edit-date:      28-May-85 17:18:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK	STG	GLOBS




Problem:       FLKTIM does not actually time out the fork lock. It simply 
reports the problem without unlocking. This is desirable when 
debugging but is a problem for customers.

Diagnosis:       We recode this every release and it is a BIG DRAG.

Solution:      Fix this ONCE AND FOR ALL. The following rules now apply:

 -  DEBUG monitor - never unlock

 -  NON-DEBUG monitor and DBUGSW <> 0 - Never unlock

 -  otherwise (no debugging of any kind) unlock when FLKTIM occurs. 

It may be desirable to change the timeout value from the current 2 minutes.
Make this a parameter, FLKTMV, in STG and set it to 2 minutes as the default.


                               [End of TCO 6.1.1411]
                               TCO-number:  6.1.1413



Written-by:  GROSSMAN                         Creation-date:  28-May-85 16:57:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  NISRV's Read Portal Info function (NU.RPI) does not return list of
multicast addresses correctly for portals that have more than one multicast
enabled.

Diagnosis:  Too complicated to explain, and not worth listening to.

Solution:  An ADDI and a JUMPE in the correct places in NIRPI.


                               [End of TCO 6.1.1413]
                               TCO-number:  6.1.1414



Written-by:  GROSSMAN                         Creation-date:  28-May-85 17:04:16


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NISRV




Problem:  Return Portal Info (NU.RPI) function of NISRV did not check
portal ID's correctly.  It also was not returning the User ID.

Diagnosis:  Oops.  Forgot to set the FC.POR bit in the NISRV function dispatch.


                               [End of TCO 6.1.1414]
                               TCO-number:  6.1.1415



Written-by:  GROSSMAN                         Creation-date:  28-May-85 17:31:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	NIUSR




Problem:  The NI% JSYS didn't deal with global portal ID's correctly.
Also, the function NU.RPI did not return multicast address list in the
correct format.

Diagnosis:  Designer brain damage.  Monitor portal ID's are fullwords, and user
portal ID's are halfwords.  I had to figure out some way to identify monitor
portals to users.  Just returning the address was not good enough.

Solution:  Invent an "external" portal ID for monitor portals.  This ID is
created by NISRV, and is guaranteed to be unique.  This id is also guaranteed
to fit into 18 bits.  This ID is what the NI% JSYS will deal with when talking
about monitor based portals.


                               [End of TCO 6.1.1415]
                               TCO-number:  6.1.1416



Written-by:  PALMIERI                         Creation-date:  29-May-85 15:07:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCJSYS


Related-QAR:  	838141



Problem:    If a user issues a SOUT/SOUTR before the connect confirm is received
	on a DCN link SCJSYS calls SCLINK without waiting for the connect
	confirm.  Possible race condition if SCJSYS blocks in IMPWAT.

Diagnosis:    No code to wait for connect confirm.  IMPWAT does not revalidate
	JFN before returning to caller.

Solution:    Add routine WCCFRM to await the confirm before calling SCLINK with
	the users buffer.  Have IMPWAT call SCLFNU to revalidate the JFN be-
	fore returning to caller.


                               [End of TCO 6.1.1416]
                               TCO-number:  6.1.1417



Written-by:  GROSSMAN                         Creation-date:  29-May-85 15:34:09
Edited-by:   GROSSMAN                         Edit-date:      30-May-85 14:25:39


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV


Related-QAR:  	838362



Problem:  Names of BUGHLTs are messed up in ERROR.SYS if the BUGHLT occurs in
XCDSEC.

Diagnosis:  The routine BUGH0 (BUGHLT processor) was using a HRRZ to fetch
the PC of the BUGHLT when passing it on to the SYSERR block generator.

Solution:  Load the full PC by using the mask EXPCBT when calling BUGSTO.


                               [End of TCO 6.1.1417]
                               TCO-number:  6.1.1418



Written-by:  GLINDELL                         Creation-date:  30-May-85 16:27:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	ntman




Problem:  
Event block is not deallocated if user requested a signal and the
signal queue was full (very unlikely).

Diagnosis:  

Solution:  
Call DNFWDS to deallocate event block if signal queue is full.
Thank you Bill Davenport.


                               [End of TCO 6.1.1418]
                               TCO-number:  6.1.1419



Written-by:  MOSER                            Creation-date:  31-May-85 15:59:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:   SKDPF1 when extended addressing (mapping sections indirect) and
working set preloading.

Diagnosis:  Similar problem as TCO 6.2000. The monitor looks at entries in
the working set cache but may page fault on another forks PSB. What is
desired is to remove that page from the WSC. We crash trying to look at the
PSB that is swapped out.

Solution:  Change PRELW1 to call FPTAXP and expect to get -1,,SPT indicating
SPX is not in core (or would cause a PF). If this is the case then delete the
page from the working set cache.


                               [End of TCO 6.1.1419]
                               TCO-number:  6.1.1420



Written-by:  TBOYLE                           Creation-date:   3-Jun-85 11:31:21
Edited-by:   TBOYLE                           Edit-date:       3-Jun-85 11:49:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DIAG




Problem:      

	ILULK4 crashes when killing the diagnostic monitor D20MON
under certain circumstances.

Diagnosis:      

	When ports CI and NI are set unavailable, they are both
in maintenance mode. This situation confuses the DGFKIL routines
which heretofore did not expect such a situation. The routines
DGEXRL and DGUNLK don't check to see that the lock word is 
no longer in use on the second call to release resources.
Further confusion resulted when making pointers out of -1.

Solution:      

	Add an additional paranoia check to the routines. Have them
check to see if the DIAG lock is no longer in use.


                               [End of TCO 6.1.1420]
                               TCO-number:  6.1.1421



Written-by:  TBOYLE                           Creation-date:   3-Jun-85 11:50:24
Edited-by:   TBOYLE                           Edit-date:       3-Jun-85 12:00:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	MONSYM




Problem:    

	Monitor hangs.

Diagnosis:    

	This TCO replaces TCO 6.1.1297 which was supposed to fix PTNON0
BUGHLTs. This new scheme was necessary because CFSWUP likes to go
OKSKED at times to get its work done when NOSKED is in its way. The
callers of CFSWUP are usually never aware of this behaviour.

Solution:    

	Work around the behaviour of CFSWUP. Remove the extra NOSKED
and OKSKED in MSETPT. Have SETPT0 inform its caller if the page-slot
set failed. Have caller in MSETPT retry if this happens. Teach
the other callers to SETPT0 to crash as they did before with PTNON0
when the page-slot set fails.


                               [End of TCO 6.1.1421]
                               TCO-number:  6.1.1423



Written-by:  WAGNER                           Creation-date:   4-Jun-85 11:30:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED	phymvr	STG	globs




Problem:  MSCP server gets higher priority than it should. Party line says that
	 served disks are there for customer convenience, hence we should not
	 give them the priority that they get.

Diagnosis:  We call MSSCHK to check for server requests within 20mS of the
	 Server requesting to be scheduled. Currently the server requests
	 this by AOSing SRVSKD, which the scheduler notices at the next
	 short cycle, and therefore will always check the server within
	 20 mS, removing the currently running fork more often than not.

	 Adding insult to injury, the server already has a mechanism to
	 be called when needed, but at the 100mS long cycle through CLK2.
	 This is done be SETZMing MSSTIM, which is noticed in the long
	 cycle, and MSSCHK is called at that time too!

	 We only need to call MSSCHK every long cycle, there is no need
	 to forcibly dismiss the currently running process within 20mS
	 because of a server request.


Solution:  Get rid of the SRVSKD flag, replacing AOSes of it with SETZMs of
	 MSSTIM. This is done in a new routine MSSCZK (MSS Czech...).
	 This will make it check server requests only when other running have
	 been forcibly dismissed anyway.

	 Note: This has the pleasant side effect of reducing the overhead that
	 running DUMPER from another system to our served disks has on other
	 jobs on the poor server system. If the server system is standalone
	 no effect in DUMPER performance is seen.


                               [End of TCO 6.1.1423]
                               TCO-number:  6.1.1424



Written-by:  GROSSMAN                         Creation-date:   5-Jun-85 10:23:00
Edited-by:   GROSSMAN                         Edit-date:       5-Jun-85 10:44:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI	NIPAR


Related-QAR:  	838380



Problem:    Not enough information is returned when the NIA20 gets a planned CRAM
parity error.

Diagnosis:    The KNIPPE BUGCHK was used for all planned CRAM parity errors.  This
required that someone go look up the code returned by KNIPPE in order to fix the
problem.

Solution:    Create a seperate BUGINF for each possible planned CRAM parity
error.  Make the short text and the long text be fairly explicit about what's
going on, and also return the info that CSSE wants to see.


                               [End of TCO 6.1.1424]
                               TCO-number:  6.1.1425



Written-by:  GROSSMAN                         Creation-date:   5-Jun-85 10:38:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phykni




Problem:  KNIIPF (Illegal PHYSIO Function) should be a BUGHLT.  There is not
enough context saved by BUGCHKs to figure out the problem.

Also, start removing useless TOPS-10 conditionals from PHYKNI.


                               [End of TCO 6.1.1425]
                               TCO-number:  6.1.1426



Written-by:  LOMARTIRE                        Creation-date:   5-Jun-85 12:52:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC


Related-QAR:  	838337



Problem:    
     Job can hang in CFSRWT when doing a RENAME. This happens when renaming the
dump file which is being examined by FILDDT.

Diagnosis:    
     OPNLNG  calls  ASNOFN  without  setting up the ACs it expects. This causes
ALOC1 to be screwed up which later confuses CFS.

Solution:    
     Call GASOG before calling ASNOFN at OPNLNG.


                               [End of TCO 6.1.1426]
                               TCO-number:  6.1.1428



Written-by:  MELOHN                           Creation-date:   5-Jun-85 15:06:38


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-QAR:  	838321



Problem:    Can't built monitor with LAHFLG=0

Diagnosis:    SMON code to set LAT-STATE was not under LAHFLG conditional.

Solution:    Put it under said conditional


                               [End of TCO 6.1.1428]
                               TCO-number:  6.1.1429



Written-by:  MELOHN                           Creation-date:   5-Jun-85 16:22:09
Edited-by:   MELOHN                           Edit-date:       5-Jun-85 16:24:47


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV	CTHSRV	CTERMD	TTYDEF	GLOBS


Related-QAR:  	838331	838376	838309	838441



Problem:      Wrapping lines, ^U, ^R, all work inconsistently with
CTERM. Programs that do multi-line TEXTI%, (like MS) lose track of the
current character position, and produce text that is garbled garbage.

Diagnosis:      Both TOPS-20 and CTERM have two basic modes of doing
output to TTYs, binary mode and ascii mode. TOPS-20 uses several
different means of doing combinations of binary mode and ascii mode to
the same TTY. (example, the BLANK command in the EXEC, which puts out
the escape sequence to clear the screen in binary and then prints the
EXEC prompt in ascii). TOPS-20 also maintains the wrap count on the
line on the basis of how many ascii (non-binary) characters have been
output to the terminal. It is therefore critical to output characters
in the server in the same mode in which they were generated on the
host. 

Originally CTHSRV set the mode of the message based on the value of
TT%DAM in the JFN mode word at the time when the output was to be sent
to the server. This didn't work because it is possible to output
binary characters to the TTY without changing the JFN mode word by
opening a JFN on the TTY with bytesize of 8. It turns out also that
the CTERM fork which moves the output from the TTY line buffers to the
CTERM message sent to the server runs asynchronously from the user
process which sets and clears the JFN mode word.

Edit 842 to CTHSRV recognized that the above couldn't work, and
therefore always put the message in binary mode. This worked for
normal output in most cases. Unfortunetly, the binary output did not
correctly update the current line and character position on the server
terminal, with the result that wrapping the line occurred at seemingly
random times, and control-R, control-U, and DELETE across line
boundaries produced incorrect results. These include the symptoms
described in QARs 838331, 838376, 838309, and 838441. In all of these
cases the line and character counts were only being updated when the
server echoed characters locally (since they were echoed in non-binary
mode). The line and character position was unaffected by the output
from the remote system, and therefore remained wheverever the last
character read and echoed from the terminal left off.

Solution:      The only way to make the remote server do the right thing
is send it binary output in binary(transparent) mode, and non-binary
output in ascii mode. Since there are several ways to switch back and
forth between binary and non-binary mode to the TTY, the only
practical place to tell when we are in binary mode and when we are not
is in TCO, the first level output routine in TTYSRV. I propose to put
markers in the output stream for cterm terminals only that signal when
the output mode is switching between ascii and binary, and between
binary and ascii mode. CTHSRV, when it copies characters from TTY
line buffers to CTERM messages will look for these markers, set the
tranparent bit in the CTERM message as approporate, and segment the
message such that it contains only binary or only ascii mode data.

To implement this I have added TTOASC and TTOBIN markers to the output
markers in TTYDEF; TT%BIN to the TDB which tells whether the terminal
is in binary mode or not, and CH%BIN to the CDB which tells whether
the last message sent to the server was in binary mode or not. This
last flag is necessary since the output markers only signal the
transition between modes, so the mode must remain sticky between
different cterm output messages.


                               [End of TCO 6.1.1429]
                               TCO-number:  6.1.1431



Written-by:  MELOHN                           Creation-date:   5-Jun-85 17:03:31


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    If you change the server name of a LAT server to a name
shorter than the original name, you get an extra character from the
old name at the end of the output of the NTINF% jsys.

Diagnosis:    Routine MMVAZO doesn't work with non-ASCIZ strings.

Solution:    Make it work right with strings not terminated with a null
byte. Fix UMVAZO to do the same.


                               [End of TCO 6.1.1431]
                               TCO-number:  6.1.1432



Written-by:  PALMIERI                         Creation-date:   5-Jun-85 17:39:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	DNADLL




Problem:    DECnet close of Ethernet portal causes DNDNCE bugchks.

Diagnosis:    DNADLL gives NISRV a portal ID of zero.  This happens because
	the UN block that was used by DNADLL to open the portal is not the
	one it uses to close the portal.  DNADLL expects them to be the same.
	Routine CHKADR was switching UN blocks in the process of opening a
	portal.

Solution:    Have CHKADR use the same UN block that the open portal routines
	are using.


                               [End of TCO 6.1.1432]
                               TCO-number:  6.1.1433



Written-by:  PALMIERI                         Creation-date:   5-Jun-85 21:02:18


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	GTJFN




Problem:    Can't use wild cards in filename in parse only network JFNs.

Diagnosis:    Code does not allow wildcards in filename.

Solution:    Remove restriction for parse only network JFN.


                               [End of TCO 6.1.1433]
                               TCO-number:  6.1.1434



Written-by:  PALMIERI                         Creation-date:   6-Jun-85 10:44:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	DNADLL




Problem:    If received data on the Ethernet exceeds the size of the allocated
	buffer a "frame too long" event is generated.  This event does not
	include the source and destination adresses of the oversize message.

Diagnosis:    No code to supply the addresses.

Solution:    Add necessary code.


                               [End of TCO 6.1.1434]
                               TCO-number:  6.1.1435



Written-by:  PALMIERI                         Creation-date:   6-Jun-85 10:56:13


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	D36COM	ROUTER	JNTMAN




Problem:    Big buffers on the Ethernet not as big as they could be.

Diagnosis:    Too many bytes reserved for Routing and who knows what overhead.

Solution:    Make an accurate computation of overhead and subtract it from
	the Ethernet maximum of 1504 not 1498.


                               [End of TCO 6.1.1435]
                               TCO-number:  6.1.1436



Written-by:  MOSER                            Creation-date:   6-Jun-85 20:53:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:  Wrong Bughlt info. Bogus dumps. TRAPPC points to BUGH5+5.

Diagnosis:  Monitor does a LOAD FKJSB but FX is garbage.

Solution:  Have a good FX.


                               [End of TCO 6.1.1436]
                               TCO-number:  6.1.1437



Written-by:  PAETZOLD                         Creation-date:  10-Jun-85 10:04:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	STG




Problem:    

nimaxh too low.  customers are running bigge ethernets than we thought.

Diagnosis:  

Solution:    

increase ght size from 16. to 128.


                               [End of TCO 6.1.1437]
                               TCO-number:  6.1.1438



Written-by:  LOMARTIRE                        Creation-date:  10-Jun-85 11:12:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:    
     Bad code at BGCTYP.

Diagnosis:    
     The routine is doing a GTAD% instead of calling LGTAD.

Solution:    
     Change it to call LGTAD to get the internal date.


                               [End of TCO 6.1.1438]
                               TCO-number:  6.1.1439



Written-by:  PALMIERI                         Creation-date:  10-Jun-85 11:18:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCJSYS


Related-QAR:  	838464



Problem:    User gets message "No response from destination process" when ACJ
	on the local system refuses network access.

Diagnosis:    Wrong error code returned by DCN OPENF routine if ACJ refuses
	network access.

Solution:    Return correct error code in DCNOPN.  This error was caused by
	one of two incorrect error codes in the error conversion table.
	Fix both of them.


                               [End of TCO 6.1.1439]
                               TCO-number:  6.1.1440



Written-by:  PALMIERI                         Creation-date:  11-Jun-85 13:44:36


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	D36PAR	D36COM


Related-QAR:  	838296



Problem:    Page faults while in the scheduler.  Can be manifested by OKSKBG
	BUGHLTs.

Diagnosis:    DECnet-36 often backs up byte pointers with an ADJBP. This
	can create byte pointers of the form 0410xx,,-1.  If xx contains
	the first address in a section an effective address will be
	computed that is the last address in the previous section.
	If this section is not mapped...the monitor will die somewhere.

Solution:   In routines that adjust the byte pointer check to see if the pointer
	is of the form 0410xx,,-1.  If so change the byte pointer to
	4410xx,,0.


                               [End of TCO 6.1.1440]
                               TCO-number:  6.1.1442



Written-by:  MCCOLLUM                         Creation-date:  11-Jun-85 15:21:47
Edited-by:   MCCOLLUM                         Edit-date:      11-Jun-85 15:28:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-QAR:  	838346	838418	838431



Problem:      

RELBAD BUGHLTs.

Diagnosis:      

When parsing a field of a file spec in GTJFN, the right half of FILTMP(JFN)
is used to store the address of  the block of free space that contains  the
text of the  field currently being  parsed. FILOPT(JFN) is  used to hold  a
byte pointer to the end of this string. If the field being parsed is  after
the device field (e.g.  the directory,  file name or extension fields)  and
the device field is defaulted to DSK*: or a logical name defined as  DSK*:,
STRDVD is called to translate DSK*: to  the name of the first structure  in
STRTAB. In all cases this is  the public structure. STRDVD allocates a  new
block of free space if  the structure name does not  fit into the block  of
free space which  currently holds the  string "DSK*". It  then updates  the
pointer in FILOPT(JFN).   This is  incorrect.  FILOPT(JFN)  should only  be
updated if the field currently being parsed is the device field. The result
is that ENDTMP is eventually called to trim the block of free space pointed
to by the right  half of FILTMP(JFN). It  assumes FILOPT(JFN) contains  the
pointer to the end  of the string  stored in this block,  but it no  longer
does and a a RELBAD BUGHLT results.

Solution:      

There is an alternate entry to STRDVD  (STRDEV) that is used when GTJFN  is
currently parsing the device  name field.  Remember  which entry point  was
used and only  update FILOPT(JFN) if  the device field  is currently  being
parsed.


                               [End of TCO 6.1.1442]
                               TCO-number:  6.1.1443



Written-by:  PAETZOLD                         Creation-date:  12-Jun-85 08:31:27


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  monitor
  Routines-affected:   	FREE




Problem:    

ILMNRF from job zero when shrinking a resident free space pool.

Diagnosis:    

a bad byte pointer was being constructed due to an AC being trashed.

Solution:    

restore the ac after destroying it.  this fix thanks to bill schilitt 
and debs.


                               [End of TCO 6.1.1443]
                               TCO-number:  6.1.1445



Written-by:  MELOHN                           Creation-date:  12-Jun-85 14:58:07


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    LATIST BUGINFs

Diagnosis:    LAT Slot dmultiplexor routine (LSDMUX) did not handle the
case where multiple start slots were received in the same message. It
also didn't always correctly adjust the byte pointer when an invalid
or unexpected slot was received.

Solution:    Fix LSDMUX to parse slots on the basis of the slot size,
rather than assuming (sometimes incorrectly) how much data is left in
the slot and adjusting the byte pointer by that amount.


                               [End of TCO 6.1.1445]
                               TCO-number:  6.1.1446



Written-by:  GRANT                            Creation-date:  12-Jun-85 17:24:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKLP




Problem:  Monitor doesn't handle another system running CI diagnostics very
	well.

Diagnosis:  When another system ACKs REQUEST-IDs but doesn't return IDRECs,
	we continue to send STARTs.

Solution:  Notice that REQUEST-IDs are no longer being answered and return
	the state of the v.c. to closed.


                               [End of TCO 6.1.1446]
                               TCO-number:  6.1.1447



Written-by:  MOSER                            Creation-date:  13-Jun-85 11:34:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM




Problem:   Many engineers waste lots of time looking at bogus OKSKBG dumps.

Diagnosis:  The real problem is a PF in the scheduler, SKDPF1, but the
code only detects this when CKSPFL is turned on. The PF handler
goes NOSKED using the macro but goes OKSKED by doing instructions. If
INSKED then NSKED gets erroneously decremented.

Solution:  Allways check for SKDPF1 (this takes 1 instruction). Always
use NOSKED and OKSKED macros.


                               [End of TCO 6.1.1447]
                               TCO-number:  6.1.1448



Written-by:  MOSER                            Creation-date:  13-Jun-85 11:45:35


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FILMSC




Problem:   ILMNRF.

Diagnosis:  User does a BIN using .TTDES+line number. If the terminal
switches and the code rechecks then it can crash as it expects JFN
to contain an index into the JFN blocks not 400nnn.

Solution:  Expect this and do the "right" thing. Note that the dumps I examined
the "right" thing is probably not what the user wants because the user
haas bad code but it is the logically correct action.


                               [End of TCO 6.1.1448]
                               TCO-number:  6.1.1449



Written-by:  WAGNER                           Creation-date:  13-Jun-85 14:51:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	cthsrv	STG


Related-QAR:  	838315	838455



Problem:  Doing CTERM host output uses 50-70% of CPU in scheduler, and 20-25%
	 gets charged to user doing the output. This is independant of baud
	 rate, and decreases only slightly on heavily loaded systems.

	 The result is that one user doing a large, non-blocking EXEC type
	 command (or a large SOUT% or it's friends) can effectively hog an
	 entire system.

Diagnosis:  The CTERM output processing code does an MDISMS on a flag, CTMATN,
	that gets set whenever there is output to do on a line (other conditions
	also set this "attention" flag as well). The real problem is that we
	are a JP%SYS process that is also CRSKED at the time of the MDISMS.
	This causes us to get 200 mS of balance set hold time, negating the 
	effect of the wait for the MDISMS to get checked. The result is that
	when we request CPU, we get it.

Solution:  Implement a new flag, CTMWAG (CTerM Wait And Go), that gets set
	when we want to do the output. Now OR this flag in with a SETZed
	CTMATN at the scheduler short cycle (LV8CHK), so that if we have
	output to do, we will notice it every 20mS at the most. This has
	the additional benefit of treating CTERM output just like RSX20F
	and NRT output (incidentally, the case of NRT output hogging the
	system was fixed in a similar manner).

	The results are quite noticable: the user only gets charged for
	a more RSX20F and NRT-like 8%-12% CPU while doing the output.
	The scheduler overhead is reduced from 50%-70% down to about 1%
	on a standalone system. The actual throughput is down from roughly
	1000 cps to 950 cps, a reduction of only 5%!


                               [End of TCO 6.1.1449]
                               TCO-number:  6.1.1451



Written-by:  NICHOLS                          Creation-date:  17-Jun-85 10:15:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	D36COM




Problem:  JSR BUGHLT in D36COM

Solution:  Replace JSR BUGHLT with a real BUGHLT.

                               [End of TCO 6.1.1451]
                               TCO-number:  6.1.1452



Written-by:  GROSSMAN                         Creation-date:  17-Jun-85 10:57:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  Symbols in PHYKNI that are related to SYSERR entries are wrong or
misleading.

Diagnosis:  Wealth of confusion from CSSE error specs and SPEAR documents.

Solution:  Change the symbol names to be more meaningful, also update the
appropriate figures.


                               [End of TCO 6.1.1452]
                               TCO-number:  6.1.1453



Written-by:  GROSSMAN                         Creation-date:  17-Jun-85 11:08:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKNI




Problem:  NIA20 keep-alive routines do not always detect a dead KLNI.

Diagnosis:  It is possible for the NIA20 to get messed up in such a way that
it no longer processes command queue entries.  However, if there is a steady
stream of incoming datagrams, the NIA20 will be cause the KL to wake up and
process them.  The incoming datagrams are treated just like regular command
responses.  This fools PHYKNI into beleiving that the NIA20 is working just
fine, because it sees these responses frequently enough to keep the keep-
alive process happy.  Unfortunately, the KLNI is not responding to commands
during this period, and things like transmits just hang forever.

Solution:  Simplify the keep-alive process.  ALWAYS give the KLNI a Read Station
Info command every five seconds.  If that command is not processed within five
seconds, kill the KLNI and give a KNISTP BUGCHK.


                               [End of TCO 6.1.1453]
                               TCO-number:  6.1.1454



Written-by:  MOSER                            Creation-date:  17-Jun-85 15:43:46


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GLOBS	IPCF




Problem:   Global subroutine MTAMES is unused.

Solution:  Remove it.


                               [End of TCO 6.1.1454]
                               TCO-number:  6.1.1455



Written-by:  MELOHN                           Creation-date:  18-Jun-85 12:05:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CTHSRV	FILMSC	GLOBS




Problem:    COMND (and perhaps users) need a way to determine whether a
CTERM terminal supports the full CTERM implementation (like TOPS-20,
TOPS-10, DECnet-DOS, RSX) or just a limited, bug-filled implementation
(like VMS).

Diagnosis:    The .MOCTM MTOPR% should return two different values; 1 if
the terminal in question is a True CTERM terminal, and 2 if the
terminal is a VMS CTERM terminal. Users may find this useful as well,
since many things don't work on VMS CTERM terminals, and will not
until VMS is fixed.

Solution:    Do it.


                               [End of TCO 6.1.1455]
                               TCO-number:  6.1.1456



Written-by:  LEACHE                           Creation-date:  18-Jun-85 13:12:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	STG




Problem:    A few sites have insufficient IPCF or ENQ freepool space.

Diagnosis:    Pools not large enough.

Solution:    Increase size of pool allocation.


                               [End of TCO 6.1.1456]
                               TCO-number:  6.1.1457



Written-by:  PALMIERI                         Creation-date:  18-Jun-85 15:34:45


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	STG	DNADLL




Problem:   Endnodes on the Ethernet may have more overhead than is desirable.

Diagnosis:    Non-routing nodes on the Ethernet always enable to receive
	multicast packets sent to the ID "All Routers".  This allows
	DECnet to eavesdrop on routing messages so a database can be main-
	tained for INFO DECnet.

Solution:    Only enable "all routers" multicast address in endnodes on the
	Ethernet when variable EVSDRP is non-zero.  The default value for
	EVSDRP is -1.


                               [End of TCO 6.1.1457]
                               TCO-number:  6.1.1459



Written-by:  MOSER                            Creation-date:  18-Jun-85 16:32:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-QAR:  	838488



Problem:  GTJFN no longer returns GJFX39 (logical name loop detected) it returns
GJFX24 (file not found) instead.

Diagnosis:  TCO 6.2261 caused this by always returning GJFX24 when SETDEV
fails.

Solution:  Return GJFX24 if SETDEV returns STRX09 otherwise return the SETDEV
error.


NOTE: *****************************************************************
      * THIS TCO DOES NOT IMPLY ANY "OWNERSHIP" OF GTJFN              *
      * I WILL DISAVOW ANY KNOWLEDGE OF THAT MODULE                   *
      *****************************************************************


                               [End of TCO 6.1.1459]
                               TCO-number:  6.1.1460



Written-by:  MOSER                            Creation-date:  19-Jun-85 09:35:44


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC




Problem:  JSR BUGHLT in DISC.

Solution:  Make it a "real" BUGHLT, XTRAPT (long file has extra page table).


                               [End of TCO 6.1.1460]
                               TCO-number:  6.1.1461



Written-by:  GROSSMAN                         Creation-date:  19-Jun-85 10:32:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LLMOP	MEXEC	STG	GLOBS




Problem:  Ethernet system ID's generated by LLMOP did not contain correct
system time information.

Diagnosis:  The system date and time was hardwired to be 23-Mar-1984 12:30:30.50.
This was probably done because the system ID message could be generated at
interrupt level.  The date and time conversion routines are not available at
interrupt level so the programmer just fudged up some numbers.

Solution:  Generate system ID's in CHKR.  This way, LLMOP can use the date and
time conversion JSYSs to acquire the necessary values for the system ID message.
Now, when a Request ID message is received at interrupt level, a request gets
queued up to CHKR level, and job 0 gets run immediately.  Also, periodically
(every 10 minutes) CHKR will call LLMOP to generate an unsolicited System ID
message.


                               [End of TCO 6.1.1461]
                               TCO-number:  6.1.1462



Written-by:  GRANT                            Creation-date:  19-Jun-85 15:26:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKLP




Problem:  CIPDFQ BUGINFs after reloading the CI.


Diagnosis:  TOPS-20 is not processing the response queue.  This occurred
	after a planned CRAM parity error;  one action taken by TOPS-20
	in the error processing is that of processing the response queue
	and cleaning all the command queues.  The routine KLPRQA is called
	in this case just as it is during normal operation.  During the
	error processing case, the port has been disabled but by calling
	KLPRQA we incorrectly enable the port for a small amount of time.
	During this time the port is capable of putting packets on the
	response queue.

	Thus, when we finally reload and start the port, it finds the
	response queue non-empty and never generates an interrupt.


Solution:  Create a second entry point KLPRQC to be used when we want to
	process the response queue without enabling the port.



                               [End of TCO 6.1.1462]
                               TCO-number:  6.1.1463



Written-by:  MOSER                            Creation-date:  19-Jun-85 16:21:29


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL




Problem:  OFNBDB BUGHLT.

Diagnosis:   The problem occurs when a file is going from short to long.
The following scenario reproduces the bug.

Users Moe and Larry both open STOOGES.DAT as a short file.

User Moe goes out for lunch while Larry extends the file long. When
Larry makes the file go long the following counts are in effect.

Super PT share count = 3 (1 long opener [Larry] and 2 second level PTs)
Share count on second level PT0 = 3 (Moe, Larry and extra count from Larry)

Now Larry closes the file (Moe is still at lunch) The Share count on Super
PT becomes 0 and the OFN is deassigned) The share count on the PT for file
section 0 is still non zero because of Moe (still at lunch).

Now enter Curly who also opens the file. He assigns a OFN for the
Super PT and gets a different one than Larry had. When Curly tries to
aquire an OFN for file section 0 he finds the one that Moe is holding
but the data in SPTO4 does not agree with the data provided by Curly
in the call. An OFNBDB results.


Solution:  When assigning an OFN for a long file section 0 always use the
callers data. OFNBDB will still exist for other cases.


                               [End of TCO 6.1.1463]
                               TCO-number:  6.1.1464



Written-by:  MELOHN                           Creation-date:  19-Jun-85 20:31:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND	CTERMD	CTHSRV	FILMSC	TTYDEF	TTYSRV




Problem:    CTERM terminals do not "unwrap" successfully; that is, if
you create a long enough line to wrap, and then edit that line to be
only one line long again, the CTERM-SERVER loses the prompt that began
the line.

Diagnosis:    In this case, the server must have a local copy of the
prompt in order to reprint the line successfully.

Solution:    Add a pointer to the prompt string as an argument to the
.MOTXT MTOPR% (AC 4). Make TEXTI% and friends fill in this prompt
string with the users's ^R buffer pointer. Make CTHSRV send this
prompt to the server. Make the server know that the prompt is really
an ^R buffer, and load it into the TEXTI% on the remote system.


                               [End of TCO 6.1.1464]
                               TCO-number:  6.1.1465



Written-by:  MELOHN                           Creation-date:  19-Jun-85 20:38:43


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CTHSRV	CTERMD




Problem:    DECnet-DOS won't talk CTERM with us.

Diagnosis:    Multiple problems; the LOKCDB routine has some code which
normal speed CTERM connections apprently never tested. The GETIMG
routine; which is supposed to parse a DNA image field doesnt work, and
always uses the defaults, which keep everyone but DOS happy. We treat
DOS, and any non-10-20 system like VMS and don't trust it to do
editing. DOS can do editing.

Solution:    Fix problems, make CTERM assume that all implementations
handle the entire protocol with the exception of VMS.


                               [End of TCO 6.1.1465]
                               TCO-number:  6.1.1466



Written-by:  PALMIERI                         Creation-date:  20-Jun-85 15:16:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	STG




Problem:    No DECnet nodename if not defined in CONFIG.CMD.

Diagnosis:    The default name is nulls.

Solution:    Make the nodename and nodename count RSIs of TOPS20 and 6
	respectivly.


                               [End of TCO 6.1.1466]
                               TCO-number:  6.1.1467



Written-by:  GRANT                            Creation-date:  20-Jun-85 18:02:22


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp




Problem:  Unnecessary CI command when CI microcode is reloaded.


Diagnosis:  Now that CI microcode is loaded directly from the monitor we
	get the version from the load file;  we don't need to do the
	READ-COUNTER command to find out the microcode verion anymore.

Solution:  Remove the READ-COUNTER command from routine STRKLP, but have
	routine LODUCD put the edit number in the CDB so the utilities
	can find it.  The entire version (major, minor, edit) is in
	location UCDVER.


                               [End of TCO 6.1.1467]
                               TCO-number:  6.1.1468



Written-by:  GRANT                            Creation-date:  21-Jun-85 12:38:20


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYSIO


Related-QAR:  	838233



Problem:  PHYTPD BUGINF description is misleading.


Solution:  Chane name to PHYCPI (CI path ignored) and make the description
	more informative.


                               [End of TCO 6.1.1468]
                               TCO-number:  6.1.1469



Written-by:  PALMIERI                         Creation-date:  21-Jun-85 15:07:17


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCJSYS


Related-QAR:  	838514



Problem:    DECnet DCN write only logical links sometimes hang other end's
	SRV link.

Diagnosis:    A CLOSF% may complete "too soon" if the logical link is write
	only.  When the user issues a close a synchronous disconnect
	call is issued to SCLINK.  This causes a DI to be sent to the other
	end of the link.  If the DI can not go out immediately it is queued
	up for transmission later.  SCJSYS notices that the link is "write
	only" and decides that it can remove the entire port database at this
	time since there should not be any pending input from the network.
	In cleaning up the link it issues a Release for the link to SCLINK.
	If the DI is still on the queue to be transmitted it is discarded.
	The other end of the link never gets the DI and must wait for
	a "no confidence" on the link before cleaning up.

Solution:    Don't check in DNETIN to see if the link is "write only".
	Instead, always call SCLINK to read any pending data (there shouldn't
	be any).  If there is no data SCLINK will block until the DC arrives
	which means the other end of the link has received and processed the
	DI.  The only need of the write only check was for the MTOPR function
	READ LINK STATUS so make the check there.


                               [End of TCO 6.1.1469]
                               TCO-number:  6.1.1470



Written-by:  MELOHN                           Creation-date:  21-Jun-85 17:33:49


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CTHSRV




Problem:    CTERM loses characters on input

Diagnosis:   CTHSRV sent start read messages requesting more input
than the line buffer could hold.

Solution:   Build start read messages with input length equal to TIMAX
minus TTICT, which is the remaining space in the line buffer.  Defer
additional start reads until the line buffer has more than five bytes
free.


                               [End of TCO 6.1.1470]
                               TCO-number:  6.1.1472



Written-by:  PALMIERI                         Creation-date:  24-Jun-85 14:38:02


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	ROUTER


Related-QAR:  	838475



Problem:    Setting cost on DTE circuits seems to have no effect on cost to
	nodes whose path is over the DTE.

Diagnosis:    Cost paramenter for other than first circuit is ignored when doing
	routing updates.

Solution:    When stepping through the circuits to build the routing vector
	use the cost for that circuit when computing costs to nodes over that
	circuit.


                               [End of TCO 6.1.1472]
                               TCO-number:  6.1.1473



Written-by:  GRANT                            Creation-date:  25-Jun-85 13:19:13
Edited-by:   GRANT                            Edit-date:      25-Jun-85 13:22:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp	cfssrv	PHYSIO




Problem:    Current CI diagnostic strategy using NO-ANSWER doesn't work well.

Diagnosis:    The CI microcode doesn't control the ACKing/NAKing of incoming
	packets.  So, the best it can do is not send back an IDREC even
	though the REQUEST-ID has been ACKed.  This isn't good enough because
	the other system sees that the NO-ANSWER system is there because it
	ACKed the packet.  This results in KLPNOA BUGCHKs rather than simply
	ignoring it.

Solution:    Instead of faking non-existence, set the maintenance bit in the
	port state field of the IDREC.  This will alert the other systems.


                               [End of TCO 6.1.1473]
                               TCO-number:  6.1.1474



Written-by:  LEACHE                           Creation-date:  25-Jun-85 13:58:34
Edited-by:   LEACHE                           Edit-date:      25-Jun-85 14:06:59


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSA


Related-QAR:  	838507	838509



Problem:       Password expiration not working correctly.

Diagnosis:       Leftover development code at LOGI2 is interfering with real
code at CHKPSW.

Solution:        Remove bogus code.


                               [End of TCO 6.1.1474]
                               TCO-number:  6.1.1475



Written-by:  MOSER                            Creation-date:  28-Jun-85 11:19:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GETSAV




Problem:   GET of some execute only programs fails.

Diagnosis:   AC not always setup properly for calls to SREADF and CREADF.

Solution:  Set up T1.


                               [End of TCO 6.1.1475]
                               TCO-number:  6.1.1476



Written-by:  PALMIERI                         Creation-date:  28-Jun-85 15:07:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	LATSRV




Problem:    COMMMS bughlt's as a result of memory being returned by LATSRV.

Diagnosis:    If an attempt to post a buffer to NISRV fails the failure
	reason is returned in T1.  LATSRV originally had the buffer address
	in T1 and never saved it.  Instead it tries to return whatever T1
	now points to.

Solution:    Save buffer address in a STKVAR and retore it before calling
	DNFWDS.


                               [End of TCO 6.1.1476]
                               TCO-number:  6.1.1477



Written-by:  GRANT                            Creation-date:  29-Jun-85 22:21:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKLP	MEXEC




Problem:  Running IPALOD by hand causes confusion.


Diagnosis:  Now that the CI20 microcode is read into memory at system startup,
	you can't load a different version without rebooting the system.
	However, if you put a new IPALOD up and run it, it comes out and
	says "Loading .......x.y(z)" indicating it loaded the new version
	of the microcode when it actually reloaded the version that was read
	in at system startup.


Solution:  Make 2 entry points for IPALOD.  When a user tries to run IPALOD
	it will not say "Loading.....x.y(z)", but will say "Loading
	microcode that was read in at system startup".



                               [End of TCO 6.1.1477]
                               TCO-number:  6.1.1478



Written-by:  LEACHE                           Creation-date:  10-Jul-85 13:32:01


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	FORK




Problem:    PDVOP% causes freespace damage, RELBAD's, ILMNRF's, etc.

Diagnosis:    PDVOP function .POLOC causes recursive execution of PDVOP
with function .PONAM.  The PDVOP code fails to reinitialize the datablock
size in the argblock, so that the 2'nd through n'th recursion has an
enormously high value (something like 1,,1) stipulated as the size of
a block that is really 8 words long.  This usually causes no problem,
since the 8 word block is more than enough space to hold most program
name strings.  However, bogus executions of PDVOP (such as recently
performed by the EXEC) can create PDV's containing program name strings
that exceed 8 words in length.  The recursive PDVOP will then destroy
information in the freespace block adjacent to the PDVOP data block.

Solution:    Reinitialize the blocksize value before each recursive execution
of PDVOP.


                               [End of TCO 6.1.1478]
                               TCO-number:  6.1.1479



Written-by:  WAGNER                           Creation-date:  10-Jul-85 13:38:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	MONSYM




Problem:  MONSYM is very large

Diagnosis:  It is not purging unneeded storage.

Solution:  Have it purge .ERCOD on the second pass since it is used as internal
	 symbol only.


                               [End of TCO 6.1.1479]
                               TCO-number:  6.1.1480



Written-by:  MELOHN                           Creation-date:  10-Jul-85 16:50:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    ILMNRFs when PROs or VAXes acting as LAT servers with PO/S
or Oracle attempt to connect to TOPS-20 and any user does an NTINF% of them.

Diagnosis:    These brain-damaged LAT implementations do not set the LAT
server name. In this case we should display the Hex hardware address
of the remote server, but the code to do this jumps to the wrong part
of the routine and the system trips because the appropriate ACs are
not set up.

Solution:    Jump to the right place to correctly display the hardware
address of these "pseudo-lat-servers". Thanks to Peter Donahue for
helping find and exterminate this bug.


                               [End of TCO 6.1.1480]
                               TCO-number:  6.1.1481



Written-by:  PALMIERI                         Creation-date:  15-Jul-85 15:01:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	CTHSRV




Problem:    COMMMS BUGHLTs

Diagnosis:    If CTHSRV fails is intialize a connect block when opening a SRV
	connection is attempts to release the associated buffer, a pointer
	to which is in the CDB.  It uses P3 as a pointer to the CDB instead
	of the correct AC CDB.

Solution:    Change P3 to CDB.


                               [End of TCO 6.1.1481]
                               TCO-number:  6.1.1482



Written-by:  PALMIERI                         Creation-date:  15-Jul-85 15:11:10


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	PHYKNI




Problem:    KNIIPF BUGHLT if system power fails.

Diagnosis:    PHYKNI believes that it should never receive a RESET CHANNEL
	call from PHYSIO and BUGHLTs if it gets one.  However this call
	is executed as a result of a power failure.

Solution:    Add routine KNIRSC to handle the reset channel call and stop and
	request reload for all KLNIs.


                               [End of TCO 6.1.1482]
                               TCO-number:  6.1.1483



Written-by:  MELOHN                           Creation-date:  15-Jul-85 15:39:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	latsrv




Problem:  RESCHK BUGHLTs
Diagnosis:  The header on a LAT transmit buffer was smashed. Examination of the
previous buffer revealed that it was a LAT circuit block. The code which clears
the counters at the end of the circuit block XBLTs one too many words and zeros
the first location of the next block of memory. We crash if we try to return
this block, since the check word has been cleared.

Solution:  Fix the routine that clears the circuit counters to zero the correct
number of words.


                               [End of TCO 6.1.1483]
                               TCO-number:  6.1.1484



Written-by:  MELOHN                           Creation-date:  15-Jul-85 15:42:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	latsrv




Problem:  ILMNRF BUGHLT
Diagnosis:  LAT server sends us an invalid Circuit block vector which we blithly
use to index into space.
Solution:  Check all CB vectors sent from the server to see if they make sense.
If they do not, consider it an illegal message.


                               [End of TCO 6.1.1484]
                               TCO-number:  6.1.1485



Written-by:  MELOHN                           Creation-date:  16-Jul-85 14:13:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG


Related-QAR:  	838536



Problem:    BADTTYs can occur if you build a monitor with LAHFLG turned off.

Diagnosis:    NTTLAH should be set to zero if LAHFLG is turned off.

Solution:    Do it.


                               [End of TCO 6.1.1485]
                               TCO-number:  6.1.1486



Written-by:  MELOHN                           Creation-date:  16-Jul-85 14:17:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV


Related-QAR:  	838534



Problem:    Stop reason code sent to servers is garbage when host gets a LATIST
BUGINF.

Diagnosis:    Reason code is not set up after LATIST call.

Solution:    Set up the code to be invalid slot/format error and return it to the
server.


                               [End of TCO 6.1.1486]
                               TCO-number:  6.1.1487



Written-by:  MOSER                            Creation-date:  16-Jul-85 16:00:09


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	APRSRV




Problem:   BOGUS dumps. PF in the Bughlt code. TRAPS0 shows PF occurred
trying to reference word 6,,0.

Diagnosis:   The Bughlt code tries to store the previous context ACs using
a STPAC. macro. This does a XCTBMU (data from prev context into monitor) of
a BLT of the ACs. When previous context is monitor and the section is not
0/1 then this BLT references memory not the ACs. This is a bug in the microcode.

Solution:  Do not do a STPAC. but do a PXCT of an XBLT. instead. This might
eventually get fixed in the u-code but for now this will work.


                               [End of TCO 6.1.1487]
                               TCO-number:  6.1.1489



Written-by:  LOMARTIRE                        Creation-date:  18-Jul-85 13:37:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	 20325



Problem:    
     Various  races  exist  when  KILLing  a new directory being created. These
races can cause directories to be permanently damaged.

Diagnosis:    
     The  CRDIR code will first completely build the new directory, then notice
that it should be deleted. During this  deletion,  an  error  may  occur  which
prevents CRDIR from finishing. This can leave the directory in an odd state.

Solution:    
     CRDIR  already does a check to see if the directory it is going to work on
exists. If it does not exist, but CRDIR has been directed to delete it,  simply
return and do nothing.


                               [End of TCO 6.1.1489]
                               TCO-number:  6.1.1490



Written-by:  NICHOLS                          Creation-date:  18-Jul-85 14:55:36


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CIDLL




Problem:  

Can't route DECnet messages through CI from VMS.

Diagnosis:    

Maximum receive buffer size allowed does not account for the padding that CI
links use.  TOPS-20 messages were routing over the CI because TOPS-20's
message segments are two bytes smaller than VMS's, to allow for two
seldom-used control bytes.  VMS never uses those extra control bytes.

Solution:    

Add 7 to the max receive buffer size CIDLL will allow to allow the maximum
padding.


                               [End of TCO 6.1.1490]
                               TCO-number:  6.1.1491



Written-by:  NICHOLS                          Creation-date:  18-Jul-85 14:59:27


Edit-checked:         No     Document:          No     TCO-tested:  Yes
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:     Too many Illegal Slot Type messages.

Diagnosis:    

There is a bug in the LAT-11 code which allows it to send a stop slot with
both the source and the destination slots set to zero.  The architecture is
unclear about whether this is illegal or not.

Solution:    

Make TOPS-20 ignore stop slot messages with both source and destination
slots set to zero.


                               [End of TCO 6.1.1491]
                               TCO-number:  6.1.1492



Written-by:  MOSER                            Creation-date:  19-Jul-85 15:21:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGUTL	LDINIT	POSTLD	STG	APRSRV




Problem:   Cannot have as many JFNs as in 5.1.

Diagnosis:   There are 3 pages for JFN blocks as in 5.1 but the blocks are
larger consequently 64 JFNs will fit in 3 pages instead of 81.

Solution:   Increase JFN block pages to 4. Because there are no free pages in
section 0/1 to accomplish this we need to find 1 page. Remove the SZCOD
PSECT and move all of it's code to RESCD.


                               [End of TCO 6.1.1492]
                               TCO-number:  6.1.1496



Written-by:  MAYO                             Creation-date:  24-Jul-85 14:51:23


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	 19052



Problem:  ARCF% function .ARSST (set archive status) fails if FB%NOD
is set on a file.  FB%NOD shouldn't allow a user, even a wheel, from
escaping system migration policies.
Diagnosis:  The code at ARSST checks for FB%NOD. It shouldn't.

Solution:  Remove the check.

                               [End of TCO 6.1.1496]
                               TCO-number:  6.1.1497



Written-by:  WAGNER                           Creation-date:  25-Jul-85 09:35:22
Edited-by:   WAGNER                           Edit-date:      25-Jul-85 15:19:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DATIME




Problem:  ODCNV% using Julian form can return dates off by one day in the
	last week of April and the last week of October in some non-leap
	years.

Diagnosis:  ODCNV% calls a routing ODAYL to see if we should apply daylight
	savings time to the date and time being converted. ODAYL calls a
	routine NLSS (Next(?) LaSt Sunday) to get the internal form of the
	last Sunday in April and October. Based on this comparison, we then
	add or subtract the appropriate hour before finishing the Julian
	date conversion. Unfortunately NLSS returns in all Non-leap years
	in which April (or October) end on a Saturday, the date of May 1
	(Or Nov 1) as the last Sunday in April (or October).

	Problem was that the absolute maximum date for the last Sunday was
	given as being in a leap year, and no check was made to see if that
	in fact was the case in any call to NLSS. Because of it's algorithm,
	the problem only shows when the month also happens to end on a
	Saturday.

	This is a day 1 bug.

Solution:  Have routine NLSS return the correct day for daylight savings time
	start and stop, by having it add a day if it is a leap year. In all
	other cases use the values of DSTON and DSTOFF (which are now one
	smaller than they were).


                               [End of TCO 6.1.1497]
                               TCO-number:  6.1.1498



Written-by:  WAGNER                           Creation-date:  25-Jul-85 16:06:57


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FORK




Problem:  Several errors with GFRKH%

Diagnosis:  1. GFRKH% allows its users to get a handle on your superior by
	      specifying .FHSUP in AC2, and .FHSLF in AC1. This is in
	      direct conflict with documentation.

	   2. GFRKH% is too stupid to know how to do what needs to be done
	      when one asks it to get the "SELF" of "SUPERIOR" by putting
	      .FHSLF in AC2 and .FHSUP in AC1. This is because it doesn't
	      know that the SYSFK index for self (0) is a special case that
	      we should get from FORKN(handle) instead of the more general
	      FKPTAB(handle).

Solution:  1. Check for this condition and disallow it. With the fix to 2. the
	     functionality is still there, but no longer in contradiction to
	     documentation.

	  2. Ask Tom Moser for help. Easy after that. Just check to see if
	     SETLF0 returns 0 (indicating "SELF" of knower), if so get the
	     relative handle from FORKN instead of FKPTAB.

	  Incidentally, the fix for this problem eliminates 3 labels and
	  12 lines of code in .GFRKH%.


                               [End of TCO 6.1.1498]
                               TCO-number:  6.1.1499



Written-by:  MAYO                             Creation-date:  25-Jul-85 16:23:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	 18595



Problem:  Using .ARDIS to clear offline tape info gives different
results if done as a result of one call to ARCF%, or two.

Diagnosis:  You can specify clearing 1 (of 2) sets of offline pointer
data with an ARCF% call, or clear both sets with one call, depending
on what bits the caller passes.  The result should be identical, but
if done as separate calls AR%PSZ, for example, doesn't get cleared.
Solution:  Use common code whenever the result of clearing a tape pointer
results in both tape pointers being 0.

                               [End of TCO 6.1.1499]
                               TCO-number:  6.1.1500



Written-by:  LOMARTIRE                        Creation-date:  26-Jul-85 08:27:14


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV




Problem:    
     Needless  time spent voting on OFN tokens which we gave up but to which we
have never lost our access.

Diagnosis:    
     Need  CFS  file  access  token  caching.  This  is part of the overall OFN
caching scheme.

Solution:    
     Add it. When ever a file access token is going to be removed from the hash
table, mark it as cached instead and keep it hashed. If a vote arrives for this
token, remove it immediately from the hash table and return a YES vote. If this
system  attempts  to  acquire  a  token which has been cached, simply clear the
cached bit (HSHTAM) and continue as  if  this  token  already  existed  on  the
system.  A  vote  will  now only be required if the access being asked for more
than what was in effect when the token was cached.


                               [End of TCO 6.1.1500]
                               TCO-number:  6.1.1501



Written-by:  WAGNER                           Creation-date:  29-Jul-85 16:09:11
Edited-by:   WAGNER                           Edit-date:      29-Jul-85 16:11:05


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	JSYSF


Related-SPR:  	    56



Problem:  CRDIR% returns error when trying to create a subdirectory with
	 either directory or user group lists that are not in the parent
	 directory. This causes sites that utilize our suggested method of
	 central control of directories using subdirectories, much grief if
	 they happen to have many, many thousands of the beasts. It is much
	 manual work, and is very error prone. This has the effect of causing
	 all directories immediately inferior to <ROOT-DIRECTORY> have many
	 hundreds of entries for all possible directory and user group list
	 numbers. It also chews up disk space.

Diagnosis:  Enforcement (sort of) of tree-like structure of directory and user
	 group lists. The CRDIR% Jsys will not allow one to create a
	 a subdirectory with group lists not in the parent directory, out of
	 a historical and hysterical fear of breaking Dumper. It should allow
	 this for those who want it and are prepared to enable to get it.

Solution:  Have CRDIR% allow this functionality for Wheels and OPRs. This won't
	 harm Dumper because it needs to be enabled to use the CREATE function
	 anyway.

	 Note: This does not fix the more difficult case of non-enabled users
	 deleting group lists out of parent directories but not their 
	 descendants, which is a seperate problem.


                               [End of TCO 6.1.1501]
                               TCO-number:  6.1.1502



Written-by:  PALMIERI                         Creation-date:  31-Jul-85 13:56:44


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	ROUTER




Problem:    Can't route out of the local area.

Diagnosis:    Phase III nodes (MCBs) have no information for node zero in their
	routing vector so we start at node 1.  However, the loop counter still
	thinks that it has to be large enough to look at element zero.  The
	result is that we look at the cell one past the end of the routing
	data vector for the MCB and copy that one past the end of the main
	routing vector which smashes the adjacency pointer for the area router
	which is the information we need to route out of area.

Solution:    Decrement the loop counter by one before starting through Phase III
	routing vectors.


                               [End of TCO 6.1.1502]
                               TCO-number:  6.1.1503



Written-by:  MELOHN                           Creation-date:  31-Jul-85 15:21:56


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LATSRV




Problem:    Edit 2092 to LATSRV broke flow control to DECserver 100s.

Diagnosis:    DECservers don't restore the settings when returning to
local mode.

Solution:    Retract the change made in 2092.


                               [End of TCO 6.1.1503]
                               TCO-number:  6.1.1504



Written-by:  PRATT                            Creation-date:   5-Aug-85 16:37:30


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	SCHED


Related-SPR:  	 20684



Problem:    

	A combination of the monitor, exec, and batcon produces
	a situation where the program name of a batch job is not
	the same as what the batch job is really running. SYSTAT
	and INFO BATCH report LOGOUT or the name of the last program 
	which the previously logged in job was running.  

	This can also be seen quite frequently for jobs which
	log in after a MAISER or FTPSRT jobs log off.

Diagnosis:    

	The monitor is not clearing out the JOBPNM word for a 
	job when it gets logged out.

Solution:    

	In the halt job code just before we indicate that the
	job is not in use, clear the job program name.


                               [End of TCO 6.1.1504]
                               TCO-number:  6.1.1505



Written-by:  PRATT                            Creation-date:   6-Aug-85 11:22:33


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-QAR:  	838565



Problem:    

Datatrieve project is having address space problems. Simple
changes to the COMND jsys would allow them to move large amounts
of buffer space and command state blocks to other sections.

Specifically, address for the command state block could be allowed
to have a 30 bit address and all byte pointers should allow OWGBPs.

Diagnosis:    

The byte pointer "validator" and the "subtract 2 byte pointers" routines
only know about 7 bit local byte pointers.

The code that picks up the command state block address only picks up 
18 bits worth of address.

Solution:    

Change the appropriate routines. This does not effect documentation.


                               [End of TCO 6.1.1505]
                               TCO-number:  6.1.1506



Written-by:  PRATT                            Creation-date:   6-Aug-85 16:35:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	COMND


Related-SPR:  	 15397



Problem:    

Confusing prompts and help messages can get typed out 
during the COMND jsys when a program tries to parse 2 fields
and the first field supplies a default in the FDB, and the 2nd 
field does not. 

If the user types a <cr>, the default for the 1st field is taken. 
We then try to parse the next field. Since no default was supplied,
a no-parse error should be generated. This doesn't happen. Instead,
the COMND jsys reprompts the user and waits for more input. If the
user then types a question mark, he sees the help text for that
2nd field.

Diagnosis:    

Too make a long story short, the code to detect if the user 
has typed a <cr> at the prompt, doesn't realize that we have have already
parsed the first field of the command.

Solution:    

Create a new flag called CMEEOC which gets set if we enter 
the COMND jsys with the CM%EOC (end of command) flag set. 
We will then know that a field has been parsed even though the 
command buffer byte pointers haven't changed.


                               [End of TCO 6.1.1506]
                               TCO-number:  6.1.1508



Written-by:  WAGNER                           Creation-date:   8-Aug-85 10:53:54


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DSKALC




Problem:  ASGBAD and ASGBPG BUGCHKS after formatting packs with errors that
	 are in the maintenance cylinders.

Diagnosis:  During Bittable initialization after assigning the home blocks,
	 the BAT blocks must be marked in the new bittable. Unfortunately
	 there is no check to see if the address that we are passing to
	 DSKASA is a valid one. The check currently is only to see if it
	 is in Swap space.

Solution:  Add a check to the code at TOPASG to not assign pages with errors
	 if they reside in the maintenance area. We won't ever use the pages
	 anyway.


                               [End of TCO 6.1.1508]
                               TCO-number:  6.1.1509



Written-by:  PRATT                            Creation-date:   8-Aug-85 11:40:34


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV


Related-QAR:  	838355



Problem:  	NTINF does not always return the correct error code.

Diagnosis:  

The user supplied an invalid byte pointer which caused a BOUT jsys 
to fail. BOUT does not return the error code in T1, I assumed it did.

Solution:  

Change the ERJMP to an ERJMPR which will force the error code to T1.


                               [End of TCO 6.1.1509]
                               TCO-number:  6.1.1510



Written-by:  PRATT                            Creation-date:   8-Aug-85 15:48:52


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	DISC


Related-SPR:  	 18505



Problem:    

Strange results when users copy a file to LPT: and the source
filespec has funny characters in it.

Example:   @COPY (FROM) FOO^V^V^V?.EXT (TO) LPT:

Diagnosis:    

    The  EXEC defaults the output filespec to LPT:FOO^V^V^V?.EXT
and performs a GTJFN. The filename gets stored in the JFN  block
without the quote characters and the result is FOO^V?.

    When the EXEC performs the OPENF, the monitor, in the SPLOPN
code,   must   switch   the   name   of   the   output  file  to
PS:<SPOOL>device-dir#-0-file.ext. It does this by building a new
filespec, SOUTing the  filename  and  extension  onto  this  new
string without regard to any special characters that were in the
old   strings.  The  subsequent  GTJFN  can  fail  with  illegal
character in filename errors.

    However,  in  this  particular example, things get even more
confusing. No error was generated because GTJFN took the ^V as a
quote character for the question mark and internally stored  the
filename  as  LPT-dir#-FOO?.  Later  when we build a message for
GALAXY to print the file, the IPCF code makes the  same  mistake
as  SPLOPN  and  concatenates  the  filespec  string using SOUT,
without regard to the special characters. This passed an illegal
filespec to QUASAR, which used it  for  a  GTJFN  argument,  and
caused it to crash with a CRS stopcode.

Solution:    

    Changing  the  code  pass  the  special  characters  in  the
filename  all  the  way to GALAXY requires many modifications to
both DISC and IPCF. Also, GAXLAXY really doesn't care  what  the
filename is as long as it is correct in the create message.

    Therefore,  when  building the string to write the file into
the spool area, remove all special characters by  only  allowing
upper  case and numeric characters to be concatenated to the new
filespec string.

Also, clean up the code some. Its pretty horrible.


                               [End of TCO 6.1.1510]
                               TCO-number:  6.1.1511



Written-by:  GRANT                            Creation-date:  12-Aug-85 08:55:50


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	phyklp




Problem:  Powerfail/restart doesn't recover the CI.

Diagnosis:  No code.

Solution:  In routine KLPZAP, add code to stop and then restart the CI.


                               [End of TCO 6.1.1511]
                               TCO-number:  6.1.1515



Written-by:  MELOHN                           Creation-date:  12-Aug-85 15:45:12


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	STG




Problem:    Systems configured for 128 terminals that have only LAT
terminals run out of terminal pool at 113.

Diagnosis:    Terminal pool is calculated based on the size of a TDB for
front end lines. Other line types, (like LAT) use more space per line
than do front end lines. A system with a large amount of non-front end
lines will run out of space in the terminal pool before ACTLNS number
of terminals exist.

Solution:    Calculate terminal pool size based on the size of an
extended TDB, not a short one. The pool size will grow from 40*ACTLNS
to 44*ACTLNS.


                               [End of TCO 6.1.1515]
                               TCO-number:  6.1.1516



Written-by:  LOMARTIRE                        Creation-date:  13-Aug-85 09:47:25


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	LOOKUP


Related-QAR:  	838584



Problem:    
     Wild carded extension searches no longer work under certain circumstances.

Diagnosis:    
     At   EXTFAI:,   an  attempt  is  made  to  return  a  GJFX19  error  code.
Unfortunately, it places the code in F, instead of T1, so it clobbers the flags
word.

Solution:    
     Change the MOVEI GJFX19 to MOVEI T1,GJFX19.


                               [End of TCO 6.1.1516]
                               TCO-number:  6.1.1517



Written-by:  WAGNER                           Creation-date:  13-Aug-85 10:48:12


Edit-checked:         No     Document:          Yes    TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	dskasa


Related-SPR:  	 19975



Problem:  ASAASG BUGCHKs when creating structures with redundant Bat bloc
	 entries.

Diagnosis:  After initializing the bittable, we then mark all Bat block entries
	 in the new bittable. We use routine DSKASG to do this. It notices
	 that we have already marked one (or more, if applicable) of the
	 Bat block entries and BUGCHKs, and then continues along.

Solution:  Since the entry is already marked, and since there is no guaranteed
	 order to the bat block entries, it does not make sense to create a
	 whole new routine whose function is to detect this obscure case, since
	 we would only ignore the condition anyway. So, change the BUGCHK
	 information to include a mention that this somewhat obscure case
	 can also cause ASAASG BUGCHKs.


                               [End of TCO 6.1.1517]
                               TCO-number:  6.1.1518



Written-by:  GRANT                            Creation-date:  13-Aug-85 10:51:49
Edited-by:   GRANT                            Edit-date:      13-Aug-85 10:53:15


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYKLP




Problem:    System doesn't recover from an unplanned CI CRAM parity error.

Diagnosis:    After the basic recovery procedure the datagram free queue is left
	empty since we choose not to believe anything when an unplanned error
	occurs.  This causes problems when the CI is restarted.

Solution:    Stock the datagram free queue, just like at system start up.


                               [End of TCO 6.1.1518]
                               TCO-number:  6.1.1520



Written-by:  LOMARTIRE                        Creation-date:  14-Aug-85 11:58:11


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	GTJFN


Related-SPR:  	 15670



Problem:    
     A  parse-only  GTJFN is done on a file and the directory is not specified.
Even though the connected directory is assumed, JFNS%  will  never  output  the
directory name for this JFN.

Diagnosis:    
     Special  checks are made to skip updating the JFN block with the connected
directory if the JFN is parse-only.

Solution:    
     Restructure  the  code  around  DEFDI1  and  DEFDI5  so that the connected
directory string will be placed in the JFN block.


                               [End of TCO 6.1.1520]
                               TCO-number:  6.1.1523



Written-by:  LOMARTIRE                        Creation-date:  15-Aug-85 12:44:42


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	IO


Related-SPR:  	 17490



Problem:    
     DIRDNL and ULKSTZ BUGCHKs.

Diagnosis:    
     The  CHKAC%  JSYS  has a call to GETFPD. GETFPD calls GETFDB. If this call
returns +1 (fails), then the code calls ULKMD0. But, if the GETFDB call  fails,
the directory would not have been locked.

Solution:    
     Do not call ULKMD0 in the error return from GETFDB in GETFPD.


                               [End of TCO 6.1.1523]
                               TCO-number:  6.1.1524



Written-by:  MOSER                            Creation-date:  15-Aug-85 14:14:19


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PAGEM	PAGUTL	DISC	GLOBS	PROLOG	STG
			CFSSRV




Problem:   The monitor is SLOW, especially when accessing long files randomly.

Diagnosis:   OFNs and CFS access tokens are deleted and recreated frequently,
in core pages are removed very often when accessing long files.

Solution:  Cache OFNs while maintaining disk integrity. See 
R61SPC:FILE-SYSTEM-CACHES.MEM for details.


                               [End of TCO 6.1.1524]
                               TCO-number:  6.1.1526



Written-by:  TBOYLE                           Creation-date:  15-Aug-85 17:48:48


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYP2	PHYSIO


Related-QAR:  	838572	838614



Problem:  DDMPNR, KPALVH, Hung disks, etc.

Diagnosis:  IORB retry code for RP20's done during release 6.0 can
fail forever and hang up disk traffic if an IORB simply won't work.

Solution:  Change it back to if error recovery fails, the error is
marked hard device error and proceed.


                               [End of TCO 6.1.1526]
                               TCO-number:  6.1.1527



Written-by:  PALMIERI                         Creation-date:  19-Aug-85 14:16:24


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCJSYS


Related-QAR:  	838625



Problem:    Connect attempt fails when using monitor generated unique tasknames.

Diagnosis:    When opening a SRV device the indicated length of the taskname
	 in the connect block is always one greater than the actual length.

Solution:    Decrement indicated length by one before passing it to SCLINK.


                               [End of TCO 6.1.1527]
                               TCO-number:  6.1.1528



Written-by:  PALMIERI                         Creation-date:  19-Aug-85 14:18:37


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  Monitor
  Routines-affected:   	SCJSYS




Problem:    Unprivileged users cannot use object types above 127.

Diagnosis:    Sense of the test for object types above and below 128 was
	 incorrect.

Solution:    Reverse the test so unprivileged users can use the unrestricted
	object types.


                               [End of TCO 6.1.1528]
                               TCO-number:  6.1.1530



Written-by:  WAGNER                           Creation-date:  27-Aug-85 13:29:55


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	FREE


Related-QAR:  	838626



Problem:  Many BUGCHKS in FREE.MAC dealing with free space management are
	actually BUGHLTS. This is as it should be, but someone forgot to
	change the documentation of the BUGxxx's to reflect this.

Diagnosis:  Woops.

Solution:  Change the text to reflect the severity of the actual problem and
	treat them as the BUGHLTs they actually are.


                               [End of TCO 6.1.1530]
                               TCO-number:  6.1.1531



Written-by:  PRATT                            Creation-date:  28-Aug-85 14:47:26


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	TTYSRV


Related-SPR:  	 17825



Problem:    

Line feeds are not incremented the line count for half-duplex ttys

Diagnosis:    

The code is wrong. It checks for <cr> or <lf>. If it finds either,
it resets the character column counter to 0 and then does a RET.
It should only do this on <cr>.

In any case, the code specifically checks for <lf> 2 instructions later,
to bump the line count but we never got there.

Solution:   Remove the check for <lf> and rely on the later check.


                               [End of TCO 6.1.1531]
                               TCO-number:  6.1.1532



Written-by:  PRATT                            Creation-date:  28-Aug-85 15:41:21


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  EXEC
  Routines-affected:   	EXECQU




Problem:   

EXEC hangs when cancelling many mount request at the same time.
If the user later tries to control-C, the EXEC will loop for a long
time, if not forever, typing out a message saying it is discarding 
IPCF messages.

Diagnosis:    

The IPCFLS (packet flusher) code is called to flush the page that location
OLDIDX points to. After the page has been released, OLDIDX is not being
updated. The code later on, examines OLDIDX and determines it has a page
to flush. This happens over and over.

Solution:    

Set OLDIDX to minus one after the message has been flushed.

This will fix the problem of looping with the error message,
however there is a larger problem with the EXEC hanging. This will be
fixed later.


                               [End of TCO 6.1.1532]
                               TCO-number:  6.1.1533



Written-by:  EVANS                            Creation-date:  29-Aug-85 11:25:04


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	PHYM78




Problem:  USAGE records for number of physical records read and written are zero
if the tape drive was a TU78.
Diagnosis:  PHYM78 isn't updating the counter.
Solution:  Make PHYM78 do the counting.

                               [End of TCO 6.1.1533]
                               TCO-number:  6.1.1534



Written-by:  LOMARTIRE                        Creation-date:  29-Aug-85 12:49:41


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV


Related-TCO:  	6.1.1330

Related-QAR:  	838599



Problem:    
     CFS-20 will try to connect to TOPS-10 systems.

Diagnosis:    
     CFS  checks the port type and will only attempt to connect to "KL10". This
is not good enough becuase TOPS-10 systems are also "KL10" ports.

Solution:    
     Make CFS smarter and have it connect only to "T-20" nodes. This is similar
to the change that was made to PHYMSC (TCO 6.1.1330).


                               [End of TCO 6.1.1534]
                               TCO-number:  6.1.1535



Written-by:  LOMARTIRE                        Creation-date:   5-Sep-85 09:02:09


Edit-checked:         No     Document:          No     TCO-tested:  No 
Maintenance-release:  No     Hardware-related:  No 


Program:  MONITOR
  Routines-affected:   	CFSSRV	JSYSF




Problem:    
     End of file is not being properly updated in a multi-node CFS environment.

Diagnosis:    
     There are three problems:

	1.  The only time that the EOF is broadcast is on a CLOSF% of a 
	    file that has a window page setup and is open for write.  This
	    does not include files updated via PMAP%.  So, upon a close of 
	    a PMAP% updated file, no EOF broadcast.  However, CHFDB% will 
	    have been done by the user to update the EOF in the FDB.

	2.  The broadcast routine is using a transaction value of -1 or 0
	    for all EOF braodcasts; -1 if the system currently has write 
	    access and 0 otherwise.  If the receiver of the broadcast gets
	    a transaction number of 0, it will ignore the message.  Otherwise,
	    the receiver of the broadcast message will compare this 
	    transaction number against the one it maintains.  Since -1 is 
	    never going to be greater than the one it has, the message will 
	    always be ignored.  Therefore, this broadcast message will 
	    never be used!

	3.  The SIZEF% JSYS never asks the other cluster systems about the
	    EOF pointer but, instead, just uses whatever value is currently
	    in OFNLEN.  This may not reflect what the real EOF is since this
	    system may not have done anything which would result in being
	    informed of an EOF change (such as a file access token vote).

Solution:    
     The three solutions are:

	1.  Make CHFDB% broadcast the EOF whenever the directory has 
	    been updated.

	2.  Fix CFSBEF to use the real transaction number found in the 
	    resource block for the OFN to be broadcast.

	3.  Make SIZEF% do a CALL CFSAWT (with read access only) in order
	    to acquire the current EOF (it will arrive in the voting
	    process).  This is similar to what GETLEN does.


                               [End of TCO 6.1.1535]