Google
 

Trailing-Edge - PDP-10 Archives - 6.1_emacs_manuals_1er - manuals/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.1134



Written-by:  ZIMA                             Creation-date:  11-May-82 16:31:48
Edited-by:   ZIMA                             Edit-date:      11-May-82 16:32:50


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


Program:  MONITOR
  Routines-affected:   	NETWRK


Related-SPR:  	 15113



Problem:  
	Nulls in output files when using GTHST JSYS.

Diagnosis:  
	Code in GTHST function .GTHNS appends an extra null to output
files in nonstandard fashion.

Solution:  
	Change code to deposit the extra null only if the output designator
is a byte pointer.


                               [End of TCO 6.1134]
                               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:   MOSER                            Edit-date:      14-Sep-82 10:59:21


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


Program:  MONITOR
  Routines-affected:   	JSYSA




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:      18-Aug-83 18:03:45


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 remarkable bug is fixed by reversing the TLO and the MOVEM
instruction. (ugh)


                               [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.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]