Google
 

Trailing-Edge - PDP-10 Archives - tops10_704_monitoranf_bb-x140c-sb - 10,7/mon/monitr.mco
There are 9 other files named monitr.mco in the archive. Click here to see a list.
MCO: 12776		Name: KBY		Date:  3-Feb-86:15:25:52


[Symptom]
Inefficiency in creating ABZ pages where section map
creations are required.

[Diagnosis]
We never allocated any pages since we thought we were creating
ABZ pages and therefore didn't need any.

[Cure]
Allocate pages if maps are required so we don't swap out because
we think we didn't allocate any section map pages because there
weren't any.

[Keywords]
ABZ inefficiency

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	VMSER	CHGPG4,CHGP10

704	


[End of MCO 12776]

MCO: 12782		Name: JAD		Date:  6-Feb-86:14:03:59


[Symptom]
After DISMOUNTing a structure on an RA60 drive subsequent attempts
to use the drive after mounting a new disk pack fail with "Problem
on device RAxxxx" and "Disk off-line" messages.

[Diagnosis]
RAXKON is trying to avoid giving FILSER a free interrupt if the
unit's logical name word (UNILOG) is zero.  We expect MDA will try
to read the home blocks when it receives the "attached" message.
MDA tries, but fails, since we never got the unit out of "O2COD".

[Cure]
Always give FILSER a free interrupt.  This will make sure the unit's
status is set correctly so the drive is usable.

[Keywords]
RA60
DISMOUNT STRUCTURE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	RAXKON	GIVINT

704	


[End of MCO 12782]

MCO: 12795		Name: JAD		Date: 17-Feb-86:08:24:15


[Symptom]
RAXDIE stopcode if we run out of credits.

[Diagnosis]
SCASER returns .SCNEC when a send would exceed the connection's
credit limit.  RAXKON checks the error code for .SCFNC.  Why
I coded two different symbols for the same error is beyond me.

[Cure]
Have RAXKON check for .SCNEC and delete .SCFNC from SCAPRM.

[Keywords]
SCA
NOT ENOUGH CREDITS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	RAXKON	RAXDGO
		SCAPRM	.SCFNC,.SCFWS
		SCASER	ETC

704	


[End of MCO 12795]

MCO: 12801		Name: JAD		Date: 18-Feb-86:13:43:27


[Symptom]
Stopcode EUE, IME, etc., following UN5 stopcode.

[Diagnosis]
Using a packet buffer we've already returned.

[Cure]
Get another buffer.

[Keywords]
UN5

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	RAXKON	RAXUO3

704	


[End of MCO 12801]

MCO: 12802		Name: JAD		Date: 19-Feb-86:13:45:48


[Symptom]
Stopcode IME from AUTCON when a disk is brought online for the
first time.  The new disk must not be unit number 7, and unit
number 7 must previously exist.

[Diagnosis]
Calling FSTMA3 with an expired AOBJN pointer simply returns
without changing any AC's.  This causes FSTLS3 to call FSTMA3
repeatedly, with FSTMA3 bumping the AOBJN pointer to the KDB's
unit table in T1 each call.  Eventually the AOBJN pointer goes
from positive to negative and we reference off into the boonies.

[Cure]
Clear T3 before each call to FSTMA3 so FSTMA3 exits such
that further calls will do the right thing.

[Keywords]
AUTCON
NEWDSK
FSTMA3
IME

[Related MCOs]
None

[Related SPRs]
868834

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	AUTCON	FSTLS3

704	


[End of MCO 12802]

MCO: 12804		Name: JAD		Date: 20-Feb-86:12:50:01


[Symptom]
None observed, may cause good blocks to be marked in the BAT
when a file with a bad block is closed.

[Diagnosis]
TSTBAD reads each block to determine the extent of the bad
region.  It tests error bits in T3 returned by MONRDU.  Odd
thing is, though, it tests for MONRDU##+IODERR.  Lots of fun
bits get tested inadvertently this way.

[Cure]
Fix the test to be IODTER+IODERR.

[Keywords]
TSTBAD
BAD BLOCKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	FILUUO	TSTBD2

704	


[End of MCO 12804]

MCO: 12810		Name: JAD		Date: 24-Feb-86:10:26:27


[Symptom]
IPA devices (CI, NI) only get started the first time a CPU is
started.  If a CPU is started more than once (removed, then
added back, restarted after a CPU stopcode, etc.) the devices
don't get started automatically.

[Diagnosis]
Code to delay starting drivers until after BOOT CPU requests
it (via call to SPRIPA) doesn't handle CPU restarts.  The
bit in .CPRUN which says to start the IPA devices only gets
set once so the devices only get started once.

[Cure]
Light the bit when we return from calling AUTCON at SPRIN2.
This will guarantee IPA devices always get started when a CPU
is (re)started.

[Keywords]
DITTO

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	COMMON	SPRIN2

704	


[End of MCO 12810]

MCO: 12821		Name: CJA		Date: 28-Feb-86:10:37:29


[Symptom]
DECnet confused about the difference between a
source and a destination of a logical link.  SYSDPY
display shows bogus information.

[Diagnosis]
In several places in SCLINK, we use the "source"
field when we should use the "destination" field, and vice-versa.
SYSDPY displays these fields containing wrong info.

[Cure]
Use correct fields.  For a passive link, the "source" is
the object number of the thing connecting to us, and "destination"
is our own object number.  For an active link, the "source"
is our own object number, and the "destination" is the object
number which we want to connect to.

[Keywords]
DECNET

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	SCLINK	SEVERA

704	


[End of MCO 12821]

MCO: 12822		Name: CJA		Date: 28-Feb-86:11:12:10


[Symptom]
Can't RENAME a file "in your behalf" if it is open
for update or append. Bogus "file not found" errors as a result.

[Diagnosis]
If the file is open for update or append, we
call CLOSE1 twice to close the file.  Unfortunately, the
first call clears the "in your behalf" PPN, and when we
get around to the second close, we may not have privs
to do the RENAME.

[Cure]
PUSH/PUSHJ/POP

[Keywords]
InYourBehalf
Rename

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	FILUUO	RENAM2

704	


[End of MCO 12822]

MCO: 12823		Name: JAD		Date: 28-Feb-86:13:20:01


[Symptom]
1026 won't run if all CPUs are started during ONCE.

[Diagnosis]
A flaky TM02 is interrupting in the middle of CHKT22.  However,
since no one has set up the IVI yet the RH20 tries to execute
offset zero in the EPT (containing a zero) and winds up getting
a UIL stopcode.  If the CPU is started after the system is up
and running everything happens "sort of" correctly (the cruddy
TM02 gets marked offline, which may be an improvement).

[Cure]
One would wonder why we are bothering to check for 18-bit channels
since there is no way TOPS-10 would run with one nowdays.  Since
this is true, there is really no reason for TEST22 to exist other
than for it to set CP.22B in the CHN.  Therefore, remove TEST22
entirely and teach AUTCON to light CP.22B when it builds the CHN
in the first place.

[Keywords]
BAD HARDWARE
ZERO IVI
BUY TU70'S

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	AUTCON	SEVERA
		ONCMOD	TEST22,CHKD22,CHKT22

704	


[End of MCO 12823]

MCO: 12830		Name: JAD		Date: 11-Mar-86:17:57:09


[Symptom]
CI disk failover clunks the SYSDET chain.

[Diagnosis]
Entry point ATTMX into ATTDSK doesn't take care of
unlinking the UDB being attached from the SYSDET chain,
nor does it link the UDB onto the SYSUNI chain.

[Cure]
Fix up the links in ATTMX.  Split off the code which fixes
the links, make it a subroutine, and call it from ATTDSK and
ATTMX.

[Keywords]
FAILUNDER

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	FILIO	ATTMX

704	


[End of MCO 12830]

MCO: 12835		Name: JAD		Date: 18-Mar-86:12:51:15


[Symptom]
Multiple CPU system doesn't run as well as it can if an MCA25
is not installed on every CPU.

[Diagnosis]
When ONCMAP creates pages it lights PM.KPM only if the CPU which
called ONCMAP has an MCA25.  Other CPUs might have an MCA25 but
the pages involved never get "kept".

[Cure]
Always light PM.KPM when ONCMAP creates pages.  Make sure PM.KPM
is off in the section pointer (as the bits get ANDed together)
if the CPU doesn't have an MCA25.

[Keywords]
PM.KPM

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	ONCE	ALCSMP
		SYSINI	ONCMAP
		VMSER	STMAPE

704	


[End of MCO 12835]

MCO: 12836		Name: JAD		Date: 18-Mar-86:13:10:05


[Symptom]
A DEVTYP or DEVCHR UUO with an argument of "-1" will return bits
saying you specified a disk device if you have an old-style LIB:.

[Diagnosis]
An old-style LIB: has a name of "-1" in the pathological name
entry (don't ask me why).  LNMTST matches the "-1" argument with
the "-1" name and merrily tells you a disk was specified.

[Cure]
Disallow "-1" in LNMTST.

[Keywords]
Old-style LIB:
LNMTST

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	FILUUO	LNMTST

704	


[End of MCO 12836]

MCO: 12837		Name: JAD		Date: 19-Mar-86:08:38:38


[Symptom]
LINKing the monitor takes forever (and a day...).

[Diagnosis]
A purported bug in LINK required the use of a PSECT name for
the high segment other than the usual ".HIGH.".  This caused
LINK the expense of maintaining a single paging file for the
 .LOW., HIGH, and SKY PSECTs, which in turn caused a lot more
overhead paging through the file.

[Cure]
Since the bug in LINK has (apparently) been fixed, go back
to using ".HIGH." for the high segment PSECT name.  This will
enable LINK to use two paging files which substantially cuts
the amount of time (real and CPU) required to link the monitor.

[Keywords]
PSECTS
 .HIGH.

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	S	PSECTS

704	


[End of MCO 12837]

MCO: 12838		Name: JAD		Date: 24-Mar-86:11:54:44


[Symptom]
Code reading bug.

[Diagnosis]
CFDMP tests for I/O via an internal channel by checking for
either CP.RH2 or CP.MX.  CP.MX doesn't really mean an internal
channel, it just means a channel which can do multiple simul-
taneous transfers.  If some customer ever got clever and wrote
a driver for some funny device which could do multiple transfers
(SA10 anyone?) FILIO would get confused on cache integrity.

[Cure]
Test CP.KLP rather than CP.MX.

[Keywords]
MULTIPLE TRANSFERS
INTERNAL CHANNELS
KLIPA

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	FILIO	CFDMP

704	


[End of MCO 12838]

MCO: 12839		Name: JAD		Date: 24-Mar-86:17:22:46


[Symptom]
Disk I/O on the KS during ONCE may not be correct with respect
to the (hardware) cache.

[Diagnosis]
Cache is enabled on the KS from the time the pager is turned
on (how do you turn on a pager?).  Since I/O into memory will
not invalidate the cache, data fetched from the buffer may be
an old copy left in cache and not the newest data.

Normally you would expect FILIO to do the right thing in this
case and invalidate the cache.  However, it doesn't do this
during ONCE (calls to CFDMP are no-ops during ONCE).  We're
left with potentially stale data in cache.

[Cure]
Conditionalize the test on DINITF in CFDMP so it only asembles
for the KL.  This will cause ONCE disk I/O on the KS to correctly
invalidate the cache when reading.

[Keywords]
CACHE
KS
ONCE-ONLY DISK I/O
BOOTABLE TAPE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KS10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	FILIO	CFDMP

704	


[End of MCO 12839]

MCO: 12840		Name: JAD		Date: 25-Mar-86:09:57:33


[Symptom]
A bit of a hassle trying to bring up a system without CI or NI
when debugging.

[Diagnosis]
IPAPCB (the table of PCB size, etc.) is in the high seg so
you have to get to HIGHIN before you can zap out the entries
for the CI and/or NI.

[Cure]
Move IPAPCB to the low seg.

[Keywords]
DEBUGGING
CI
NI

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	AUTCON	IPAPCB

704	


[End of MCO 12840]

MCO: 12841		Name: JAD		Date: 26-Mar-86:10:58:23


[Symptom]
RHN stopcode (re-read home block count negative) begets another.

[Diagnosis]
SOSGE followed by a stopcode never resets the count to something
which is reasonable (i.e., zero).

[Cure]
Re-arrange the code slightly and add a SETZM after the stopcode.

[Keywords]
RHN
STOPCODE LIMIT EXCEEDED

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	FILIO	SETID3

704	


[End of MCO 12841]

MCO: 12845		Name: JAD		Date: 27-Mar-86:09:33:38


[Symptom]
UNIGEN can match a random zero in location 62.

[Diagnosis]
If U contains zero when checking DEVGEN versus UNIGEN, and
DEVGEN contains zero (structure has never been dismounted),
CHEKU will believe the generation numbers match, when in fact
they don't.

[Cure]
Assign monotonically increasing UNIGEN's when creating UDBs in
AUTCON or in ONCMOD (under IFE FTAUTC) to make it easier to catch
such instances.  Doesn't solve the underlying problem but at least
makes it easier to notice.

[Keywords]
UNIGEN
DEVGEN
SYSGEN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	AUTCON	UDB4
		ONCMOD	SCNUNI

704	


[End of MCO 12845]

MCO: 12846		Name: JMF		Date: 28-Mar-86:10:42:43


[Symptom]
1022SA gets ill uuo at user 140 when doing a RUN UUO on LINK.

[Diagnosis]
1022SA has a starting vector which says start at 140. It doesn't
get cleared on the RUN UUO.

[Cure]
Remove LDB, CAIN over the SETZM .USUSA.

[Keywords]
Entry vector
RUN UUO

[Related MCOs]
None

[Related QARs]
None

[MCO status]
None

[MCO attributes]
New development MCO
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	COMCON	URUN1A

704	


[End of MCO 12846]

MCO: 12847		Name: JMF		Date: 28-Mar-86:10:48:05


[Symptom]
?No start address when SPEAR does a RUN UUO on SPRRET on the KS.

[Diagnosis]
KCOREV is zeroing -10(P) which happens to be the flags which say
which segment we want to get on the RUN UUO.

[Cure]
SETZM -10(P) => SETZM -5(P).

[Keywords]

[Related MCOs]
None

[Related QARs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KS10 only
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	VMSER	KCOREV

704	


[End of MCO 12847]

MCO: 12848		Name: JAD		Date: 28-Mar-86:11:10:09


[Symptom]
RENAME after CLOSE fails for a disk which has been mounted on
a drive which previously contained a disk mounted when the system
was first brought up.

[Diagnosis]
Even though RENAME after CLOSE isn't really legal, FILUUO tries
to allow simple cases of RENAME in the UFD to still succeed.  In
this case DEVUNI will contain zero.  When RENAM3 calls CHEKU with
U containing zero DEVGEN(F) may match location UNIGEN in the monitor
(offset 62 in a UDB if U doesn't contain zero) and allow the RENAME
to succeed.  If the disk is subsequently dismounted DEVGEN wouldn't
contain zero so the test on location 62 in the monitor fails causing
the RENAME to fail.

[Cure]
Recognize that DEVUNI containing zero here is a semi-legitimate
case and add a JUMPE U around the call to CHEKU.

[Keywords]
RENAME FAILURE AFTER CLOSE
CLOSE
CHEKU

[Related MCOs]
12845

[Related SPRs]
868979

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	FILUUO	RENAM3

704	


[End of MCO 12848]

MCO: 12851		Name: DPM		Date:  1-Apr-86:02:20:23


[Symptom]
     A LOOKUP UUO will fail on a labeled magtape if the next  filename
on the tape contains non-standard characters.

[Diagnosis]
     The intent of the labeled LOOKUP code  was  to  provide  programs
with the ability to do simple file structure-oriented UUOs on magtapes
in cases where those tapes contained files with normal filenames.   If
the  LOOKUP  UUO argument block contains a zero for the filename, then
the next file on the tape is supposed to be returned.   If  that  file
contains  non-standard characters, the file is skipped.  If every file
on the tape has non-standard  characters,  then  every  file  will  be
skipped  over  and  "file not found" error code returned.  The code at
TPMLK4 is supposed to accept all files and try to fill in  the  LOOKUP
block appropriately.  It's not doing that.

[Cure]
     Fix the code at TPMLK4 to accept all files.  Also add "-" to  the
list  of  legal  characters  in a filename.  This is for compatibility
with SCAN and filespecs produced by other Digital  operating  systems.
If,   however,  the  tape  contains  non-standard  characters  in  the
filename, the returned  filename  and  extension  may  not  accurately
reflect what is on tape.  This behavior is acceptable since the LOOKUP
UUO attempts to translate 17 character ANSI  ASCII  filenames  into  a
TOPS-10  sixbit  filename and extension format.  There is no guarantee
the two are compatible.

[Keywords]
MAGTAPE

[Related MCOs]
None

[Related SPRs]
35264

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	TAPUUO	TPMLK4,SIXINP

704	


[End of MCO 12851]

MCO: 12852		Name: JAD		Date:  3-Apr-86:15:27:05


[Symptom]
[Insert random stopcode name.]

[Diagnosis]
Somehow DEVUNI contains zero when a USETI is done.  Odds
are good the world will end shortly.

[Cure]
Test for U containing zero and produce a "UDBAIZ" stopcode (UDB
Address Is Zero).

[Keywords]
CHEKU

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	FILIO	CHEKU

704	


[End of MCO 12852]

MCO: 12853		Name: JAD		Date:  3-Apr-86:15:34:26


[Symptom]
UNIGEN of newly-created disk DDBs can match random zero in memory.

[Diagnosis]
MCO 12845 didn't go quite far enough.  We should initialize
the prototype disk/swapper DDBs with an invalid UNIGEN (-1).

[Cure]
Fix up prototype DDBs.

[Keywords]
None

[Related MCOs]
12845

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	COMMOD	DSKDDB

704	


[End of MCO 12853]

MCO: 12856		Name: JAD		Date:  7-Apr-86:08:53:19


[Symptom]
Files appended in simultaneous update mode have contiguous
clusters allocated but have separate pointers for each cluster,
leading to extended RIBs.

[Diagnosis]
If there is more than one writer to the file this is just a
fact of life for simultaneous update.  However, a bug in FILIO
causes the case of a single writer to fail a call to CHKADD so
FILIO adds another retrieval pointer to the file, even though
the block(s) it just allocated may be contiguous to the last
retrieval pointer.

[Cure]
Load T2 before calling CHKADD.

[Keywords]
SIMULTANEOUS UPDATE
EXTENDED RIBS

[Related MCOs]
None

[Related SPRs]
32687

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	FILIO	USET13

704	


[End of MCO 12856]

MCO: 12858		Name: JAD		Date:  7-Apr-86:09:46:02


[Symptom]
Size of last block in a simultaneous update file can be wrong.

[Diagnosis]
If we get to CLOSOU in FILUUO via RESET, M contains 400000
as set by IOALL.  If CLOSOU takes a branch to CLSRI5 in the
case of simultaneous update, M never gets set up like CLSRI5
expects it.  400000 in M indicates a directory to CLSRI5, so
the last block size gets set to 128. words.

[Cure]
Clear the bit in M before branching to CLSRI5, and move the
set up of M in IOALL down one line so it is re-initialized to
the correct value for each channel.

[Keywords]
SIMULTANEOUS UPDATE

[Related MCOs]
None

[Related SPRs]
33898

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	FILUUO	CLSOU4
		UUOCON	IOALL0

704	


[End of MCO 12858]

MCO: 12859		Name: JAD		Date:  8-Apr-86:08:11:36


[Symptom]
Regular LOOKUP/ENTER/RENAME UUOs can page fail because the argument
block crosses into an inaccessible page.  This might cause the
job to wind up restarting the UUO while still holding a FILSER
resource (CB, AU, etc.).

[Diagnosis]
ARGCHK, the routine which checks the argument blocks for
these UUOs, only checks for a 4-word block.  An extended block
will not be address checked properly.

[Cure]
Teach ARGCHK to call FCLERB (routine FILOP. UUO uses to address
check a LOOKUP/ENTER/RENAME block) since FCLERB already has the
smarts to deal with regular or extended argument blocks.

[Keywords]
ARGCHK
AOC
PAGE FAILS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	UUOCON	ARGCHK

704	


[End of MCO 12859]

MCO: 12861		Name: JAD		Date:  8-Apr-86:12:21:41


[Symptom]
Extended RIBs are not "correctly" formatted.

[Diagnosis]
RIBs are "supposed" to begin with a change of unit pointer.
Extended RIBs don't follow this convention.  This doesn't cause
any problems but does make it a bit of a pain for disk damage
assessment programs when checking the validity of a supposed
RIB block.

[Cure]
Make extended RIBs begin with a change of unit pointer.
Costs one retrieval pointer slot per extended RIB; big deal.

[Keywords]
Extended RIBs

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	303	FILIO	EXTRB1

704	


[End of MCO 12861]

MCO: 12864		Name: JAD		Date:  9-Apr-86:14:41:25


[Symptom]
KLIPA failures are not easily diagnosible.

[Diagnosis]
We don't get a dump of the KLIPA DRAM when it halts.
This could contain useful information.

[Cure]
Dump the KLIPA DRAM to the system error file on a KLIPA
failure.  Maybe someday I'll figure out what to do with
a KLIPA dump.

[Keywords]
KLIPA DUMP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked
Deferred

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	303	ICHPRM	BITS
		KLPSER	KLPDMP

704	


[End of MCO 12864]

MCO: 12865		Name: JAD		Date: 10-Apr-86:13:25:05


[Symptom]
Garbage entries in UFDs.  MCO 12824 prevented the problem by
using nitroglycerin.

[Diagnosis]
Redundant RIBs wind up in the monitor I/O cache.  This
is probably a waste of the cache since FILSER never reads a
redundant RIB.  In addition, it is a contributing cause to
the problem MCO 12824 addressed with a 20-pound sledge.

[Cure]
Call MONWRU instead of MONWRT when writing redundant RIBs.

[Keywords]
UFD CORRUPTION

[Related MCOs]
12824, 12863

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	303	FILUUO	ALLPT5
		FILUUO	UFDALX

704	


[End of MCO 12865]

MCO: 12866		Name: JAD		Date: 10-Apr-86:15:41:06


[Symptom]
DSKCHR UUO on "RAG2" which happens to be on the SYSDET chain
today returns information for "RAG23" which happens to have
DSKB mounted on it.

[Diagnosis]
User supplied 4 characters in the argument; SRUNA decides
to match on 4 characters since ALIASD created a mask for 4
characters.

[Cure]
If the last gasp attempt to match the user's argument fails,
if the user has specified more than 3 characters in the argument
then reset the mask for 6 characters before calling SRUNA.

[Keywords]
DSKCHR

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	303	FILFND	LOCSRU

704	


[End of MCO 12866]

MCO: 12867		Name: DPM		Date: 11-Apr-86:03:02:38


[Symptom]
     The  MTSKF.  UUO  behaves  differently  when  used  with  an  MDA
controlled  tape  than  with  a  BYPASS  labels tape.  Previously, the
sequence IN, MTSKF., IN worked correctly.  Now, under MDA, the  second
IN  UUO  appears to fail due to the EOF condition set by the skip file
function.

[Diagnosis]
     All positioning operations handled by the  monitor  turn  on  the
"need additional labeler processing" bit (LBLNED).  TAPUUO is probably
trying to insure that PULSAR is called on  the  next  first  input  or
output.  Other code already exists to handle this case.

[Cure]
     Always clear LBLNED when processing  interrupts  at  the  end  of
spacing  operations.   If  PULSAR  processes  the  positioning request
itself, then it is responsible for setting the termination code, which
in  turn,  causes the appropriate bits in DEVIOS to be set.  If PULSAR
lets the monitor finish  the  request,  then  there  is  no  need  for
additional interaction.

[Keywords]
TAPE POSITIONING

[Related MCOs]
None

[Related SPRs]
34506

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	303	TAPUUO	TPMISP,TPMFSF,TPMBSF

704	


[End of MCO 12867]

MCO: 12868		Name: KBY		Date: 11-Apr-86:08:04:30


[Symptom]
Stopcode PSF (others possible) locking on the KS.

[Diagnosis]
PAGFRE forgot that PAGTAB doesn't live at section-relative 0 in an
IFE FTXMON monitor.

[Cure]
Add appropriate offset in for IFE FTXMON.  Clean up the IFN FTXMON case
as well.

[Keywords]
SNOOPY

[Related MCOs]
None

[Related SPRs]
869036

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	303	LOKCON	PAGFRE
704	


[End of MCO 12868]

MCO: 12870		Name: JAD		Date: 11-Apr-86:11:24:53


[Symptom]
System performance while deleting a long file is, ahem, somewhat
less than ideal.

[Diagnosis]
MCO 12824 added a call to CSDELR in GIVBLK to fix a problem
which prevented 7.03 from shipping.  While the solution in the
MCO was correct, it was a bit heavy-handed.  Further inspection
reveals a better strategy for flushing data from the monitor I/O
cache when deleting (or truncating) directories.

[Cure]
Have UPDGV2 call CSDELR if deleting (or truncating) a directory
to flush the returned blocks from the directory.

[Keywords]
UFD CORRUPTION
GIVBLK
CSDELR

[Related MCOs]
12824, 12863, 12865

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	303	FILIO	GIVBLK
		FILUUO	UPDGV3

704	


[End of MCO 12870]

MCO: 12871		Name: RCB		Date: 11-Apr-86:12:37:21


[Symptom]
Jobs stuck in TI when the requested input is available.

[Diagnosis]
Race between checking for character mode input and going into TIOWQ
for it.
Lost acks of TTDINT's messages on RSX20F lines (this usually causes TO
hangs).

[Cure]
Check again for input after lighting IOW & IOACT, and clear them by hand
if no need for going into TI.
Invent a slow (6-second) Irma timer for RSX20F lines, and restart them
if they've been waiting for an ack on an active CPU that long.

[Keywords]
TI hang
TO hang
^C-only state
RSX20F lines

[Related MCOs]
None

[Related SPRs]
34544, 33530

[MCO status]
Checked

[MCO attributes]
New development MCO
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	303	SCNSER	RECIN3,RECINA,RECIN6,TWAITC,LDBTTD,LDPTDT,SCNSIL
704		TTDINT	TTDPST,TTDDW1,PRCACK,DLSAAL,TTDSIN


[End of MCO 12871]

MCO: 12876		Name: RCB		Date: 15-Apr-86:15:35:10


[Symptom]
^A doesn't work as expected on terminals which are not under MIC control.
This has most often been complained about when trying to type ^A (=^C) at
an OPSER subjob.

[Diagnosis]
Doing things for MIC even when it isn't interested in the terminal.

[Cure]
SKIPE LDBMIC(U).

[Keywords]
MIC ABORT
^A to wrong subjob

[Related MCOs]
None

[Related QARs]
868759

[MCO status]
None

[MCO attributes]
New development MCO
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	304	SCNSER	RICA
704	


[End of MCO 12876]

MCO: 12877		Name: JAD		Date: 16-Apr-86:09:03:53


[Symptom]
No way to obtain the names of all physical disk units in the
system configuration.

[Diagnosis]
Since we added a chain of detached units the only way to
get the names of those units is to PEEK their UDBs.  JMF feels
(and I agree) this is not the way it should really be done.

[Cure]
Fix up the SYSPHY UUO so it will follow both the "regular" and
"detached" unit chains.  This will result in behaviour which is
identical to that of 7.02 and prior monitors.

[Keywords]
SYSPHY
DETACHED UNITS
SYSDET

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	304	FILFND	SYSPHY

704	


[End of MCO 12877]

MCO: 12879		Name: DPM		Date: 17-Apr-86:03:27:12


[Symptom]
     Reel switches across tape controllers on different CPUs does  not
work.  Jobs get stuck in IO or EW states for the tape controller.

[Diagnosis]
     The routine to swap magtape DDBs  exchanges  all  necessary  data
between the previous and new DDBs except DEVCPU.

[Cure]
     Swap the DEVCPU word between the two DDBs.

[Keywords]
REEL SWITCH

[Related MCOs]
None

[Related SPRs]
35461

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	304	TAPUUO	TPLSU1

704	


[End of MCO 12879]

MCO: 12880		Name: DPM		Date: 17-Apr-86:07:24:11


[Symptom]
     Stopcode IME in IPCSER.

[Diagnosis]
     The address of start of the job's  packet  chain  contains  minus
one.   Attempts to index off this value will yeild an IME stopcode. In
several  places  in  IPCSER,  the  count  of  outstanding   sends   is
decremented.   Special  care  is taken to avoid decrementing the count
below zero.  If the count is already zero, the discrepancy is  ignored
and  the  monitor continues with no apparent problems.  In a couple of
places, however, no check is made for a  send  count  of  zero  before
decrementing  the  quantity.   The count is stored in the high order 9
bits  of  a  right  half  word  in  memory  (.EPIPC/.PDIPC)  and  gets
decremented  by  loading  -1000  in an AC and doing an ADDM.  The left
half word contains the packet chain address.  If the count is  already
zero, the ADDM will store -1,,777000 into .EPIPC/.PDIPC.

[Cure]
     Move the code to decrement the send  count  into  one  subroutine
that  correctly  checks  for  field  underflow before decrementing the
count.  Make the appropriate changes  to  call  this  routine  in  all
places that need to adjust the send count.

[Keywords]
IPCF SEND

[Related MCOs]
None

[Related SPRs]
35238

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	304	IPCSER	IPCF12,IPCF3,DECSND,TURNQ1,TURNQ4

704	


[End of MCO 12880]

MCO: 12881		Name: KBY		Date: 17-Apr-86:10:41:48


[Symptom]
Job incorrectly woken by stale clock request.

[Diagnosis]
We leave a dangling clock request in the queue if a job
HIBERs with a time and a condition, and the condition is satisfied
before the clock request is satisfied.

[Cure]
Clear out the clock queue entry upon continuation from the HIBER
and the clock request is still active.

[Keywords]
clock request

[Related MCOs]
None

[Related SPRs]
33609

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	304	CLOCK1	CLKCHG,SETHBR

704	


[End of MCO 12881]

MCO: 12882		Name: ERS/DAS		Date: 18-Apr-86:14:57:28


[Symptom]
Attaching to an attached device yields a poor error message.

[Diagnosis]
yes.

[Cure]
Instead of typing "?ATTACH FOO?" type "?Wasn't detached".

[Keywords]
ATTACH

[Related MCOs]
None

[Related SPRs]
31489

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
701B		COMCON	ATT8
702A	
703A	304
704	


[End of MCO 12882]

MCO: 12883		Name: KBY		Date: 21-Apr-86:14:53:53


[Symptom]
User at his physical, but not virtual limit get undeserved
duplicate page error if he tries to receive some page which is either
on a queue or in core.

[Diagnosis]
Code is stupid.

[Cure]
If the page is on a queue, leave it there.  If it isn't, put
it on the fast IN queue.

[Keywords]
virtual
IPCF

[Related MCOs]
None

[Related SPRs]
32505

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	304	VMSER	IPCINS
704	


[End of MCO 12883]

MCO: 12884		Name: RDH		Date: 21-Apr-86:23:22:55


[Symptom]

1)	If TSK. "Enter Active" / "Enter Passive" was used to initialize
	an ANF TSK-to-TSK link, a subsequent CLOSE monitor call will not
	necessarily flush out any not-yet-output buffered data.

2)	TSK. "Input" will not necessarily read all data previously output
	from the "remote" TSK after the remote has disconnected the TSK
	channel, even though the monitor has received the TSK data.

3)	SET WATCH FILE show incorrect error code for extended-format TSK
	device FILOP/LOOKUP/ENTER/RENAME/etc. errors

[Diagnosis]

1)	When TSK. was originally implemented, it wasn't really meant to
	be used interchangeably with the "normal" IN/OUT/CLOSE monitor
	calls (wherein the user did a LOOKUP/ENTER sequence to set up the
	TSK link), so all associated I/O flags never got set.

2)	Code tries to be clever, and outsmarts itself.

3)	Error-stuffer routine tries to be nice and preserve "M" for the
	caller, but the caller's caller really wants the "trashed" M
	address.

[Cure]

1)	On successful TSK. "Input" or "Output" operations, light the
	"LOOKB" or "ENTRB" flags respectively, so that CLOSE will know
	how to deal with the buffer rings (actually, there is nothing
	really to do with "Input", but I made it symmetrical, just for
	esthetics).

2)	Stupidize the code, so it is more "event" driven. The error
	return will then be forced at the appropriate time by having
	exhausted all the input data, and falling into the error rou-
	tine to see why. This guarantees that all data output by the
	remote side prior to the disconnect will be synchronously in-
	put before EOF/TKILS% error return is taken.

3)	Leave "M" trashed.

[Keywords]
TSK
SET WATCH FILE

[Related MCOs]
None

[Related SPRs]
32555, 32676, 32776

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	304	TSKSER	TSKIN,TSKOU,TSKEI,T.STOF,RTNLEE

704	


[End of MCO 12884]

MCO: 12885		Name: KBY		Date: 22-Apr-86:07:58:29


[Symptom]
It's another day...time to make IPCSER know what error codes VMSER
found out about at IPCINS.

[Diagnosis]
The current returns are T1=0 (some limit exceeded or duplicate
page) and T1=/=0 (paging I/O error).

[Cure]
Allow VMSER to return the IPCxx% error code in T1 which IPCSER will
conveniently store in the AC.  This means the relevant codes must
be global-ized.  Since there are no error codes for no physical or
virtual room, invent them (IPCRP% and IPCRV%).

[Keywords]
IPCSER

[Related MCOs]
None

[Related SPRs]
32505

[MCO status]
None

[MCO attributes]
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	304	VMSER	IPCINS
704		IPCSER	IPCPI%,IPCUP%,IPFR6


[End of MCO 12885]

MCO: 12887		Name: JAD		Date: 22-Apr-86:15:14:34


[Symptom]
Adding a CPU sometimes doesn't give free attaches on the disks
attached to that CPU.

[Diagnosis]
ATTCPD (called by SPRINI during CPU start-up) calls ONCPUs to
get on the "right" CPU to call KONCPY.  ONCPUS checks the sign
bit of .CPRUN for that (this) CPU (the "don't run jobs on this
CPU flag", aka :SET RUN NO CPUx), and if set, takes the error
return, causing ATTCPD to skip over the unit.

Secondly, detached units (on the SYSDET chain) which were put
there when the CPU was REMOVEd won't get attached for free.

[Cure]
In ATTCPD, don't call ONCPUS or friends if called at interrupt
level (SPRINI).

In SPRINI, look at the SYSDET chain as well as the SYSUNI chain.

[Keywords]
CONFIG

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	305	COMMON	SPRIN7
		FILIO	ATTCPD

704	


[End of MCO 12887]

MCO: 12890		Name: DPM		Date: 24-Apr-86:01:54:39


[Symptom]
Downline loading of ANF remote stations does not always work in
configurations containing DUP11s.  The following configuration is
known not to work:

	KL --- (DTE) DN20 (DUP) --- (DQ) DN80

[Diagnosis]
The DUP driver is being told to send synchs without a BCC character.
This is normal since you only checksum actual data.  When this is done,
the downline load fails (the DN20 never sees the boot request from the
DN80).  If instead, you send the synchs as a checksummed data, then the
downline load succeeds.  The net result should be the same, although
it's not obvious why one case works and the other doesn't.

[Cure]
Transmit the syncs as a counted string along with a BCC character.

[Keywords]
DUP11
BOOT

[Related MCOs]
None

[Related SPRs]
34834

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	305	DNDCMP	DDCI21

703A	


[End of MCO 12890]

MCO: 12891		Name: DPM		Date: 24-Apr-86:02:42:36


[Symptom]
     The DDCMP driver does not conform  to  the  DDCMP  specification.
Out of sequence ACKs cause the line to be declared down and restarted.
Also, the REP timer default of one second is too short for  4800  baud
lines.

[Diagnosis]
     When out of sequence ACKs are detected, they  should  be  ignored
and  not  cause a line restart.  A one second REP timer does not allow
enough time to receive an ACK if the remote node begins sending a full
full length packet.

[Cure]
     Ignore out of sequence ACKs and increase the default REP timer to
three seconds.

[Keywords]
DDCMP

[Related MCOs]
None

[Related SPRs]
33785

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	305	DNCNFG	NRPSEC
		DNCDMC	DMCTMR
		DNDCMP	DDRESP

703A	


[End of MCO 12891]

MCO: 12892		Name: JAD		Date: 24-Apr-86:14:40:59


[Symptom]
Unrecoverable overruns (32 retries) when monitor runs out of
channel 4-word core.

[Diagnosis]
If FILIO's first call to MAPIO for this transfer succeeds
SETLST/SETDMP will call PUNT(B/D) if a subsequent call to
MAPIO for this transfer fails.  PUNT figures out how many
words are described in the I/O list and uses that number
of words for the length of the transfer.  Unfortunately,
it is kind of hard to tell a disk drive you're going to
transfer n and a fraction blocks.  FILIO computes the
transfer size of n blocks, but tells the channel to do
n*200 plus a few words.  The channel will give an error
when the transfer fails (long word count error, usually).
FILIO will retry the same transfer until the retry count
is exhausted.  The retry will never succeed since FILIO
keeps using the same incorrect I/O list.

[Cure]
Teach PUNT(B/D) how to back off IOWDs as needed so the
transfer will be an integral multiple of the block size.
For buffered mode, also light IOSPBF and stuff the count
into the buffer header (finish up like SETLS7 does) so
we can resume the transfer later.

[Keywords]
PUNTB
PUNTD
OVERRUN

[Related MCOs]
None

[Related SPRs]
35463

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	305	FILIO	SETDM2,SETDM3,PUNTB,PUNTD

704	


[End of MCO 12892]

MCO: 12893		Name: JAD		Date: 24-Apr-86:16:11:58


[Symptom]
Can't use the "Return CPU accessibility mask" function of the
RECON. UUO to find out which CPU owns a terminal.

[Diagnosis]
Yeah, I know, terminals (DDBs) are generically owned by the
BOOT CPU.  However, hardwired terminals (-20F lines, etc.)
really ARE owned by the CPU to which they are connected.
When that CPU gets removed CONFIG would like to be able to
warn the Operator that the job is losing its terminal.
RCNCPU uses DEYCPF to get the owning CPU when it should be
getting the CPU number from the LDB.

[Cure]
Make RCNCPU a bit more clever so that it uses LDPCPU for
the owning CPU when checking an attached TTY DDB.

[Keywords]
CONFIG
 .RCCPU

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	305	UUOCON	RCNCP2

704	


[End of MCO 12893]

MCO: 12894		Name: DPM		Date: 25-Apr-86:08:03:02


[Symptom]
     Stopcodes WEM (pre-7.03) or ANFCLA following an NXM error.

[Diagnosis]
     If a user job is running at the time of a stopcode, parity, or  a
NXM  error, ZAPUSR will be called to release all I/O channels that are
currently open.  If a passive task was not connected, but  it  had  an
SLA assigned, a WEM/ANFCLA would result because routine CLNNET expects
the SLA to be zero.

[Cure]
     In the routine ZAPUSR, set a flag for NETSER  which  indicates  a
catastrophic error has occured.  ZAPNET will then zero out the SLA and
DLA for any DDB when this flag is set, prior to calling CLNNET.

[Keywords]
STOPCODE
PARITY
NXM

[Related MCOs]
None

[Related SPRs]
35271

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	305	COMNET	NETZAP
		ERRCON	ZAPUSC
		NETSER	ZAPNET

703A	


[End of MCO 12894]

MCO: 12895		Name: JMF		Date: 28-Apr-86:09:42:35


[Symptom]
MONGEN won't allow special devices to be put on CPU's other than CPU0.

[Diagnosis]
When MONGEN asks the question:
	TYPE "DEVICE-MNEMONIC,PI-CHANNEL" FOR SPECIAL DEVICES ...
It expects and answer in the form of DEV,PI#. It checks that the PI number
is less than or equal to 7. If a customer wishes to put a device on PI level
3 on CPU1, the correct response is 13. MONGEN doesn't allow this.

[Cure]
Condition the legal answers based on the number of CPU's.

[Keywords]

[Related MCOs]
None

[Related SPRs]
35381

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	305	MONGEN	ASKDPE
		COMMON	M.GEN

704	


[End of MCO 12895]

MCO: 12897		Name: JAD		Date: 29-Apr-86:13:17:12


[Symptom]
Possible DMA NXMs and memory overruns using RP07s on a system
with a CI or NI.

[Diagnosis]
CI and NI PCB interlocking by KLPSER and KNISER doesn't use
the "new" scheme of interlocking.  The routines don't use an
AOSE/JRST .-1 loop exactly (a few CAIx/AOJA between AOSE's)
but they might potentially tie up memory.

[Cure]
Change PUTQUE and REMQUE in KLPSER and KNISER to use the "new"
scheme (SKIPGE before the AOS).

[Keywords]
OVERRUNS

[Related MCOs]
12695

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	306	KLPSER	PUTQUE,REMQUE
		KNISER	PUTQUE,REMQUE

704	


[End of MCO 12897]

MCO: 12898		Name: JAD		Date: 29-Apr-86:14:44:58


[Symptom]
Stopcode BEC when reloading a KL with CI disks.

[Diagnosis]
It appears the HSC-50 disk server isn't releasing his
connection properly when the virtual circuit to the KL
goes away when the KL crashes.  When the CI disk driver
in the KL tries to sniff at a CI disk the HSC-50 sends
apparent garbage in response.

[Cure]
Initialize connect ID's to a random value (based on
CRSDTM since that's about the only random number which
is available) during SC.INI rather than initializing
them to the same value each and every reload.

[Keywords]
BEC

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	306	SCASER	SC.INI

704	


[End of MCO 12898]

MCO: 12900		Name: DPM		Date:  1-May-86:04:59:00


[Symptom]
The monitor doesn't support the soon-to-be supported mail program.

[Diagnosis]
No standard command to invoke MS.

[Cure]
Make it MAIL.  Also equate (via IFNDEF) M.MAIL to the sixbit name of
the mail program for those customers who want to use an alternate mail
system instead of the distributed one.

[Keywords]
MAIL

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	306	COMCON	RUNMAI
		COMMON	M.MAIL,NAMES

703A	


[End of MCO 12900]

MCO: 12901		Name: JAD		Date:  1-May-86:13:52:07


[Symptom]
Problems with the code in USETO which zero fills unused blocks.


[Diagnosis]
1)  If an I/O error occurs while doing the zero fill FILIO just
    ignores the error.  Subsequent I/O operations may fail due
    to stale error bits left over in S/DEVIOS.

2)  POSERR refuses to deal with errors during a channel skip
    (RH20 way if writing zeroed blocks).

3)  ACCWRT, etc., may be wrong if a write isn't done after a
    USETO which allocates extra blocks at the end of the file.

[Cure]
1)  Check S for error bits and quit right away on an I/O error,
    unless we were doing a channel skip.

2)  POSERR is right, it's too hard to retry a channel skip.  A
    better approach is to have the USETO code just retry the
    operation, but actually write single blocks until we have
    isolated the error, then let FILIO's normal retry/recovery
    code deal with the error.

3)  Remember how many blocks were actually written and update
    ACCWRT and friends accordingly.

[Keywords]
USETO
ZERO FILL
CHANNEL SKIP

[Related MCOs]
None

[Related SPRs]
34874, 35028, 35148, 35429

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	306	FILIO	USETO6,USETO7,USETO8,USETO9

704	


[End of MCO 12901]

MCO: 12902		Name: JMF		Date:  2-May-86:06:57:59


[Symptom]
MONPFH is too big, too slow, and too ugly. It can also wipe out the virtual
time interval setup by the user program.

[Diagnosis]

1) There are a couple of places where it clears the entire paging memory when
clearing it only for the page in question would do just fine.
2) Even though symbolic stack offsets are defined for the range check locations
on the stack, PFHTIM uses hard coded numeric offsets.
3) If the first fault time is zero, it sets .PDTMI to 60 tics. Thus, a user
program can only setup the value for .PDTMI after the first page fault.


[Cure]

1) CLRPGT => EXCTUU <CLRPT uva>
2) Use defined stack offsets. Saves about five words as well since PUSHs can
be replaced by DMOVEMs.
3) Only store in .PDTMI if its already zero.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704		MONPFH	PFHTM4,PFHTM5,PFHAAF
703A	306


[End of MCO 12902]

MCO: 12906		Name: KBY		Date:  8-May-86:11:17:42


[Symptom]
Stopcode BAC on LOGOUT trying to return free core at address 0.

[Diagnosis]
Code in CTXSER assumes there's always at least one block to return,
even if the count says there aren't.  Technically, there always should be one
block to return, but this is the *REAL WORLD*.

[Cure]
If the count says there aren't any, just go away.

[Keywords]
PFHJOB complex

[Related MCOs]
11102

[Related QARs]
None

[MCO status]
None

[MCO attributes]
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	307	CTXSER	CTXLGO
704	


[End of MCO 12906]

MCO: 12907		Name: KBY		Date:  8-May-86:11:22:30


[Symptom]
Stopcode PFHJOB; also possible IME or DI hang latter symptoms
on SMP only).
Job hung in NAp state forever at LOGOUT.

[Diagnosis]
If a user has no context blocks, .CPJCH gets set to zero when
the job runs.  This can cause us to put a job number of 0 in a DDB (causing
the PFHJOB, IME, or DI hang), or, if we go through the SLEEP code, to enter
a clock request for job 0 which never wakes us up.

[Cure]
Set .CPJCH to .CPJOB if there aren't any context blocks (i.e. CTXJCJ
gives the error return).

[Keywords]
PFHJOB complex.

[Related MCOs]
11102, 12906

[Related QARs]
None

[MCO status]
None

[MCO attributes]
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	307	CLOCK1	CIP70
704	


[End of MCO 12907]

MCO: 12908		Name: KBY		Date:  8-May-86:11:28:12


[Symptom]
User manages to ^C out at an inopportune time; this can lead to
all sorts of problems (like the "legitimate" case mentioned in MCO 12905).

[Diagnosis]
Nothing to stop him from getting out.

[Cure]
Invent new JBT table (overlapped as left half of JBTSG2, so that
we don't chew up any more address space; note that JBYSG2 moves to the
right hand 5 bits of the word) JBTCCC which contains the negative (easier
to check) count of routines who do not want the user ^Cable even though he
may be in a ^Cable state (from the point of SIMCHK).  The particular
case in question was at STMAPE, so use the count there.  This count
is checked by SIMCHK.

[Keywords]
PFHJOB complex

[Related MCOs]
12095

[Related QARs]
None

[MCO status]
None

[MCO attributes]
Documentation change
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	307	CLOCK1	SIMCHK
704		CPNSER	UNCACC
		COMMON	JBTSG2,PSG2LH


[End of MCO 12908]

MCO: 12914		Name: KBY/RCB		Date: 13-May-86:08:17:58


[Symptom]
Asynchronous TTY output can hang if the program is virtual.

[Diagnosis]
We will only get to TTYFLT from the asynch output routine
(TTMORE) if the PC is in user mode; this may or may not be the
case at the times when the PC is checked (at clock level before
dismissing to the job).  Even if we get to TTYFLT, since PFH is
quite solidly bent on restarting the user in user mode, he can thrash
out the page TTYFLT pulled in by the time we get to TTMORE again (next
clock tick at the earliest).

[Cure]
Get rid of TTYFLT.  Move TTMORE to running always at UUO level.
When dismissing to the job, if the PC is in exec mode, let it
be caught at UUO exit.  If it is in user mode, initialize a UUO level
stack, put the continuation PC as the return PC, and act as if we were
returning from a UUO (thus going through TTMORE).
	Use PFHGWD which will fault in the page and continue in exec mode
if a buffer is paged out.  Give an addressing error if it fails.  The PC
given will probably reflect the continuation PC; this can be fixed later
although I don't think the right PC is really available anywhere.

[Keywords]
virtual
asynch TTY output

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	307	VMSER	TTYFLT
704		CLOCK1	CIP8
		UUOCON	USRXNT
		SCNSER	MORE50


[End of MCO 12914]

MCO: 12915		Name: DPM		Date: 14-May-86:03:21:24


[Symptom]
     Customers with unsupported ANF-10 remote devices such as plotters
cannot MONGEN their monitors with those devices.

[Diagnosis]
     The questions in MONGEN are REPEAT zeroed out  instead  of  being
available  if  the  appropriate unsupported features are selected with
MUNGEN.

[Cure]
     Make remote PTPs, PTRs, and PLTs available in MUNGEN.

[Keywords]
ANF-10 REMOTE DEVICES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	MONGEN	ANFNNM

703A	


[End of MCO 12915]

MCO: 12917		Name: KBY		Date: 15-May-86:23:05:29


[Symptom]
After fixing up the callers last week so user PFHs should work, things
are worse than before.

[Diagnosis]
Too many 1 1/2 word PCs around, including the one word PC USRFLT
gets called with which it tries to find out whether or not the page fault was
incurred in a non-zero section (by checking the flags as a section number) so
it can bomb out the user.  Code to jump into the user PFH is equally shaky,
causing IMEs.
	Unfortunately fixing USRFLT to accomodate double word PCs entails
fixing all its callers to give it double word PCs, which spills over into the
arithmetic/floating overflow code, and other APRENB related things.
	Arithmetic/floating overflows occuring in non-zero sections where
the user tried to use APRENB to trap them drop the user into section 0 at
his trap routine but can't store a double word PC to tell him where the fault
was incurred.

[Cure]
Change all these things to accomodate double word PCs.  If the user
is trapping for arithmetic/floating overflow with APRENB and the exception
in incurred in a non-zero section, bomb the user with

	?Arithmetic overflow at extended user PC xxxxxxx

[Keywords]
overflow
APRENB
user PFHs.

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	VMSER	USRFLT
704		KLSER	SEILM,SUILM,SAROVF
		KSSER	SEILM,SUILM,SAROVF
		COMMON	CTUUO
		ERRCON	APRILM


[End of MCO 12917]

MCO: 12918		Name: KBY		Date: 15-May-86:23:10:51


[Symptom]
We were a little hasty in making it so users can't get a PFH merged
into their image.  It turns out there are actually three things that can happen
anyway, so use them to cause three different actions:

	.JBPFH contains 0:  user default (monitor's PFH).  This case used
	to merge in SYS:PFH; it now users the interal PFH.

	.JBPFH=end,,start of user PFH:  use user's PFH included in currently
	running image.

	.JBPFH=non-zero,,0:  Used to mean user turkeyed .JBPFH, and thus
	merge in SYS:PFH.  Now grants an ?Ill mem ref.  Use it to mean merge
	in SYS:PFH.

[Diagnosis]
Because it's there.

[Cure]
Why not?

[Keywords]
PFH

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	VMSER	GETPFH
704	


[End of MCO 12918]

MCO: 12920		Name: KBY		Date: 15-May-86:23:21:04


[Symptom]
Wasted CPU cycles.

[Diagnosis]
If a job is blocks for a sharable resource, then we notice
it's available in the schedular, we check if the job is being forced
out by the swapper, and, if not, give it the resource.  We then check
other reasons that the job might not be runnable and reject it if it doesn't
pass (for example, not runnable wrt cache).  Unfortunately, we've already
given this job the resource so that if anyone else wanted it they can't
run until this job can.

[Cure]
Don't give job the resource until we're sure it's runnable.

[Keywords]
sharable resource waits

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	SCHED1	SCHEDA,SCHEDC,SCHDC2
704	


[End of MCO 12920]

MCO: 12921		Name: KBY		Date: 16-May-86:09:20:25


[Symptom]
Monitor won't run with FTMPFH off.

[Diagnosis]
Hopeless case.

[Cure]
Turn it on permanently.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	VMSER
704		UUOCON
		COMMON
		FGEN


[End of MCO 12921]

MCO: 12922		Name: JAD		Date: 19-May-86:11:06:21


[Symptom]
In an SMP configuration, adding a CPU which was never started or
which had been REMOVEd may cause the CI disks to go offline.

[Diagnosis]
KONCAM gets set when the virtual circuit to the HSC50 is opened.
However, the disks aren't actually brought online for some time
afterward, so there is a window in which FILSER thinks it can
start I/O to a disk when RAXKON won't accept it.

[Cure]
Duplicate KONCAM in the UDB (UNICAM) and make FILSER and friends
test UNICAM rather than KONCAM.  Actually speeds up I/O somewhat
since we don't need to fetch the KDB address to get the bit map.
KONCAM remains for cases where the KDB might exist but no units
were ever detected (I think this only can happen for RP20 or CI
disks), and also for simplistic loops in the DIAG. UUO code.
Also, replace references to the LH of UNIALT with references to
the RH of UNICAM.

[Keywords]
CI DISKS
KONCAM
OFFLINE
ADP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	310	AUTCON
		COMMOD
		COMMON
		CPNSER
		FILFND
		FILIO
		ONCMOD
		RAXKON
		SYSINI
		VMSER

704	


[End of MCO 12922]

MCO: 12926		Name: DPM		Date: 20-May-86:07:42:24


[Symptom]
     AUTCON may configure TU7x tape drives on a  DX10  with  incorrect
densities  or  tracks.   Sometimes,  drives  that  were  usable become
unusable.

[Diagnosis]
     The behavior of certain types  of  DX10  failures  is  not  fully
understood.   Occasionally,  the  CONI  to  read the drive sense bytes
suceeds but returns incorrect data.  While this failure is part  of  a
much  larger problem, the can defend against stale sense byte data and
making usable drives unusable.

[Cure]
     Before reading the sense bytes, clear out the storage area.  This
will cause the monitor to ignore drives when the DX10 fails to fill in
the sense data block, thus preventing illegal conbinations of  density
and  tracking information to be stored in the UDBs.  Also, if the unit
has already been configured, don't do it again.  Although the CONI  to
read the sense bytes should return identical data each time, this will
prevent drive characteristics from being changed by a DX10 failure.

     This patch  only  really  addresses  the  symptoms  and  not  the
problems  themselves.   It should, however, make the real problem more
tollerable until a complete solution is found.

[Keywords]
DX10 AUTOCONFIGURE

[Related MCOs]
None

[Related SPRs]
35070, 35414

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	TX1KON	TX1CF1

703A	


[End of MCO 12926]

MCO: 12928		Name: JAD		Date: 20-May-86:12:16:23


[Symptom]
Characters output from MIC can be lost when the MIC master
job is running in a high priority queue.

[Diagnosis]
MICWAK in SCNSER calls WAKJOB in UUOCON which eventually
steps on T3 (the character being output).

[Cure]
Have MICWAK save/restore T3 around the call to WAKJOB.

[Keywords]
MIC

[Related MCOs]
None

[Related SPRs]
35366

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	SCNSER	MICWAK

704	


[End of MCO 12928]

MCO: 12929		Name: JAD		Date: 21-May-86:11:52:02


[Symptom]
The message printed when a disk drops off line is not of the
highest quality.

[Diagnosis]
The operator is told "Please power the unit down and turn
it on again", which is not recommended for RP07s.  It also
can cause a KAF stopcode if the drive is dual-ported and
some other CPU tries to start I/O on it.

[Cure]
As a first pass, change the wording of the message, to wit:

	Operator intervention is required for this unit.


[Keywords]
TELOPR

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	FILIO	TELOPR

704	


[End of MCO 12929]

MCO: 12932		Name: JAD		Date: 21-May-86:15:37:29


[Symptom]
Adding a REMOVEd KLIPA usually results in KLPNMG events.  At
the very least the KLIPA probably won't be usable after it
is ADDed.  Forcibly loading the KLIPA ucode doesn't cause
open virtual circuits to get closed in a timely fashion.

[Diagnosis]
Not calling the right subroutines in these cases.

[Cure]
Yes

[Keywords]
KLIPA RELOAD
CONFIG

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	KLPSER	DIALOD,DIADM1

704	


[End of MCO 12932]

MCO: 12933		Name: JAD		Date: 21-May-86:17:17:48


[Symptom]
Internal clustering of the TOPS-10 machines will require some
way to keep disks on the HSC50 from being mounted to "foreign"
systems.

[Diagnosis]
Gee, I remember some guy invented a whizzy feature called the
Uncommon File System (disk sets) a while back.  Maybe we should
turn it on and see what it does for us ...

[Cure]
Edit FGEN to turn on FTSETS for KLFULL and KSFULL.

[Keywords]
DISK SETS
UNCOMMON FILE SYSTEM

[Related MCOs]
11898

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	FGEN	FTSETS

704	


[End of MCO 12933]

MCO: 12934		Name: JAD		Date: 22-May-86:12:38:16


[Symptom]
One must edit LATSER to change the maximum number of simultaneous
circuits which will be allowed.  If we ever stop shipping the source
to LATSER some customers which have lots of DECSERVER-100's will be
up a creek.

[Diagnosis]
Hardcoded values in COMDEV and LATSER should have been defined
via the MONGEN dialogue.

[Cure]
Add two questions to MONGEN if LATSER is included:

	# of simultaneous LAT circuits(20,1-*)
	# of LAT connections(1,1-*)

Maxima are, respectively, 100 and 512 (decimal).

[Keywords]
LATSER

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	COMDEV	NTTLAH
		LATSER	MAXCIR
		MONGEN	ASKLAT

704	


[End of MCO 12934]

MCO: 12935		Name: WXD		Date: 22-May-86:14:12:35


[Symptom]
DECnet stops working correctly.  The -10 sees all the nodes
on the ethernet, but isn't seen by any of the nodes.

[Diagnosis]
The -10 has stopped sending ethernet hello messages.  This
is caused by the -10 getting an overflow when calculating the DECnet
time (milliseconds of uptime), which is then used to determine when
to send the next message.  The algorithm is:
	MOVE	T1,SYSUPT
	IMULI	T1,1000.
	IDIVI	T1,JIFSEC
This overflows at 159 hours, 4 minutes, 22 seconds, and 19. ticks (60hz).

[Cure]
Change IMULI -> MULI, and IDIVI -> DIVI

This algorithm won't overflow until 9544 hours of uptime (395+ days).

[Keywords]
DECnet

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	D36COM	DNGTIM

704	


[End of MCO 12935]

MCO: 12937		Name: KBY		Date: 23-May-86:10:23:21


[Symptom]
Can't merge a program (like VMDDT) into a core image
(in an empty section) if there isn't a free page in section 0
(like in a dump) to read the .EXE directory into.

[Diagnosis]
There are actually 2 problems:
1.  No page for the directory.
2.  Code thinks it needs to diddle around with page 0 and needs
    another free page in order to do that.

[Cure]
1.  Use whizzy routine that temporarily removes a page from
the core image to free a page for the directory and puts it back
when done (if not overwritten).
2.  If merging into a non-zero section, just read page zero of the
    .EXE file into page zero of that section.

[Keywords]
MERGE
HUGE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	SEGCON	GETEXE,GTLOOP,GETFI4
704		COMCON	SAV2,RELDX3


[End of MCO 12937]

MCO: 12940		Name: KBY		Date: 23-May-86:10:30:58


[Symptom]
IME seen, other scenarios possible.

[Diagnosis]
Although it appears possible to get to UNLOCK at clock
level, it assumes it's at UUO level and attempts to fix .CPADR.

[Cure]
Don't change .CPADR unless the job in question (in J) matches
 .CPJOB.  Potentially, we ought to fix .CPADR on any CPU running the job,
but it appears that the only time we get here at clock level with the
job possibly running is when we're going to clobber it anyway
(NXM, memory parity error), so it seems only important to NOT clobber
 .CPADR when it refers to some other job.

[Keywords]
unlock

[Related MCOs]
None

[Related SPRs]
31340

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	LOKCON	FRELK2
704	


[End of MCO 12940]

MCO: 12942		Name: JAD/WXD		Date: 23-May-86:15:28:07


[Symptom]
The orange toad turned into an orange pig in 7.03.

[Diagnosis]
An alternate monitor context was invented on the 2020 in 7.03 so DECnet
could consume loads of address space.  The address space was really
only needed to hold the name/address mapping information for the 1000's
of nodes in the engineering network.  In the real world all the new
features in 7.03 would have fit without forcing customers to accept an
expensive solution to OUR problem.

[Cure]
Accept the fact the 2020 doesn't support multiple sections.  Remove the
alternate monitor context.  Use unmapped physical pages to hold the name/
address mapping information.  Gain back the "overhead" involved in doing
all those page refills when switching between monitor contexts.

[Keywords]
PERFORMANCE
ORANGE PIG
TOPS-20 EMULATION MODE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
Documentation change
KS10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	CLOCK1
		COMMON
		COMNET
		D36PAR
		KSSER
		NRTSER
		S
		SCLINK
		SCMUUO
		SYSINI
		UUOCON
		VMSER

704	


[End of MCO 12942]

MCO: 12943		Name: JMF		Date: 27-May-86:07:04:15


[Symptom]
Poor SMP performance (jobs waiting for MM more than necessary).

[Diagnosis]
SHARE unconditionally gives up the MM and then goes to see if we
are putting the segment in a non-zero section (which we normally aren't) and
then gets the MM back.

[Cure]
Have CRESP0 call REMMM iff we have to create a section.

[Keywords]
Performance

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	SEGCON	SHARE,CRESP0

704	


[End of MCO 12943]

MCO: 12944		Name: KBY		Date: 27-May-86:07:26:53


[Symptom]
Buffers output in the wrong order on EVM devices.

[Diagnosis]
IADCKL now has three returns; the EVM code to handle the
three cases doesn't match the non-EVM code.

[Cure]
Make code match; to whit, the "page not in core" return needs to
update the pointer to the next buffer (in DEVEVM) before stopping the
I/O.  This needs to be done for INPUT as well (DECtapes and card readers).

[Keywords]
LPTSPL

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	UUOCON	ADVBFF,ADVBFE
704	


[End of MCO 12944]

MCO: 12945		Name: KBY		Date: 27-May-86:07:34:23


[Symptom]
Jobs ^Cable when they really shouldn't be, potentially leading
to problems of the BAC/PFHJOB complex.

[Diagnosis]
If JERR is on when we get to JOBKL, the job becomes ^Cable
even though it's in a resource wait, running in the monitor, etc.

[Cure]
Turn off JERR before calling CTXLGO; be sure it stays off while
calling CTXLGO.

[Keywords]

[Related MCOs]
11102

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	CTXSER	SWTCT2
704		COMCON	JOBKL


[End of MCO 12945]

MCO: 12949		Name: JAD		Date: 30-May-86:15:26:06


[Symptom]
Access to the CI20 and NIA20 queues takes a long time.

[Diagnosis]
The queues contain physical addresses.  Each reference
requires a call to a routine to temporarily make the address
accessible via a virtual address.  This is a big lose when a
lot of queue shuffling takes place.

[Cure]
Use the physical MOVE/MOVEM instructions in KL microcode
version 436 or later.  Bit 4 of the APRID word indicates if
the microcode supports this feature.  Reduces the cost of
physical memory reference from 37 instructions plus two
CLRPGT's to 4 instructions.

[Keywords]
PHYSICAL MOVE/MOVEM

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	303	COMMON	.CPPMV
		DATMAN	PMOVE,PMOVEM
		KLPSER	SOME
		KNISER	MORE
		S	ID.PMV

704	


[End of MCO 12949]

MCO: 12955		Name: JAD		Date:  4-Jun-86:11:38:20


[Symptom]
Problem with MCO 12934.

[Diagnosis]
LAT terminals come out of the network LDB pool.  Asking
a separate question about the number of LAT terminals in
the network section of MONGEN is misleading.

[Cure]
Until we get daring and have all the network LDB users
have their own pool (HAH!) remove the question about the
number of LAT terminals.  Still leave the question about
the maximum number of circuits in MONGEN.

[Keywords]
LAT

[Related MCOs]
12934

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	303	COMDEV	NTTLAH
		MONGEN	ASKLAT

704	


[End of MCO 12955]

MCO: 12958		Name: TL		Date:  7-Jun-86:23:20:41


[Symptom]
Sore elbows.

[Diagnosis]
People end up standing on their elbows to create their own system-specific
MONGEN.MIC/MONGEN.CTL files.  

Elbows weren't meant for standing on.  Most people have trouble trying.

[Cure]
Teach MONGEN to output MONGEN.MIC, a file which will re-construct
the user's responses to the MONGEN dialogs.  MONGEN.MIC obeys the following
slightly weird rules:

1. In 7.03 A, there is a MUNGEN feature, "MICGEN", which enables the question:
	Write MONGEN.MIC(Y,N)[etc...]: 
   If answered N, the file will not be written.

2. In 7.04 and beyond, the MICGEN option goes away, and the question will
   always be asked.

3. MONGEN refuses to supersede a previously existing MONGEN.MIC file.
   Therefore, one would usually .RENAME <anyname.mic>=MONGEN.MIC

4. MONGEN.MIC contains, as comments, the /HELP:PROMPT level of each question.

5. Erroneous input is duly recorded, but the question appears only once.
   This enables one to go back and easily find one's mistakes.

6. A couple of questions with peculiar prompts (eg: "SYMBOL,VALUE")
   are not currently logged as comments, although the responses are.

[Keywords]
MONGEN
MUNGEN
MICGEN
ELBOWS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
Beware file entry required
Documentation change

[BEWARE text]
MONGEN now has the latent capability of producing a .MIC/.CTL
format typescript of your session.  See MCO 12958 for details.  MONGEN
will announce when it does NOT write such a file.  The error is a
warning ("%") error, but could break some control files.

To enable the capability, Use the MUNGEN INCLUDE MICGEN command.

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		MONGEN	MICXXX

704	


[End of MCO 12958]

MCO: 12961		Name: KBY		Date: 12-Jun-86:15:08:59


[Symptom]
Possible confusion if an interrupt occurs on the policy CPU while
it is in the progress of LOCKing a job physically contiguous in core, and
the page the UPT needs to occupy is also part of the job which is LOCKing.

[Diagnosis]
If we take an interrupt after the UPT data has been exchanged
with the data page, and before we've fixed up the SPT and JBTUPM, and
the page with which the UPT was exchanged with contains an "interesting"
number in relative location .UPJOB, SVEUB does the wrong thing.

[Cure]
Turn off the PIs on the executing (policy) CPU while things
are in transition.  Note that since the job is not runnable AND we are
on the policy CPU, the job should not be mapped any place else nor should
any interrupt occur for it on another CPU, so turning off the PIs on the
executing CPU only should be sufficient.  We are running on the NULPDL so
there should also be no problems with inadvertant references to data
residing in the UPT.

[Keywords]
LOCKing.

[Related MCOs]
None

[Related SPRs]
35459

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	303	LOKCON	LOCK13
704	


[End of MCO 12961]

MCO: 12963		Name: JAD		Date: 13-Jun-86:10:47:36


[Symptom]
Long wait while ONCE checks if all CPUs are running.

[Diagnosis]
ONCCPU tries to circumvent the wait by substituting a short
time for the wait time.  However, there is another wait loop
in CPUXCT, which waits for the CPU to start processing the
request.  The time for this wait loop never gets changed, so
we wait longer than ONCCPU wanted us to.

[Cure]
Add another flag to the XCTCPU macro, XC.SHT, which indicates
the caller desires a short wait time.

[Keywords]
XCTCPU
Long wait

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	304	ONCMOD	CPUXCT

704	


[End of MCO 12963]

MCO: 12964		Name: JAD		Date: 13-Jun-86:19:44:15


[Symptom]
Stopcode KAF, others likely, when removing a CPU or a KLIPA.

[Diagnosis]
STPKLP puts the KLIPA in the disabled state, but never resets
the port.  It appears the KLIPA can interrupt while disabled.
Even if it can't, we should really stomp on the critter when
stopping it.

[Cure]
Add a JFCL after calling DISKLP so we do a CONO KLP,CO.CPT.

[Keywords]
KLIPA
PPDRMV

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	304	KLPSER	STPKLP

704	


[End of MCO 12964]

MCO: 12968		Name: KBY		Date: 19-Jun-86:13:19:34


[Symptom]
?Swap read error on fragmented swap on the KS

[Diagnosis]
One more stack entry used on the KS

[Cure]
-10(P)-->-10-IFN FTKS10,<1>(P)

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
KS10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	305	VMSER	THIS
704	


[End of MCO 12968]

MCO: 12970		Name: JAD		Date: 23-Jun-86:14:44:46


[Symptom]
BOOTing 7.04 will be a real hassle.

[Diagnosis]
BOOT, for historical reasons, always loads high segments
immediately following low segments.  This is a real pain if
the monitor contains several PSECTs, since where ONCE thinks
the monitor was loaded may not necessarily be correct.

[Cure]
Always load .EXE files into the physical pages specified
in the .EXE directory.  This makes it simple for ONCE to move
pages around to set up the final monitor mapping.  Remove the
code in ONCE which checked for the "old" case.

[Keywords]
BOOT
HIGH SEGMENTS
PSECTS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	305	ONCE	ONCE4C

704	


[End of MCO 12970]

MCO: 12971		Name: JAD		Date: 23-Jun-86:22:17:37


[Symptom]
CPUx gets a KLPSWO event for CPUy's CI node number when CPUy
is ADDed after it had been REMOVEd via CONFIG.

[Diagnosis]
CPUx gets a no response error back from the ID request it
sent to CPUy.  It then lights some status bits and does nothing.

[Cure]
If both paths are no response status, close any open virtual
circuit.

[Keywords]
KLPSWO

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	305	KLPSER	RIDERR

704	


[End of MCO 12971]

MCO: 12974		Name: JAD		Date: 26-Jun-86:10:20:54


[Symptom]
Doing a FILOP. UUO "open for super I/O" function (.FOSIO) doesn't
do anything to indicate subsequent super I/O for that DDB should
be allowed. If someone patches SETSUP to disable super USETI and
USETO, UFDSET will fail with an illegal instruction error when it
tries to recompute disk usage.

[Diagnosis]
No code.

[Cure]
Add code.  Light a bit in DEVPTB which indicates a FILOP. open for
super I/O was executed.  Test the bit in SETUP and allow super
USETI/USETO if the bit was set regardless of whether the patch
to disable super I/O is inserted.

[Keywords]
SUPER I/O
 .FOSIO
UFDSET

[Related MCOs]
None

[Related SPRs]
35513

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	306	COMMOD	DEVPTB
		FILIO	SETSUP
		UUOCON	FOPVM6

704	


[End of MCO 12974]

MCO: 12975		Name: JAD		Date: 26-Jun-86:11:00:20


[Symptom]
Error reading a RIB can lead to a subsequent PDA stopcode.

[Diagnosis]
User got a RIB error doing output and eventually did a CLOSE.
This time the RIB was read successfully, but the stuff left in
the pointer area of the DDB from the last error didn't agree
with what was just read.

[Cure]
Have PTRCUR exit via DDBZR if it has an error reading a RIB.

[Keywords]
RIB ERROR
PDA

[Related MCOs]
None

[Related SPRs]
30743

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	306	FILIO	PTRCUR

704	


[End of MCO 12975]

MCO: 12979		Name: RCB		Date:  1-Jul-86:05:39:25


[Symptom]
Can't define terminal types with more than 63 lines, even though such
terminals exist, and the TTY LENGTH <n> command accepts 0-255.

[Diagnosis]
6-bit byte field.

[Cure]
Redistribute some bits in TCRTAB to allow for 8-bit bytes.

[Keywords]
MONGEN
TTY TYPE

[Related MCOs]
None

[Related SPRs]
35370

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		COMDEV	TTPLNB,TTPFRM,TTPTAB,TTPLCT,TTPALT,TTPDIS,TTPNFC,TTPXNF,TTP8BT,TCRTAB
704	


[End of MCO 12979]

MCO: 12980		Name: RCB		Date:  1-Jul-86:07:39:18


[Symptom]
User programs get confused by line sequence numbers in their input buffers
from TSKs and network CDRs.

[Diagnosis]
Junk left in buffer.

[Cure]
BUFCLR when about to fill a buffer.

[Keywords]
LSN

[Related MCOs]
None

[Related SPRs]
31896

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		NETSER	NTDSIB
704	


[End of MCO 12980]

MCO: 12981		Name: JAD		Date:  1-Jul-86:14:11:52


[Symptom]
Monitor's load balancing across structures sometimes can cause
an ENTER to exceed the user's quota.

[Diagnosis]
FNDFIL calls UFBSZ to find a structure in the job's search
list which has free blocks AND which the user also has UFBTAL
greater than zero.  In most cases this works just fine.  But,
if UFBTAL happens to be less than the number of blocks tried
for on output (UNIGRP), the structure UFBSZ selects for the
ENTER shouldn't be used, since the ENTER will cause the user's
quota to be exceeded.

[Cure]
Make sure UFBTAL for any particular structure is at least
equal to (or greater than) UNIGRP.  This will make subsequent
ENTERs succeed, unless the user has specified an allocation.
In that case, FILFND can't do a whole lot more and they'll
eventually get a quota exceeded error.

[Keywords]
UFBTAL
UNIGRP
UFBSZ

[Related MCOs]
None

[Related SPRs]
31615

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	306	FILFND	UFBSZ

702A	

704	


[End of MCO 12981]

MCO: 12982		Name: JAD		Date:  1-Jul-86:16:25:23


[Symptom]
KAF if someone LOCKs a (the last) structure in the ASL.

[Diagnosis]
SWPSER won't write to a unit which has been locked against new
accesses.  Unfortunately, if that's the only unit in the ASL,
the system will quickly KAF.  Also, we can wind up trashing
location 55 with 200,,0 (UNPNNA) when calling RMVSTR if the
structure has a unit in the ASL.

[Cure]
Call CHKSWP in the "lock structure" code.  Teach CHKSWP to
preserve U so the caller has something useful to twiddle bits
in when CHKSWP returns.

[Keywords]
LOCK STRUCTURE
KAF

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	306	FILFND	LOKSTR,CHKSWP

704	


[End of MCO 12982]

MCO: 12983		Name: DPM		Date:  2-Jul-86:07:34:14


[Symptom]
     CDRIVE and IBMSPL return "DN60 not running" error messages  after
setting the DTE protocol type with DTELDR.

[Diagnosis]
     In DTESER, the routine DTEQUE will queue up messages to  a  front
end  only if the protocol type is set to ANF or NOBODY (RSX-20F).  The
CAL11. UUO depends on this routine to communicate with DN60s.

[Cure]
     Allow front ends whose protocol type is set to  IBM  to  use  the
DTEQUE routine as well.

[Keywords]
DN60
DTELDR
PROTOCOL

[Related MCOs]
None

[Related SPRs]
35310

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	307	DTESER	DTEQUE

703A	


[End of MCO 12983]

MCO: 12985		Name: DPM		Date:  9-Jul-86:04:46:31


[Symptom]
     RSX-20F terminals that SET HOST to another system via  ANF10  can
echo incorrectly if SET TTY ALTMODE is in effect.

[Diagnosis]
     NETVTM assumes it is alright to echo locally any character in the
range  of  octal 40 to 176.  Therefore, altmodes 175 and 176 echo as a
normal printing character on the local  system.   The  remote  system,
however,  will  convert  the  character  to an escape and echo it as a
dollar sign.

[Cure]
     Don't do local echoing of altmodes 175 and  176  if  the  altmode
conversion bit is turned on.

[Keywords]
SET HOST
ALTMODE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	307	NETVTM	VTMRE3


[End of MCO 12985]

MCO: 12986		Name: JAD		Date:  9-Jul-86:08:24:59


[Symptom]
Operator confusion.

[Diagnosis]
If RPA0 is down, typing "ATTACH RPA0" responds with the usual
monitor dot after the command is processed.  If the command is
typed a second time before a pack is mounted, the monitor will
respond with "?ATTACH RPA0?".  Since the command is essentially
a no-op, it seems reasonable to just ignore the command, rather
than making someone think there is an error.

[Cure]
If the unit status is "no pack mounted" pretend the command
did something useful (ignore the command).

[Keywords]
ATTACH

[Related MCOs]
None

[Related SPRs]
31489

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	307	FILIO	ATTUN0

704	


[End of MCO 12986]

MCO: 12987		Name: JAD		Date:  9-Jul-86:09:14:46


[Symptom]
If one port of a dual-ported disk goes offline, cycling the
drive off and on may cause KAF stopcodes when the monitor
attempts to do a transfer via the alternate port.

[Diagnosis]
After one port gets put in operator wait state FILIO appears
to be very happy to pick the alternate port to perform I/O.

[Cure]
Propagate the operator wait state (UNISTS) to the alternate
port before re-enabling disk interrupts.  The free interrupt
when the drive is cycled will get both ports back (I think).

[Keywords]
OFFLINE
KAF STOPCODE
DUAL-PORTING

[Related MCOs]
None

[Related SPRs]
30656

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	307	FILIO	BADUNI

704	


[End of MCO 12987]

MCO: 12989		Name: JAD		Date: 14-Jul-86:10:42:14


[Symptom]
A CI20 or NIA20 which is inaccessible at system startup can't
be added via the AUTOCONFIGURE command to CONFIG(OPR).

[Diagnosis]
The code didn't work originally; once it started working,
a POPJ in the UUO-level auto configuration never got turned into
a JRST.

[Cure]
POPJ => JRST CNFIPA

[Keywords]
IPA CHANNELS
AUTOCONFIGURE
AUTCON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	307	AUTCON	UCNFIG

704	


[End of MCO 12989]

MCO: 12990		Name: WXD/DPM		Date: 15-Jul-86:04:26:18


[Symptom]
KNISER ignores the KLNI microcode that might reside in BOOT.
It always calls KNILDR to reload the KLNI.

[Diagnosis]
KNISER doesn't know how to load it's own microcode.

[Cure]
Add code.  If the microcode doesn't exist, or a dump has been
requested, call KNILDR.  Otherwise, always attempt to load the
microcode stored in BOOT.

[Keywords]
KLNI MICROCODE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	307	KNIPRM	.PBLEN
		KNISER	KNILOD

703A	


[End of MCO 12990]

MCO: 12991		Name: RCB		Date: 15-Jul-86:07:04:24


[Symptom]
Debugging SMP isn't what it ought to be, especially if the CPU that hits a
breakpoint isn't the boot CPU.

[Diagnosis]
CPNDDT was defined years ago, but no way was invented for EDDT to reference
it, so it never gets used.

[Cure]
Extend the EDV to give EDDT a handle on CPNDDT.  Add two new words:
	.EDCPN	- (11) Physical address of CPNDDT
	.EDCPU	- (12) AOBJN pointer to table of APR serial numbers
This gives EDDT enough information to find the current CPU number and light
the appropriate bit in CPNDDT without requiring random external symbols to be
referenced by EDDT.

This also adds ASNTAB to COMMON.  This is the table pointed to by .EDCPU,
which is set up by SYSTR0.

[Keywords]
CPNDDT

[Related MCOs]
None

[Related SPRs]
35462

[MCO status]
Checked

[MCO attributes]
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	307	S	.EDLEN
704		COMMON	.CPEDV,ASNTAB
		UUOSYM	.EDLEN


[End of MCO 12991]

MCO: 12993		Name: RCB		Date: 15-Jul-86:07:13:58


[Symptom]
More complicated to set up mapping of a crash in FILDDT than it should be.

[Diagnosis]
No way for FILDDT to know what we want set up.

[Cure]
In DIE, when taking a dump, leave tracks.  This extends the EDV by yet another
word, .EDCAC (13), the physical address of the virtual address of the crash AC
block.  DIE will set up .JBEDV with the EDV of the crashing CPU for the
duration of the dump, after which it will restore the incoming value (in case
you're also debugging with EDDT and need to keep the hidden symbol blocks
around).

[Keywords]
EDV

[Related MCOs]
12991

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	307	S	.EDLEN
704		UUOSYM	.EDLEN
		COMMON	.JBEDV
		ERRCON	DIE1,RESTR0


[End of MCO 12993]

MCO: 12994		Name: DPM		Date: 17-Jul-86:09:04:06


[Symptom]
     If DN87S or DN20 based ANF front end dies while  in  a  quiescent
state,  and  there is no DTELDR job running in /AUTOMATIC mode, NETSER
never notices the node dropped offline.

[Diagnosis]
     When there is no traffic between the  -10  and  the  -11,  D8SINT
never  checks the state of the -11.  NETSER is never made aware of the
node going offline, and is  unable  to  inform  the  operator  of  the
topology change.

[Cure]
     Once a second, have D8SINT check the DTE reload bit.   If  it  is
set,  and  no DTELDR job is running, declare the node down.  This will
cause NETSER to send the appropriate message to the operator.

[Keywords]
DN87S

[Related MCOs]
None

[Related SPRs]
32381

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	D8SINT	D8SDSP,D8SSEC
		DTESER	DTRJOB


[End of MCO 12994]

MCO: 12995		Name: JAD		Date: 17-Jul-86:11:14:24


[Symptom]
Kimo unhappy.

[Diagnosis]
When you mount a structure after ONCE time, the unit status
of the alternate port never gets updated from "no pack mounted".
Conversely, if you dismount a structure mounted during ONCE time,
the alternate port still says "pack is mounted".

[Cure]
Copy unit status (UNYUST) to alternate port when mounting or
dismounting a structure.

[Keywords]
UNIT STATUS
UNYUST
K(THE B STANDS FOR BLUE)Y

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	FILFND	DEFST4,REMUN

704	


[End of MCO 12995]

MCO: 12996		Name: JAD		Date: 17-Jul-86:12:16:22


[Symptom]
DECnet strangeness (other than the "expected" oddities),
like IMEs, etc., where no man has gone before.

[Diagnosis]
MCO 12767 invented a new calling mechanism for DECnet
modules to call other monitor modules (MCALL macro).  The
problem is that some invocations of the macro use MCSEC1
for the section number while others use MSEC1.  MCSEC1 is
defined as <1,,0> while MSEC1 is defined as 1.  Confusion
results when you call some of the routines in the wrong
section.

[Cure]
Since DECnet wants to use MSEC1, and since the MCALL macro
itself expects arguments in that form, change the MCSEC1
references in any MCALL macros to MSEC1.

[Keywords]
MCALL
DECNOT
WHY DO WE ALWAYS CALL ONE THING BY TWENTY DIFFERENT NAMES?

[Related MCOs]
12767

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	D36PAR	LOTS
		D36COM	OF
		LLMOP	BAD
		NTMAN	MACRO
		SCMUUO	CALLS

704	


[End of MCO 12996]

MCO: 12997		Name: JAD		Date: 17-Jul-86:12:25:42


[Symptom]
IME, etc., if a program intercepts hung device interrupts for a
device which uses Exec Virtual Memory (EVM).

[Diagnosis]
DEVHNG checks if the program enabled for hung device interrupts,
and if so, will start the job running in the interrupt handler.
If the tape hung during an I/O UUO, EVM was allocated for the
device and DEVIAD/DEVOAD were diddled to point at buffers in
EVM.  Subsequent I/O can cause IME's when trying to reference
the buffers in user memory using the EVM address still hiding
in DEVIAD/DEVOAD.

[Cure]
Call RTNEVM if giving the user a hung device interrupt.

[Keywords]
HUNG DEVICE
EVM

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	ERRCON	DEVHN0

704	


[End of MCO 12997]

MCO: 12998		Name: JAD		Date: 18-Jul-86:10:32:26


[Symptom]
Edgecombe is unhappy.

[Diagnosis]
Undefining the last pathological name spec for a job
doesn't delete the table of pathological names.

[Cure]
Delete the table if undefining the last pathological name.

[Keywords]
PATHOLOGICAL NAMES
RECLAIM SPACE

[Related MCOs]
None

[Related SPRs]
34743

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	FILUUO	PTHSL4

704	


[End of MCO 12998]

MCO: 12999		Name: JAD		Date: 18-Jul-86:12:31:32


[Symptom]
Edgecombe is unhappy.

[Diagnosis]
The maximum length of a pathological name specification is
127 (decimal) words.  He'd like to define longer (!) ones
but is limited by the width of the field which contains
the length of the spec (7 bits wide, max = 177).

[Cure]
Expand the field to 9 bits (max = 777) so his maximum
length of a pathological name specification could be 511
(decimal) words.

[Keywords]
PATHLOGICAL NAMES
MAXIMUM LENGTH

[Related MCOs]
None

[Related SPRs]
34744

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	COMMOD	LNMMXL,LNYLEN

704	


[End of MCO 12999]

MCO: 13000		Name: RCB		Date: 19-Jul-86:00:32:58


[Symptom]
CTHNRT (or NRT) will die with a ?NRTINA (Interlock Not Available) error.
LPTSPL will die with a NIP (No Interrupt in Progress) stopcode when driving
a terminal.

[Diagnosis]
TTMORE is clobbering the user's PC for PSISER.

[Cure]
Teach it that it's running at UUO level, so that it will work.

[Keywords]
TTMORE
ASYNCH. TTY I/O

[Related MCOs]
12914

[Related QARs]
928017

[MCO status]
Checked

[MCO attributes]
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	301	SCNSER	TTMORE,MORE50
704	


[End of MCO 13000]

MCO: 13001		Name: DPM		Date: 21-Jul-86:03:24:08


[Symptom]
	The "Host is available" message is not as informative as
it might be.

[Diagnosis]
	The -87 knows which hosts are available.  This information
could easily be displayed.

[Cure]
	Change the message to "Hosts are available:" followed by the
node names and number of the hosts on the network.

[Keywords]
ANF-10
HOST

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	301	DNCNFG	BLDHIA
		DNNCL	NCFCNF

703A	


[End of MCO 13001]

MCO: 13002		Name: DPM		Date: 21-Jul-86:04:23:24


[Symptom]
     MTIND. UUO sets an illegal density code of 10 in TDVSTS.

[Diagnosis]
     The illegal density code is caused by an incorrect definition  of
the  symbol  COMPAT  which indicates the default density/mode bits for
industry compatble mode.   However,  TAPUUO  will  try  to  force  the
default  1600  BPI  density  on  all  units  even when that density is
inappropriate for the particular unit.  This condition is corrected by
TxxKON modules, but the density range checking for TU78s is incorrect.

[Cure]
     Don't change density settings just  because  industry  compatible
mode is  being set.  Let the normal density  setting routine  (GETDEN) 
select the proper density.  Also, correct the density check in T78KON.

[Keywords]
DENSITY

[Related MCOs]
None

[Related SPRs]
35353

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	301	TAPUUO	TPM9TK,TPSETI
		T78KON	T78SI1

703A	


[End of MCO 13002]

MCO: 13003		Name: RCB		Date: 22-Jul-86:04:07:26


[Symptom]
Incoming NRT connects lose input characters due to no particular fault
of the user.

[Diagnosis]
DECnet's message buffering is causing NRTSER to choke SCNSER, and NRTSER
isn't noticing.

[Cure]
Move the pseudo-XOFF code from being CTERM specific to being NRTSER-wide.
This way, we won't do any DECnet receives for a line that SCNSER has threatened
to choke on.  As soon as SCNSER tells us it's willing to accept more characters
we'll give it another chance.

[Keywords]
NRT
Lost input characters

[Related MCOs]
None

[Related SPRs]
35393

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		NRTSER	NRB,NRTREM,NRTIN1
704	


[End of MCO 13003]

MCO: 13007		Name: RCB		Date: 22-Jul-86:06:16:49


[Symptom]
Problems with TTY CRLF and .TOFLM when mixing PIM mode and regular ASCII-mode
output.

[Diagnosis]
SCNSER thinks all characters are image, but the FE's know better.

[Cure]
Don't skip so much of regular XMTCHR when in PIM.  Just treat PIM output like
regular image-mode output, except for skipping the MIC stuff.

[Keywords]
PIM
TTY CRLF
COMFLM

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		SCNSER	XMTDSP,XMTPIM,ZAPBUF
704	


[End of MCO 13007]

MCO: 13008		Name: KBY		Date: 22-Jul-86:07:17:20


[Symptom]
High seg not always mapped correctly in EVM after LOCKing
it in core.

[Diagnosis]
Sometimes MAPHGH doesn't run for the job in doing the LOCK
for the high segment until after LOKEVM has copied the old map pointers
into the exec map.

[Cure]
Don't except setting REDOMP/SEGMB for the job doing the LOCK; this
will force MAPHGH to be called at clock level before the job is run
again (LOKEVM runs at UUO level).

[Keywords]
lock
EVM
high seg

[Related MCOs]
None

[Related SPRs]
35508

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
702A		LOKCON	LOCK22
703A	301
704	


[End of MCO 13008]

MCO: 13011		Name: RCB		Date: 23-Jul-86:09:20:28


[Symptom]
MIC BREAK is broken on old-style PTYs.

[Diagnosis]
Excess paranoia about how to deliver the ^B.

[Cure]
TLNE T2,LDLMCP!LDLMCB --> TLNE T2,LDLMCP

[Keywords]
MIC
OLD PTY

[Related MCOs]
None

[Related SPRs]
34173

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
702A		SCNSER	PTYMCK
703A	
704	


[End of MCO 13011]

MCO: 13013		Name: JAD		Date: 23-Jul-86:13:00:45


[Symptom]
AR/ARX parity trap on one CPU in an SMP configuration can cause
that CPU to hang on the DIE interlock.  Eventually some other CPU
breaks the interlocks and the original CPU gets a CIB stopcode.

[Diagnosis]
Tests in KLSER in the parity trap routine conditionally obtain
the DIE interlock if the trap didn't occur at APR interrupt level.
However, there are some paths through other monitor modules which
can get the DIE interlock when doing a sweep at clock level.  This
can cause a hang in KLSER waiting for the interlock we already own.

[Cure]
Make the DIE interlock recursive such that subsequent calls to
the interlock routine only increment the level of nesting.  Calls
to release the interlock are no-ops until the nesting unwinds.

[Keywords]
Parity traps
CIB stopcodes

[Related MCOs]
None

[Related SPRs]
35255

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	CLOCK1	APPSWP
		COMMON	.CPDIE,SPRIN5,DUMMYS
		CPNSER	LOKDIE,ULKDIE,BRKDIE,CHKDI3,BRKLO2
		ERRCON	DIE2,CPUST2
		KLSER	PRTRP,PRHF1A,PRHMF4,PRHMF5,PTXIT1
		S	DIELOK,DIENLK

704	


[End of MCO 13013]

MCO: 13014		Name: DPM		Date: 25-Jul-86:02:57:54


[Symptom]
     If SET WATCH MTA is enabled by a user, and a reel switch is  done
to  the  same  tape drive, the WATCH statistics are never typed on the
user's terminal.

[Diagnosis]
     Since PULSAR performs the unload, the monitor sees PULSAR as  the
owner  of  the  tape.   This is actually correct because PULSAR uses a
label DDB for the unload operation, and PULSAR does own that DDB.

[Cure]
     Teach routine TPSTAT to fetch the user's DDB if the job doing the
unload is the tape labeler.

[Keywords]
REEL SWITCH

[Related MCOs]
None

[Related SPRs]
35396

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	302	TAPUUO	TPSTAT

703A	


[End of MCO 13014]

MCO: 13015		Name: KBY		Date: 25-Jul-86:07:58:05


[Symptom]
Stopcode PQW, most often seen running LINK virtual.

[Diagnosis]
Missed one place where the virtual page number that a physical
page on an "IN" queue belongs to gets changed (.PGMOV).  This function
is pretty much only exercised by LINK.

[Cure]
Update the right place (PT2TAB, not MEMTAB).

[Keywords]
LINK
MOVE PAGES

[Related MCOs]
12925

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	VMSER	MVPMT
704	


[End of MCO 13015]

MCO: 13016		Name: KBY		Date: 25-Jul-86:11:43:21


[Symptom]
MERGE. UUO fails if job is over its physical but not virtual limit
whereas GETSEG doesn't.

[Diagnosis]
Special checks for GETSEG.

[Cure]
Remove checks so we'll page out the low seg.  The original
intent was probably to prevent doing this on a RUN rather than just
allowing it on GETSEG, but that shouldn't matter any more either.

[Keywords]
MERGE

[Related MCOs]
None

[Related SPRs]
35051

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	SEGCON	CKSIZ5,MORDR2
704	


[End of MCO 13016]

MCO: 13019		Name: JAD		Date: 31-Jul-86:08:32:29


[Symptom]
Monitor accepts non-unique abbreviations for disk unit names.  This
can cause odd symptoms like MCO 12866 addressed with the DSKCHR UUO
returning information on "RAG2" when the caller specified "RAG236".

[Diagnosis]
Lots of routines in FILFND set up a mask for the number of characters
in the argument, then mask the contents of UNINAM when comparing an
argument.  Now that unit names can have 4, 5, or 6 characters, this
can cause illegitimate matches.

[Cure]
Make all comparisons on UNINAM exact whenever 4, 5, or 6 characters
were specified in the argument.  Note that FILFND will still accept
abbreviations for unit logical name or structure name, or a subset
of a unit name (controller class, 1 or 2 characters, or controller
name, 3 characters).

[Keywords]
DSKCHR
OPEN
PHYSICAL UNIT NAMES
ABBREVIATIONS
HOT WATER

[Related MCOs]
12866

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	302	FILFND	SRUNA,SRUNI,UNSRCH,LOCSRU

704	


[End of MCO 13019]

MCO: 13020		Name: JAD		Date:  5-Aug-86:15:05:56


[Symptom]
Doing lots of FILOP. deletes and/or renames with FO.ASC set and
FO.UOC clear will soon exhaust the job's I/O channels.

[Diagnosis]
The FILOP. code doesn't cater to "self-contained" functions like
delete and rename.  It always exits with the I/O channel which was
assigned open.  Each time a delete or rename is done one more channel
bites the dust, until eventually no more are available.

[Cure]
If FO.UOC was clear when doing a delete or rename function, close
the open I/O channel to clean up after ourselves.

While we're at it, make Spider happy and release open channels on any
"open" function which got as far as the open but failed for some
other reason.

[Keywords]
FILOP
FO.UOC

[Related MCOs]
None

[Related SPRs]
34912

[MCO status]
Deferred

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		UUOCON	FOPXI1

704	


[End of MCO 13020]

MCO: 13021		Name: KBY		Date:  7-Aug-86:09:34:45


[Symptom]
MERGE. UUO still fails under some virtual conditions

[Diagnosis]
PAGLOW clobbers T1.

[Cure]
Reload T1 before calling CRPAGE.

[Keywords]

[Related MCOs]
None

[Related SPRs]
35543

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	304	SEGCON	MORDR2
704	310


[End of MCO 13021]

MCO: 13023		Name: RCB		Date:  8-Aug-86:23:43:52


[Symptom]
Split the sources for 7.04.

Ramifications:

1)	Turn on FTSETS.

2)	MONGEN and COMMON now expect to make 7.04 monitors.

3)	GEN.CTL changes due to the side-effects of 2) above and MCO 12958
	(MICGEN.MIC question).

4)	FTSETS gets turned on for Autopatch monitors as well, so that we can
	run 2476 separately but on the same CI.

[Diagnosis]

[Cure]

[Keywords]
FTSETS

[Related MCOs]
12958, 11898, 12933

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	COMMON	A00MVN,A00SVN,A00DLN
		MONGEN	MP.MVN
		FGEN	FTSETS
		GEN.CT

703A		FGEN	FTSETS


[End of MCO 13023]

MCO: 13024		Name: RCB		Date:  9-Aug-86:00:46:47


[Symptom]
Machine hangs during $X or $P after a breakpoint in an SMP configuration
after MCO 12991

[Diagnosis]
EDDT turns on the PI system during $X processing, but CPNDDT is still
non-zero.  Thus, TMnINT thinks that we should wait for the CPU to come
out of the breakpoint.  This results in a hang if the DDTing CPU was the
same one that just took the interrupt.

[Cure]
Since we risk a CIB if we don't leave CPNDDT non-zero, teach TMnINT not to
wait for itself, but only for other CPUs.

[Keywords]
EDDT
EDV
CPNDDT

[Related MCOs]
12991

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	COMMON	AP?BCK
703A	


[End of MCO 13024]

MCO: 13025		Name: KBY		Date: 11-Aug-86:14:42:52


[Symptom]
Lots of old & crufty bugs that can't be fixed any other way.

[Diagnosis]
High segment data base not quite flexible enough.

[Cure]
Expand the high segment data base in two major ways:
1.  Move the mapping into the SPT for the high segs.
2.  Move the per-job related data from various scattered JBT
    tables into a per-job high-segment data block.

[Keywords]
MHS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	VMSER	LOTS
		S
		COMMON
		LOKCON
		UUOCON
		COMCON
		CORE1
		KLSER
		DATMAN
		CTXSER
		MONPFH
		SCHED1
		SWPSER
		IPCSER
		CPNSER
		CLOCK1
		KISER
		KSSER
		ERRCON
		SEGCON


[End of MCO 13025]

MCO: 13026		Name: DPM		Date: 12-Aug-86:05:08:18


[Symptom]
     A customer may not easily  change  the  default  PFH  timer  trap
interval.

[Diagnosis]
     No MONGEN symbol exists.  The value of 60  ticks  is  hard  wired
into MONPFH.

[Cure]
     Create symbol M.PFHT which is the default PFH timer trap interval
in ticks.

[Keywords]
PFH TIMER TRAP

[Related MCOs]
None

[Related SPRs]
35553

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	311	COMMON	M.PFHT
		MONPFH	PFH

703A	


[End of MCO 13026]

MCO: 13028		Name: DPM		Date: 12-Aug-86:08:20:20


[Symptom]
Can't set CORMAX to desired numbers if there are large jobs.  There
is no way to lower CORMAX such that when jobs relinquish core, they
will not expand beyond the new lower limit.

[Diagnosis]
No concept of a "soft" CORMAX.

[Cure]
Add a new bit to the .STCXP function of the SETUUO to indicate "soft"
CORMAX is being set.  With the bit turned on, CORMAX will be set to
the new lower limit regardless of any jobs using more core than the
new limit.  When the jobs contract core below the new limit, they will
never grow beyond it again.

[Keywords]
CORMAX

[Related MCOs]
None

[Related SPRs]
33121

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	311	COMCON	SETMXP,SETMX1,SETMX2

703A	


[End of MCO 13028]

MCO: 13029		Name: JMF		Date: 13-Aug-86:10:06:15


[Symptom]
1) Too much monitor overhead.
2) In a fixed amount of CPU time charged to a user program, not as many
instructions get executed as could/should be.
3) CPU times returned by the high precision version of the RUNTIM UUO can
be off by as much as 16667 microseconds (1 tic). This is true in 7.03.
With this MCO installed, the value returned could theoretically be off
by seconds, minutes, hours, days, ...?


[Diagnosis]

1) Time accounting is done every time the scheduler is called.
2) A DATAO PAG, is done in the accounting routines to cause the meters
to be updated correctly. This clears the paging memory so even if the
scheduler picks the same job to be run as was running previously (no
context switch is required), the paging memory for the job must be
refilled from memory.
3) CPU times aren't updated for the job that the RUNTIM UUO is being done
on. Thus, if the job in question is running, e.g., the current job doing
a RUNTIM UUO on itself, the answer returned will be the CPU time that
the job had accrued the last time the job in question went through the
scheduler.


[Cure]

1) Only do accounting on a context switch. The exception to this is if the
NULL job is running and the scheduler is called to find a new job and it
picks the NULL job again, accounting will be done. This is necessary to
keep NULL time, lost time, etc. correct.
2) Since accounting will only be done on a context switch, if the previous
job is the same as the current job, the DATAO PAG, will not be done.
3) Create a new routine which will cause CPU time for an arbitrary job to
be made current. Call this from RUNTIM for the job specified in the
RUNTIM UUO argument.

N.B. This MCO makes RUNTIM the only valid way to find out a jobs current CPU
time usage. On an SMP system, doing GETTABs to find out run times of jobs can
produce results that are much smaller than the actual usage. This is also true
on a single CPU system if the job in question is the current job.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Beware file entry required
New development MCO

[BEWARE text]
The RUNTIM UUO is now the only valid way to find out a jobs current CPU
time usage. On an SMP system, doing GETTABs to find out run times of jobs can
produce results that are much smaller than the actual usage. This is also true
on a single CPU system if the job in question is the current job.

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	COMMON
		CLOCK1
		COMCON
		SCHED1
		UUOCON


[End of MCO 13029]

MCO: 13030		Name: JMF		Date: 13-Aug-86:10:18:15


[Symptom]
Too much perceived monitor overhead (as reported by SYSTAT and
SYSDPY). Users don't get charged as much as they should for the work the
system does for them.

[Diagnosis]
GETMIN gets called at clock level thus executing VIRCHK at clock
level which can be very lengthy. This time gets charged to overhead.

[Cure]
Since in many cases, the equivalent of a call to GETMIN is done later
at UUO level, remove the call to GETMIN from clock level if the job has any
core at all. In the case where a logical call to GETMIN isn't always done
at UUO level, add one.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	COMCON	RUNCM
		SEGCON	SHARE


[End of MCO 13030]

MCO: 13032		Name: JAD		Date: 14-Aug-86:08:13:14


[Symptom]
Excessive compilation time when assembling the monitor.  Excessive
link time when linking the monitor.  Too many opprotunities for MACRO
or LINK to shoot themselves in the foot.

[Diagnosis]
Lots of the "can never change" definitions dealing with page size,
shift words to pages, etc., were made globals in COMMON.  This meant
every other modules' references were to externals.  Not only does
this cause lots of overhead when LINK gets around to linking the
monitor, it also increases the chance MACRO will screw up something
to do with cross-section PSECT symbol definitions or definitions in
univeral files which use the page size definitions as externals.

[Cure]
Utilize a "new" feature in MACRO called universal files.  Move the
definitions of PAGSIZ, W2PLSH, P2WLSH, S2PLSH, P2SLSH, BLKSPP, and
a few friends into S.  Remove lots of "##" suffixes from these
symbols in lots of modules.  Use PG.BDY instead of hard 777 or
PAGSIZ-1.  General clean up of the various garbage.

[Keywords]
PAGSIZ
W2PLSH
P2WLSH
S2PLSH
P2SLSH
BLKSPP
PG.BDY
GLOBALS
UNIVERSALS
BOREDOM
HOLE IN FOOT
BLUE AIR

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	AUTCON
		CLOCK1
		COMCON
		COMMON
		CORE1
		CPNSER
		CTXSER
		D60SER
		D8RINT
		DATMAN
		ERRCON
		FILFND
		FILIO
		IPCSER
		KLPSER
		KLSER
		KNISER
		LATSER
		LOKCON
		MONBTS
		MONPFH
		MOSSER
		NETPRM
		ONCE
		ONCMOD
		PSISER
		REFSTR
		RTTRP
		S
		SCAPRM
		SCASER
		SCHED1
		SCLINK
		SCSUUO
		SEGCON
		SWPSER
		SYSINI
		TX1KON
		UUOCON
		VMSER


[End of MCO 13032]

MCO: 13033		Name: DPM		Date: 14-Aug-86:08:59:24


[Symptom]
     If a tape drive is hung as a result of an MTAPE  operation  which
does  not  set  IOACT  (such  as  write tape mark), and the monitor is
trying to force a scheduled interrupt, the KDB and UDB hang forever.

[Diagnosis]
     The hung timer is never reset prior to requesting  the  interrupt
from the controller, leaving the KDB and UDB "in use".

[Cure]
     Reset the hung timer to TAPTIM seconds  prior  to  requesting  an
interrupt.

[Keywords]
TAPE HANGS

[Related MCOs]
None

[Related SPRs]
32672

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	TAPSER	TAPSE1

703A	


[End of MCO 13033]

MCO: 13034		Name: RCB		Date: 19-Aug-86:02:40:41


[Symptom]
The simulated G-Floating opcodes (under the EXTEND instruction) fail via
UADERR.

[Diagnosis]
Inability to perform EA calculation on a word with an opcode in it.

[Cure]
Add code.  New routines in VMSER, to parallel CHKIND:

	CHKINS	- Check instruction word
	CHKINX	- ditto, but section for IFIW resolution is in T2 (not PCS)
	CHKEFI	- Check EFIW word
	CHKEFX	- ditto, but with IFIW section in T2

For all routines, on entry T1 has the word whose EA is to be found.  On
non-skip return, some address or indirect word was illegal.  On the skip
return, the resolved address is in T1, the section of reference is in the RH of
T2, and the EA-is-global flag is in the LH of T2.  The section-of-reference
flag is used when T1 indicates an AC reference.  The EA-is-global flag
determines whether OINKSR will use a global reference or an IFIW reference when
calling GETEWD.

These routines preserve PCS and all registers other than T1 & T2.

[Keywords]
G-Floating
OINKSR

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	KLSER	OINKSR,GFLTXX
703A		VMSER	CHKINS,CHKINX,CHKEFI,CHKEFX,CHKIN0


[End of MCO 13034]

MCO: 13035		Name: RCB		Date: 19-Aug-86:02:59:23


[Symptom]
Output on remote printers stops but the node does not crash.

[Diagnosis]
NCL messages ACKed out of order.  In particular, we are flushing our
queue of messages to send when we receive an ACK for a message which we have
never sent before.

[Cure]
Pay no attention to ACKs for messages which have never been sent.  Maximimze
with NDBLMS (Last Message Sent) rather than NDBLMA (Last Message Assigned).

[Keywords]
Hung NCL traffic

[Related MCOs]
None

[Related SPRs]
34361

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	NETSER	CHKNCA
703A	


[End of MCO 13035]

MCO: 13036		Name: RCB		Date: 19-Aug-86:03:07:12


[Symptom]
When SAVEing to a disk file, the user's current and maximum virtual limits are
usually swapped.

[Diagnosis]
RELDRX (the fast SAVE to disk code) pops them in the wrong order.

[Cure]
Right order.

[Keywords]
SAVE
 .PDMVL
 .PDCVL

[Related MCOs]
None

[Related SPRs]
35542

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	COMCON	RELDRX
703A	


[End of MCO 13036]

MCO: 13037		Name: RCB		Date: 19-Aug-86:03:51:07


[Symptom]
Lower- or mixed-case input to the MONGEN special terminal configuration will
not have the desired results.

[Diagnosis]
MONGEN validates the input after converting to SIXBIT, but COMDEV just does
straight IFIDNs.

[Cure]
Teach COMDEV to compare in SIXBIT, too.

[Keywords]
SPCTRM
Lowercase

[Related MCOs]
None

[Related SPRs]
35528

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	COMDEV	TRMCR1,CTCTAB
703A	


[End of MCO 13037]

MCO: 13038		Name: RCB		Date: 19-Aug-86:05:11:49


[Symptom]
Asynchronous image-mode input is never initialized until after at least one
character has been typed.  This causes such interesting characters as control-U
to be lost.

[Diagnosis]
Checking for having no input before setting up for image input.

[Cure]
Change order of tests.

[Keywords]
Image input
UU.AIO

[Related MCOs]
None

[Related SPRs]
32129

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	SCNSER	TTYINA,TTYIN0
703A	


[End of MCO 13038]

MCO: 13039		Name: RCB		Date: 19-Aug-86:05:46:31


[Symptom]
Image-mode input is not initialized for a terminal being connected to an MPX:
channel.  This causes interesting characters such as control-U to be lost.

[Diagnosis]
No code to diddle LDLIMI, or anything else in the LDB.

[Cure]
Add routine TTYMPX in SCNSER, and call it from CNDDBI in MSGSER when we notice
that we're connecting a TTY.

[Keywords]
MPX
IO.IMG

[Related MCOs]
None

[Related SPRs]
31766

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	MSGSER	CNDDBI
703A		SCNSER	TTYMPX


[End of MCO 13039]

MCO: 13041		Name: KBY		Date: 19-Aug-86:07:43:13


[Symptom]
New:  Implement PAGE. UUO function .PAGLP (Lock Specified Pages).

[Diagnosis]
Yes

[Cure]
Forthcoming.

[Keywords]
PAGE.
LOCK

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	311	VMSER
		LOKCON


[End of MCO 13041]

MCO: 13042		Name: JAD		Date: 19-Aug-86:08:20:27


[Symptom]
Low-level output routines are scattered between COMCON and ERRCON,
making it a little difficult to know when to append "##" to the name
of an output routine.

[Diagnosis]
Things kind of wound up wherever they landed.

[Cure]
Move low-level output routines to COMCON.  Anything which will
output a character, word, string, etc., lives in COMCON.  Things
like DPCP, ERRDEV, and the like remain in ERRCON.

[Keywords]
Neatness

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	COMCON	LOTSA
		ERRCON	ROUTNS


[End of MCO 13042]

MCO: 13044		Name: JAD		Date: 19-Aug-86:13:33:12


[Symptom]
Extra effort required to keep KLSER and KSSER in synch.

[Diagnosis]
KLSER and KSSER are about 80% duplicate of each other.  The
remaining 20% is mostly performance meter, OINKSR, MAPIO, etc.,
which are small potatoes compared to the rest of the contents.

[Cure]
Merge KLSER and KSSER into a new module called APRSER.  APRSER
contains some amount of FTKL10 and FTKS10 conditionalizing, but
a lot less than you might think at first.

[Keywords]
KLSER
KSSER
APRSER
3-SERIES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KL10 only
KS10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	COMMON	.CPMPI,.CPMPS
		ERRCON	PARSWP,NXMSWP
		TOPS10	.FIL


[End of MCO 13044]

MCO: 13045		Name: JAD		Date: 20-Aug-86:13:49:42


[Symptom]
? one of the following:

1)  SYSINI is an EUE stopcode just waiting to happen

2)  Can't use the last 3 pages in the low segment for 4-word core

3)  Excessively hacky code dealing with overlaying tables with
    initialization code in COMMON which later gets zeroed

4)  Too many symbols with "!" in them in COMMON, making debugging
    more difficult than it should be.

[Diagnosis]
Code from the 1960's.

[Cure]
Invent a new PSECT for the monitor where initialization code
gets loaded.  The INIT PSECT winds up in the per-process area
where it is safe until ONCE completes.

Change some of the psected monitor macros so we have the following
ways to select where code should be loaded:

	$ABS	- absolute code
	$INIT	- initialization code
	$LOW	- low segment
	$HIGH	- high segment
	$XHIGH	- extended high segment

[Keywords]
PSECTS
SYSINI
HOLE IN FOOT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	COMMON	MORE
		CPNSER	PLACES
		D36COM	THAN
		D36PAR	YOU
		MONEND	WOULD
		ONCE	EVER
		ONCMOD	CARE
		PTYSER	OR
		REFSTR	WOULD
		S	WANT
		SCNSER	TO
		SYSINI	KNOW


[End of MCO 13045]

MCO: 13046		Name: JAD		Date: 21-Aug-86:11:50:57


[Symptom]
Trying to auto-configure a TM02/TM03 without TM2KON loaded can
result in system crashing.

[Diagnosis]
AUTCON carefully checks if a prototype KDB for a certain
drive type exists before it creates a copy of the KDB.  A
problem arises in that the monitor always builds a TM02/TM03
prototype KDB even if the driver isn't loaded.  Eventually
dispatching off TKBDSP winds up in the ACs.

[Cure]
Special case test for TM02/TM03 in BLDKDB.

[Keywords]
AUTO CONFIGURE
TM02/TM03

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	AUTCON	BLDKDB

703A	


[End of MCO 13046]

MCO: 13048		Name: DPM		Date: 22-Aug-86:05:41:54


[Symptom]
     A  program  OPENs  the  controlling  TTY,  enables  for  PSI   on
Control-C,  and  the  trap routine is terminated with an EXIT UUO.  It
reads characters from the terminal using either INCHRS or INCHSL  UUOs
even  though  an  OPEN has been done.  If the user then types a single
Control-C, the program will hang in 'TI' state in the  middle  of  the
EXIT UUO.  If the user types another Control-C, the program appears to
branch to an unpredictable memory location.

[Diagnosis]
     The job hangs in 'TI' state because an EXIT UUO implicitly causes
all pending I/O to complete.  The DEVIOS word for the terminal DDB has
both the I/O wait and I/O active bits turned on.  The implied call  to
the  RELEASE UUO puts the job into 'TI' state because the I/O bits are
set.  The user PC now points to the EXIT UUO plus one.  When the  user
types  a second Control-C, the monitor takes the job out of 'TI' state
(because only one Control-C is necessary to stop the job when it's  in
'TI')  and  starts  the job at the last PC.  Since the program did not
expect to continue after the EXIT UUO, the words  following  the  EXIT
UUO  may not contain valid instructions.  If a subroutine follows, the
subsequent POPJ will return control to an indeterminate PC.

[Cure]
     Prior to granting the PSI interrupt to the job, check to  see  if
the TTY chunks contain any characters that may be input.  If not, then
clear the I/O wait and active bits in the DDB.  This will always  work
for  several  reasons.   If  the job is doing blocking input, a single
Control-C will take the job out of 'TI'  state.   Therefore,  clearing
the  I/O  wait  and  active  bits presents no problems.  If the job is
doing an asynchronous input as in the case of INCHRS or  INCHSL  UUOs,
and  the  TTY chunks are empty, the program is not expecting to do any
input and again, it is safe to clear  the  I/O  bits.   If  there  are
characters available, then the job will pass through a 'TI' state, but
again, a single Control-C will terminate the I/O, so clearing the  I/O
bits  will  work.   The  PSI  status word in the interrupt vector will
still reflect the true state of I/O making this change transparent  to
all  programs.   The solution elimiates any I/O hangs for the terminal
in the EXIT UUO.  Because of this, the side effect of  restarting  the
job at the wrong PC is removed.

[Keywords]
PSI
CTRLC

[Related MCOs]
None

[Related SPRs]
33587, 34608

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	CLOCK1	STOP1H
		SCNSER	TICAVL

703A	


[End of MCO 13048]

MCO: 13049		Name: JAD		Date: 22-Aug-86:09:53:26


[Symptom]
Wierd opcodes in the monitor sources containing dots
(another flavor of "dots disease"?).

[Diagnosis]
When the PDB was created references were done using opcodes
with dots in them (like .MOVE) to indicate references to the
reorganized database.  The PDB has been around long enough
that we don't need the special indications any more.

[Cure]
Remove the SOPDEFs of the dotted instructions in S and
change the "dotted" opcodes to normal opcodes.

[Keywords]
DOTS
PDB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	CLOCK1
		COMCON
		KLSER
		S
		SCHED1
		UUOCON
		VMSER


[End of MCO 13049]

MCO: 13050		Name: JAD		Date: 22-Aug-86:11:23:41


[Symptom]
More magic numbers in the monitor sources.

[Diagnosis]
777760 to clear non-address bits after a MAP instruction,
777740 to clear non-(virtual) address bits, 37 to test for
non-zero section.

[Cure]
777760 => MP.NAD, 777740 => -1-MXSECN, 37 => MXSECN

[Keywords]
MAGIC NUMBERS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	CLOCK1
		COMMON
		D6DINT
		DATMAN
		KLSER
		KSSER
		MONPFH
		T78KON
		TX1KON
		UUOCON
		XTCSER


[End of MCO 13050]

MCO: 13057		Name: DPM		Date: 25-Aug-86:07:05:31


[Symptom]
Lower case punctuation characters act as break characters during COMCON
command parsing.

[Diagnosis]
In SCNSER, routine RIALTO clobbers the input character count in T2 with
the contents of LDBDCH.  Later, T2 is checked for having more than 72
characters and a break is simulated.

[Cure]
Preserve T2.

[Keywords]
ALTMODE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	SCNSER	RIALTO

703A	


[End of MCO 13057]

MCO: 13060		Name: DPM		Date: 26-Aug-86:05:21:05


[Symptom]
     If a user issues an ASSIGN command to set a logical  name  for  a
device  which  is  INIT'ed  by  some  context for that job, the ASSIGN
fails.

[Diagnosis]
     In UUOCON, routine ASSASD fails because the  device  is  already
INIT'ed  by  a context whose job/context handle does not match that of
the job trying to set the logical name.  When COMCON processes  ASSIGN
commands,  a  context number of zero is used to indicate the assign is
job-wide.  ASSASD should detect this case.

[Cure]
     If the device in question is already INIT'ed, and a logical  name
is  being  set  by  the  job  who has the device INIT'ed, then let the
assign succeed.

[Keywords]
ASSIGN

[Related MCOs]
11102

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	UUOCON	ASSA2Z

703A	


[End of MCO 13060]

MCO: 13063		Name: JMF/DPM		Date: 29-Aug-86:06:32:14


[Symptom]
Monitor listings are too hard to read.

[Diagnosis]
Many unchangable/obsolete feature test switches sprinkled
trhoughout the sources.

[Cure]
Remove them:
The following have been removed as if they were always turned on:
FTSPL
FTDUFC
FTPI
FTDPRI
FTIPCF
FTXTC
FTPSTR
FTKLPS
FTSETS
FTDTC
FTTSK
FTRDX
FTDDP
The following have been remove as if they were always turned off:
FTCBDB

A new MONGEN symbol M.DTCK has been added which if non-zero will cause
the OPR to be asked to verify the date and time. The default value is 0
(current behavior).

[Keywords]
cruft

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	LOTS


[End of MCO 13063]

MCO: 13072		Name: JAD		Date:  2-Sep-86:13:55:25


[Symptom]
DI hangs after a hung or offline disk (multi-CPU configurations only).

[Diagnosis]
FILIO decides to start I/O at UUO level.  Before it set up the UDB, KDB,
etc., FILIO did a "DSKOFF" which turned off the disk PI channel.  If the
call to the device-dependent  driver  takes  the  error  return,  STRTIO
branches  to  BADUNI.   BADUNI  notices  the  call  was at UUO level and
decides it can type  a  disk  offline  message  to  the  operator.   The
"DSKOFF" is still in effect at this time.

When the various text output routines  are  called  they  dispatch  into
SCNSER.   SCNSER does a "SCNOFF" to turn off the scanner PI channel.  In
a multi-CPU configuration, "SCNOFF" also turns off the disk PI  channel.
Eventually  SCNSER does a "SCNON" to turn on the scanner PI channel.  In
a multi-CPU configuration, "SCNON" also turns on the  disk  PI  channel.
Consequently,  the  PI system state after a "SCNON" may not match the PI
system state before a "SCNOFF".

After BADUNI completes FILIO attempts to start another I/O.  If  a  disk
interrupt should happen to occur during this time FILSER's database will
not  be  protected  against  multiple   accesses.    Under   the   right
circumstances the UUO level start I/O will get overlaid by the interrupt
level start I/O, causing the job which was starting I/O at UUO level  to
hang forever waiting for I/O completion which will never occur since the
I/O request never got fully queued.

[Cure]
Teach the SCNOFF support code in CPNSER (LOKSCI) to read the  PI  system
state and to only enable those channels at SCNON which were turned on at
the time of the SCNOFF.

[Keywords]
DI HANGS
SCNOFF

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	315	COMMON	.CPSCI
		CPNSER	LOKSCI,ULKSCI

703A	


[End of MCO 13072]

MCO: 13074		Name: DPM		Date:  9-Sep-86:04:34:38


[Symptom]
New:  Allow up to 16 drives on a DX10 or DX20 tape channel.  Unit numbers
are decimal numbers in the range of 0 to 15.  ANF-10 station numbers are
no longer encoded into the device names (i.e. (MTxnnu becomes MTxu).

[Diagnosis]

[Cure]

[Keywords]
DX10
DX20
IBM CHANNEL

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
Field service attention
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	315	AUTCON	TUDB4
		COMDEV	TKBUDB
		COMMON	DDBFI5
		TD2KON	TD2CF2
		TX1KON	SETXS,TX1CF1


[End of MCO 13074]

MCO: 13075		Name: DPM		Date:  9-Sep-86:05:58:58


[Symptom]
Remove extraneous prehistoric symbols in a meager attempt at some code
clean up.  The following symbols have been removed:

	APR0SN	APR1SN	APRSN	CP0KIN	CP0KLN	CP0KSN	CP0P6N
	CP1KIN	CP1KLN	CPUN	DDTN	DSKN	EDITN	FTDISK
	FTLOGI	FTSWAP	KT10AN	LEVCN	LEVDN	LOGINN	MD.2RR
	MD.DDT	MD.MOV	MD.P6	MD.PG	MOVIEN	SYS40N	SYS50N
	SYSDEV

[Diagnosis]

[Cure]

[Keywords]
SYMBOLS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	315	APRSER
		COMDEV
		COMMOD
		COMMON
		CPNSER
		DNADLL
		DTEPRM
		DTESER
		FEDSER
		KNISER
		MONGEN
		ONCE
		ONCMOD
		RTTRP
		SCASER
		SCSUUO
		SYSINI
		UUOCON
		VMSER


[End of MCO 13075]

MCO: 13076		Name: NT		Date: 11-Sep-86:09:35:40


[Symptom]
Monitor too unforgiving of fat fingers...

[Diagnosis]
Too quick to forget commands.

[Cure]
Implement command line editing, mostly as per Stephan Wolfe's
	7.03 spec.  The differences will be noted for documentation.

[Keywords]
COMMAND EDITING

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	UUOSYM	.TOCLE
		COMCON	TTCEDT
		SCNSER	LDBIST,LDBEDT,DCSDSP,DCSFND,RICF,CHTABL,TYIEAT,TYICC,TSETBI,TOPEDT


[End of MCO 13076]

MCO: 13078		Name: DPM		Date: 15-Sep-86:06:54:26


[Symptom]
New:  Turn on the DDP. UUO.  This is a first pass at making DDPs
work again.  This MCO causes the argument block format to conform
to new-style extended addressing UUOs, handles address checks,
defines the argument block for users, and documents the stopcodes
in the NETDDP module of NETDEV.  The DDP. UUO is CALLI 227 and
requires [1,2], JACCT, or POKE privileges.

;THE DDP. UUO ALLOWS UUO-LEVEL CONTROL OF DDP DEVICES/KONTROLLERS.
;CALL IS:
;
;	XMOVEI	AC,ADDRESS
;	DDP.	AC,
;	  ERROR RETURN
;	NORMAL RETURN
;
;ADR:	LENGTH,,FUNCTION
;	DDP DEVICE ID
;	ARGUMENT (AS NEEDED)

 .DPFNC==0		;LENGTH,,FUNCTION CODE
;  DP.???==777B8	   ;RESERVED
   DP.LEN==777B17	   ;LENGTH
   DP.FNC==777777B35	   ;FUNCTION
      .DPFAS==00	      ;ASSIGN (CREATING IF NEEDED) DDP DEVICE
      .DPFZP==01	      ;ZAP ("RELEASE") DDP DEVICE/KONTROLLER
      .DPFDV==02	      ;SET DDP TO "DEVICE" MODE (IN/OUT/ETC. UUOS)
      .DPFKN==03	      ;SET DDP TO "KONTROLLER" MODE
      .DPFUS==04	      ;SET DDP "KONTROLLER" USER TYPE
;     .DPF??==05	      ;RESERVED/ILLEGAL
;     .DPF??==06	      ;RESERVED/ILLEGAL
;     .DPF??==07	      ;RESERVED/ILLEGAL
      .DPFHL==10	      ;HALT THE DDP KONTROLLER
      .DPFIN==11	      ;INITIALIZE DDP KONTROLLER
      .DPFMA==12	      ;SET TO MAINTENANCE MODE (FOR BOOTSTRAPING)
 .DPDEV==1		;SIXBIT DEVICE, CHANNEL, OR I/O INDEX (UDX)
 .DPARG==2		;OPTIONAL FUNCTION DEPENDENT ARGUMENT
 .DPMAX==3		;MAXIMUM LENGTH OF ARGUMENT BLOCK

;DDP. ERROR CODES
DPIFC%==01		;ILLEGAL DDP. FUNCTION CODE
DPLTS%==02		;ARGUMENT LIST TOO SHORT
DPIDV%==03		;ILLEGAL DDP. DEVICE (NOT DDP, ETC.)
DPNPR%==04		;USER NOT PRIVILEGED
DPIOM%==05		;ILLEGAL OPERATION MODE (DDP NOT IN KONTROLLER MODE)
DPIUN%==06		;ILLEGAL USER NAME
DPIOJ%==07		;DDP IS IN USE BY OTHER USER/JOB
DPADC%==10		;ADDRESS CHECK


Stopcodes:
 Name	Module	Type	Message and Explanation

DDPAHB	NETDDP	DEBUG	Already have receive buffer
			An attempt was made to post a new receive buffer
			when one already existed.
DDPALA	NETDDP	STOP	Destination data segment address is zero
			No storage is allocated for data in a message
			segment.
DDPBAU	NETDDP	STOP	Cannot clear DDP kontroller mode
			The DDP cannot be put into "device" mode.
DDPBBM	NETDDP	STOP	Bad NETSER data message
			An NCL output message should contain a message
			segment descriptor, but doesn't.
DDPBCD	NETDDP	STOP	EXTEND/MOVSLJ instruction failed to write driver data
			Destination storage space is not large enough to
			accomodate the data being moved.
DDPFIX	NETDDP	STOP	Node for DDP device does not exist
			The controlling node for a DDP device does not exist.
DDPFNC	NETDDP	DEBUG	Illegal kontroller function call
			An illegal function code has been passed from the DLL
			to the kontroller.
DDPIDV	NETDDP	STOP	DDP driver index is illegal
			The user code/index in the DDB does not match the
			user type.
DDPIOT	NETDDP	DEBUG	Unused DDP driver dispatch (illegal owner type)
			A skew in the user codes exist between DDP service
			and COMNET.
DDPKON	NETDDP	STOP	Cannot set DDP to kontroller mode
			The DDP cannot taken out of "device" mode.
DDPMTB	NETDDP	STOP	DDP message is too big to fit into allocated storage
			The length of the message being processed does not
			fit into the storage allocated for that message.
DDPNDA	NETDDP	STOP	Message segment contains no data
			A message segment is supposed to contain data but
			storage for that data has not been allocated.
DDPNDT	NETDDP	STOP	No NDT entry for DDP devices
			A skew in the network device types exists between
			DDP service and COMNET.
DDPRBA	NETDDP	DEBUG	Receive buffer already allocated
			A receive buffer has been allocated for a DDP device
			prior to opening a circuit.
DDPRDQ	NETDDP	STOP	Cannot process incoming data request
			NETSER was unable to process incoming data requests.
DDPSIB	NETDDP	STOP	A user's buffer should be in core but isn't
			The user's buffer had been address checked but is
			no longer in core.
DDPSLJ	NETDDP	STOP	EXTEND/MOVSLJ instruction failed to read driver data
			Destination storage space is not large enough to
			accomodate the data being moved.
DDPXMT	NETDDP	STOP	A user's buffer should be in core but isn't
			The user's buffer had been address checked but is
			no longer in core.

[Diagnosis]

[Cure]

[Keywords]
DDP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	NETDDP	LOTS
		UUOSYM	DDP.


[End of MCO 13078]

MCO: 13080		Name: JAD		Date: 15-Sep-86:16:20:37


[Symptom]
Monitor too big.

[Diagnosis]
Still checking for PDP-6, KA-10, and KI-10 in ONCE.

[Cure]
Remove the tests.

[Keywords]
MONITORISTOOBIGITIS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	ONCE	CPUTYP


[End of MCO 13080]

MCO: 13081		Name: JAD		Date: 15-Sep-86:17:51:15


[Symptom]
Can't easily change starting address of monitor's high segment.

[Diagnosis]
Too many symbols are defined in S based on the origin of certain
psects.  To change a psect origin you have to edit S and re-compile
(almost) every monitor module.

[Cure]
Move funny space origin to 740000.  This will make the .USxxx
and other symbols constant even if the high segment origin is
changed (previously you'd have to change funny space origin
if you changed the high segment origin).

[Keywords]
Fools rush in
HaHa Space

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	S	FYSORG,HIORG


[End of MCO 13081]

MCO: 13083		Name: RCB		Date: 16-Sep-86:06:52:10


[Symptom]
Monitor too big.

[Diagnosis]
2741 terminal type and a lot of supporting code left around even after
removing (off) the FT2741 and FTHDPX feature tests.

[Cure]
Finish removing 2741 and half-duplex terminal support.  What little code
is left hasn't been tested in ages and probably doesn't work anyway.

This completely removes (makes illegal) the following TRMOP.s:
	.TOELE		;Set TTY ELEMENT
	.TOHLF		;TTY half-duplex
	.TOAPL		;2741 APL mode
	.TODBK		;2741 debreak mode
	.TO274		;2741 mode
	.TOTDY		;2741 tidy mode

[Keywords]
2741
obsolete hardware
golf balls

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	COMDEV	TTVDIS,DECTRM,ELEINX
		SCNSER	LOTS
		NETDEV	MCRDSP,D85ELE,MCRCH4,GETCR,MCRTC1,TTYRAT
		UUOSYM	%FTSCN,.TOELE,.TOHLF,.TOAPL,.TODBK,.TO274,.TOTDY
		UUOCON	FETTBL
		COMCON	COM1C


[End of MCO 13083]

MCO: 13084		Name: JAD		Date: 16-Sep-86:15:35:21


[Symptom]
[DEFERRED]

Too hard to change monitor high segment origin.  Changing the
high segment origin requires compiling (almost) every monitor
module.

[Diagnosis]
Lots of baked in references to exec virtual address like
 .EPCDB, etc., plus psect origins used in the .PSECT pseudo-ops.

[Cure]
Move .EPxxx to just before funny space (ditto for PAGTAB,
PT2TAB, and MEMTAB on the KS).  Define monitor psect origins
in a new module called "MONBEG".  This must be the FIRST module
which is loaded by LINK.

[Keywords]
PSECT ORIGINS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	317	APRSER
		COMCON
		COMMON
		CPNSER
		LOKCON
		MONBEG
		ONCE
		S
		SEGCON
		SYSINI
		TOPS10
		UUOCON


[End of MCO 13084]

MCO: 13092		Name: JAD		Date: 25-Sep-86:12:08:46


[Symptom]
Monitor is too big and system initialization is too confusing.

[Diagnosis]
A long time ago in a galaxy far, far, away, you could restart
the monitor after it was running.  Certain initialization routines
therefore were grouped together in SYSINI, separate from those in
ONCE.  Now that SYSINI and ONCE live in the same psect there is no
longer a reason to maintain two separate initialization modules.
(Especially considering system restarts haven't worked for about
a dozen releases of the monitor.)

[Cure]
Move code from ONCE.MAC to SYSINI.MAC.  Clean up SYSINI, order
code so flow is from top to bottom, remove useless code, remove
the KA10 core table stuff from COMMON, move NZSCG? into SYSINI
(where it belongs) from ONCMOD, and use more symbols in COMMON
(SECTAB for 540, AP.IOR for CONO APR,200000, etc.).
ONCE.MAC will be deleted.

[Keywords]
SYSTEM INITIALIZATION
SYSINI
ONCE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	COMMON	CORTAB,NLUPMP,FLG256,CORBLK,FILMEM,MONPFF,SYSINH,ENTDDT
		ONCMOD	REDHOM,NZSCGT,NZSCGC,CORGRS
		TOPS10	FIL
		UUOCON	NUMTAB
		UUOSYM	.GTCOR


[End of MCO 13092]

MCO: 13093		Name: DPM		Date: 30-Sep-86:06:19:50


[Symptom]
     Stopcode BEC following an unsuccessful reload of  a  KL10  system
with CI disks.

[Diagnosis]
     Occasionally, an HSC-50 doesn't release its  connection  properly
when the virtual circuit goes away because the -10 crashes.  MCO 12898
minimized the number of occurances of this problem by using  a  pseudo
random  number  (the last crash time) as a connect-id.  If one or more
monitor reloads fail, CRSDTM may never be updated with the newer  last
crash  time  and  the  same  connect-id will be reused.  The HSC-50 is
easily confused without provocation.  Use of the same connect-id  will
only compound the problem.

[Cure]
     Read the KL10 interval timer base and use the low order  bits  of
the 59-bit result as the connect-id.

[Keywords]
BEC

[Related MCOs]
12898

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	SCASER	SC.INI


[End of MCO 13093]

MCO: 13094		Name: DPM		Date: 30-Sep-86:06:48:43


[Symptom]
Old feature test still lurking.

[Diagnosis]
Yes.

[Cure]
Remove FTMOS as normally turned on.

[Keywords]
FTMOS

[Related MCOs]
13063

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	FGEN	FTMOS
		COMMON	MOSMIN
		CLOCK1	CPUMIN
		IPCSER	SNDMDX
		UUOCON	DIADST


[End of MCO 13094]

MCO: 13098		Name: JAD		Date:  2-Oct-86:15:08:49


[Symptom]
Changing the monitor high segment origin is too difficult.  Changing
the origin requires editting S.MAC and then recompiling (almost)
every monitor source module.

[Diagnosis]
Exec virtual addresses like .EPCDB are defined relative to the origin
of the monitor high segment.  The monitor high segment origin is
defined in S.UNV also.  Defining variables in S.UNV requires too much
effort to get the changes reflected in monitor .REL files.

[Cure]
Define monitor psect origins in a new monitor module called MONBEG.MAC.
MONBEG must be the first monitor module loaded.

[Keywords]
PSECT ORIGIN
EXEC VIRTUAL ADDRESSES

[Related MCOs]
13084

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	APRSER
		COMMON
		CPNSER
		D36COM
		LOKCON
		S
		SYSINI
		TOPS10	FIL
		UUOCON


[End of MCO 13098]

MCO: 13099		Name: JAD		Date:  3-Oct-86:12:36:43


[Symptom]
I/O page failures can cause un-necessary CPU crashes.

[Diagnosis]
If the failure occurs due to a reference by a DTE20, it may
be indicative of a hardware failure in the associated PDP-11.
It seems pointless to clunk the -10 when the -11 may be sick.

[Cure]
On an I/O page failure, examine the API function word stored in
AC 2, block 7, to see if the failure was caused by a non-master
DTE20.  If so, execute an INFO stopcode and request a reload of
the associated PDP-11.  If the failure was not caused by a non-
master DTE20 execute a CPU stopcode as is presently done.

[Keywords]
DTE20
I/O PAGE FAILURES
ATOZ ATTN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	COMMON	APNINT,IOPSTP


[End of MCO 13099]

MCO: 13101		Name: JMF		Date:  7-Oct-86:08:21:36


[Symptom]
Paging I/O counts are wrong (more reads than writes show up on a
unit).

[Diagnosis]
IO is wrong in S at DONE when the swapout of a paging queue
completes. Don't know why that true but noone cares except the test for
updating counts.

[Cure]
Test SL.DIO instead.

[Keywords]
Paging I/O counts
SYSTAT
SYSDPY

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
VM only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	VMSER	DONE

703A	


[End of MCO 13101]

MCO: 13102		Name: JAD		Date:  8-Oct-86:12:36:29


[Symptom]
321 probabaly won't, and if it does, it will be a real pain
in the neck to build future monitors.

[Diagnosis]
MCO 13098 can't cut the mustard.  It's too hard to convince the
silly TECO/MIC macros to do the right thing with MONBEG.MAC.

[Cure]
Modify MCO 13098 slightly by defining the PSECT origins in COMMON
via a few strategic .PSECT pseudo-ops at the start of COMMON.
Move the .TEXT pseudo-ops there too and eliminate the need for
MONBEG.MAC entirely.

[Keywords]
PSECTS

[Related MCOs]
13098

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	COMMON	PSECTS
		S	$PSECT
		TOPS10	FIL


[End of MCO 13102]

MCO: 13103		Name: JAD		Date:  8-Oct-86:12:51:47


[Symptom]
System initialization is too complicated and interwoven.

[Diagnosis]
Old crufty code left over from the time device data blocks overlaid
the once code.  Now that the once code is somewhere safe there isn't
any reason to go through the excess nonsense.

[Cure]
Eliminate the multiple passes through LINKDB/CNTDB.  Only call
ONCMOD once on normal system start-up (as part of FILMAN call).
Still retain the optional calls to ONCMOD (refresh, change unit
IDs, etc.) as options to the start-up prompt.  Remove hackery
which BLTs device data blocks around at the end of once since
they'll be built where they should wind up.

New order of initialization is:

1)  Ask for start-up option

2)  Perform optional disk once-only dialogues (refresh, change
    unit IDs, long, etc.) based on start-up option

3)  Perform mandatory disk once-only dialogues

4)  Create device data blocks

[Keywords]
ONCE
START-UP OPTIONS
LINKDB
CNTDB
HACKERY

[Related MCOs]
13098, 13049

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	COMMOD
		COMMON
		FILUUO
		ONCMOD
		REFSTR
		SYSINI


[End of MCO 13103]

MCO: 13106		Name: JAD		Date: 13-Oct-86:10:01:49


[Symptom]
MAPINI in CPNSER is, to put it mildly, somewhat confusing.

[Diagnosis]
The maintainability of the code seems to have varied inversely
as the square of the number of maintainers working on the code.

[Cure]
Nothing a rewrite of MAPINI won't cure, so rewrite it.

[Keywords]
MAPINI
CONVOLUTION
EVOLUTION

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	CPNSER	MAPINI


[End of MCO 13106]

MCO: 13107		Name: JAD		Date: 13-Oct-86:11:06:48


[Symptom]
Monitor too big.

[Diagnosis]
Initialization of SPTHGH by SYSINI could be done in COMMON
during assembly rather than during system initialization.

[Cure]
Assemble in SPTHGH with the correct values.

[Keywords]
SPTHGH
SYSINI

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	COMMON	SPTTAB
		SYSINI	SETSPT


[End of MCO 13107]

MCO: 13108		Name: JAD		Date: 13-Oct-86:13:12:04


[Symptom]
Mischieviousness.

[Diagnosis]
Magtape unit names don't have station numbers in them any more,
so why should DECtape unit names?

[Cure]
Delete 2 characters from DECtape unit names (station number).

[Keywords]
DECTAPES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	COMMON	DDBFIX


[End of MCO 13108]

MCO: 13109		Name: JAD		Date: 16-Oct-86:16:31:13


[Symptom]
COMMOD looks like it is pronounced.

[Diagnosis]
Lots of (slang word for excrement here) floating around.  Nothing
indicates where the Tidy Bowl man went to.

[Cure]
Apply SaniFlush in liberal doses, to wit:

Align definitions, comments, delete un-referenced globals, add
sprinkles of form feeds for readability.

[Keywords]
SANIFLUSH

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	323	COMMOD	LOTS
		FILIO	HOMBID


[End of MCO 13109]

MCO: 13112		Name: KBY		Date: 20-Oct-86:08:56:48


[Symptom]
No one enforces the fact that one is supposed to have only
one copy of a segment in one's address space.  The monitor then
might later not operate on the desired copy of the segment at a later
time.

[Diagnosis]
No code.

[Cure]
Add code.  On a GETSEG, return ERDPS%=70 if the segment
already exists in a user's address space.

[Keywords]
mhs

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	323	SEGCON	SHARE,SHRNRM
		UUOSYM
		S


[End of MCO 13112]

MCO: 13116		Name: JMF		Date: 21-Oct-86:07:43:59


[Symptom]
New: Implement SEGOP. UUO (CALLI 230) per RCB's spec.

[Diagnosis]

[Cure]

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	323	SEGCON	CFNDHB
		COMCON	SEGOP
		UUOSYM	GETSEG


[End of MCO 13116]

MCO: 13119		Name: JAD		Date: 23-Oct-86:15:54:57


[Symptom]
Global symbol table is too large.

[Diagnosis]
Lots of locally-referenced symbols in COMMOD wind up being
defined as globals.

[Cure]
Make them locals.  While we're at it, delete some globals which
are neither locally- or globally-referenced.  Delete some duplicate
ersatz device names (CRUPPN deleted in favor of XPNPPN, ditto for
XSYPPN difo NEWPPN).

[Keywords]
GLOBALS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	324	COMMOD	ETC.
		FILFND	XSYPPN
		FILUUO	XSYPPN
		REFSTR	CRUPPN


[End of MCO 13119]

MCO: 13122		Name: JMF		Date: 27-Oct-86:11:47:49


[Symptom]
DDT and others would like to find out what segment a page belongs
to if the page is a high segment page.

[Diagnosis]

[Cure]
Have page accessability return the high segment number of the high
segment that the page is contained in if the page belongs to a real (not
spy) segment.

[Keywords]
page accessability
high segment number

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	324	VMSER	PAGAC6


[End of MCO 13122]

MCO: 13123		Name: DPM		Date: 28-Oct-86:07:40:14


[Symptom]
LINKDB looses DDBs created by the new AUTCON.

[Diagnosis]
Nothing a rewrite won't fix.

[Cure]
Straighten out the code to generate DDBs and move it into AUTCON
in the INIT psect.  While we're at it, move the DA28 initialization
stuff into XTCSER too.  Put DECtape init code in DTAINI., remove
duplicate symbols used to reference byte pointers into INTTAB.
Expand .CPSAV to include the addresses of all PI channel save
routines for the CPU, not just the tape and disk.  Remove .CPNPS
(KLNI save routine pointer). Clean up some comments, etc.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	324	AUTCON	AUTSYS
		COMMON	LINKDB,.CPSAV
		DTASER	DTAINI
		SYSCHK	X3
		SYSINI	INTLOP
		XTCSER	XTCLNK


[End of MCO 13123]

MCO: 13124		Name: JAD		Date: 29-Oct-86:13:03:57


[Symptom]
NXM interrupt when trying to read data (or a program) while running
a multiple-CPU monitor with one CPU "RESET ALL"ed by PARSER.

[Diagnosis]
The "RESET ALL" command sets the EBR and UBR to zero and starts the
KL-10 microcode.  Guess what the microcode does while it's running?  It
counts up user process execution time and memory reference counts in the
UPT.  But if the UBR has been set to zero, the microcode is counting
in physical locations 504-507.  Ditto for the time base/performance
analysis counts in the EPT.  Since we're quite happy to use most of page
zero for 4-word channel command blocks there is a good chance we might
pick a block and have the "other" CPU count into it, screwing up our I/O
and either causing a NXM or reading data into the wrong address (yecch!).

[Cure]
Make sure any locations in page zero which are EPT/UPT offsets
that the microcode will twiddle get marked as not available for use
as channel command blocks.

[Keywords]
CHANNEL COMMAND BLOCKS
MICROCODE
OFFSETS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	325	SYSINI	SETLOW


[End of MCO 13124]

MCO: 13128		Name: RCB		Date:  4-Nov-86:08:25:52


[Symptom]
Too hard for some UUOs to allow themselves to be restarted after a
page fault.

[Diagnosis]
Missing code.

[Cure]
Add code.  PFHXWD, PFHXW1, PFHGW1, PFHPWD, PFHPW1, PFHPMW, PFHPXW, PFHXW1.
These routines are like GETEWD/GETXWD, GETEW1, PUTWRD, PUTWR1, PUTMWD, PUTEWD,
and PUTEW1, respectively, except that they yank in any inaccessible page and
continue, rather than restarting the UUO.

[Keywords]
Performance
SAVGET

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	325	MONPFH


[End of MCO 13128]

MCO: 13139		Name: DPM		Date: 17-Nov-86:06:30:47


[Symptom]
ANF DTEs drop connections and -20F users see %DECsystem-10 not
running messages during MOS parity error processing in cases where
TGHA is invoked.

[Diagnosis]
1. ANF DTEs are not aware of the consequences MOS memory parity error
   processing.
2. RSX-20F is put into secondary protocol while TGHA is running.

[Cure]
1. Call the FEK entry points which indicate the CPU is going to sleep.
   Doing this will make the front ends behave as if the monitor was
   being suspended.
2. Create new routines to set and clear protocol pause mode.  In this
   mode, the -10 has about 30 seconds in which the -11 will ignore the
   keep alive counter, but will remain in primary protocol.  This is ample
   time for TGHA to do its bit substitution.

[Keywords]
MOS PARITY ERROR

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	COMMON	.CPEPW
		DTESER	DTEAPP,DTESPP,DTERPP
		MOSSER	DIAGT2,DIAGVM


[End of MCO 13139]

MCO: 13140		Name: JAD		Date: 17-Nov-86:11:12:06


[Symptom]
PDL overflow doing lots of I/O to a CI disk.

[Diagnosis]
The virtual circuit ran out of credits (we never thought this
would happen).  When we get to BADUNC we call RTNDRB to return the
DRB.  RTNDRB calls GIVDRB, which can wind up calling CRNPOS to start
up another I/O operation.  This one will probably also fail due to
no credits, so we start a PDL excursion, eventually overflowing.
There is actually code in BADUNC to light the "no credits" flag in
the KDB so CRNPOS doesn't try to start I/O, but unfortunately the
code is AFTER the call to RTNDRB.

[Cure]
Light the "no credits" flag BEFORE calling RTNDRB.

[Keywords]
CREDITS
PDL OVERFLOW

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	FILIO	BADUNC

703A	


[End of MCO 13140]

MCO: 13141		Name: JAD		Date: 17-Nov-86:13:37:10


[Symptom]
Hard to figure out what pages are used by SCA.

[Diagnosis]
LATSER allocates buffer space from SCA's section.

[Cure]
Allocate from DECnet's section since that is where LATSER's initial
allocation is done from.

[Keywords]
LAT
SCA

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	LATSER	CHKWFB


[End of MCO 13141]

MCO: 13142		Name: JAD		Date: 17-Nov-86:17:13:29


[Symptom]
DIRECT LIB: loops when LIB: is an old-style LIB:.

[Diagnosis]
SWIL does a PATH. UUO on the device name to analyze the device.
The PATH. UUO notices it is a pathological name and lights the bit
in the PATH. argument block which says "you can get more info with
PATH. UUO function -6" (read logical name spec).  Trouble is, the
code for that function explicitly disallows LIB:.  SWIL expects
this to work, and gets in a loop when it fails.

[Cure]
Since the PATH. UUO function to read a logical name spec won't
let you get more info on LIB:, don't light the bit which says you
can.  That clears up DIRECT and fixes an inconsistancy in the code.

[Keywords]
PATH. UUO
OLD-STYLE LIB:
READ PATHLOGICAL NAME

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	FILUUO	PTHU22


[End of MCO 13142]

MCO: 13143		Name: RCB		Date: 17-Nov-86:21:57:29


[Symptom]
Jobs stuck in the command-wait queue.  This is usually reported as being stuck
in RN state, since CMWQ is a sub-queue of PQ1.  It happens most frequently to
swapped-out users with user-defined commands, but will also happen to users who
type control-R too many times in too rapid of succession or when the
clock-level NETSER interlock is not available.

[Diagnosis]
Use of DLYCM to either bring a swapped-out job into core or to defer a
command.  DLYCM will always put the job into CMWQ, and the job then needs to be
requeued in order to remove it from that queue.

[Cure]
Make sure that DLYCM is not called merely to defer a command.  Make DLYCM1
global, and call it instead.  When it is necessary to bring a job into core,
and thus we have to call DLYCM, make sure that we will perform the requeueing
needed to allow the job to run normally again.

[Keywords]
CMWQ
Command wait

[Related MCOs]
None

[Related SPRs]
35040, 35587, 35604

[MCO status]
Checked

[MCO attributes]
HOSS attention

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	COMCON	COMGO,DLYCM1
703A		SCNSER	RETYPE
		NETSER	NTLCKC
		FILIO	XCHDSW


[End of MCO 13143]

MCO: 13145		Name: RCB		Date: 18-Nov-86:04:50:53


[Symptom]
STOPCD SICDNA after swap read errors.

[Diagnosis]
Assuming that we have to be in core to kill off a hiseg.

[Cure]
Recognize this case.  Just go back to where we detect that the segment should
be made dormant (or maybe even deleted) when we find that we were the last
sharer, even if we didn't have the segment in core.

This completely removes the SICDNA stopcode.

[Keywords]
Swap read error
You lose your mind

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
Documentation change
HOSS attention

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	SEGCON	SCNLOG,KILFN0

703A	


[End of MCO 13145]

MCO: 13146		Name: RCB		Date: 18-Nov-86:05:09:24


[Symptom]
Terminals hang in TO or TI, even though there is something for the driver to do.

[Diagnosis]
LDLIDL gets set long after we determine that there are no characters, and not
under the same incarnation of the SCNSER interlock.

[Cure]
Don't release the interlock in between.  That way, UUO level and interrupt
level can't sneak things past each other at inopportune moments.

[Keywords]
Hung terminal

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
HOSS attention

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	SCNSER	LOTS
703A	


[End of MCO 13146]

MCO: 13147		Name: RCB		Date: 18-Nov-86:05:55:46


[Symptom]
Fix some minor annyances in NRTSER:
	1)  Sometimes we drop the link without sending the unbind message.
	2)  NETOP. can return junk for a node name when we don't have the
		remote node defined.

[Diagnosis]
	1)  Send the data, then wait before performing the synchrounous
		disconnect.
	2)  Don't expect random routines to preserve T1.  Save data in P2
		instead.

[Cure]
Yes.

[Keywords]
Connection aborted
Trashy INITIA banner

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	NRTSER	CTHRLS,NTDID1
703A	


[End of MCO 13147]

MCO: 13151		Name: JAD		Date: 19-Nov-86:08:47:10


[Symptom]
ECC miscorrection can occur on massbus disks.

[Diagnosis]
The fire code can generate the wrong correction code.  Statistically,
this only happens for an error envelope of greater than four bits.

[Cure]
The real cure is to do all retries with ECC disabled, then go back and
try again with ECC enabled.  However, fixing the problem in FILIO may
not be the best approach because the error is specific to the drives
which RPXKON/RHXKON control.  Therefore, we will insert code in the
drivers to check for an error envelope of width greater than 4 bits,
and declare the error non-ECC correctable if so.  A future edit to
FILIO MAY change the algorithm used for error recovery, but even if
it does the change to the driver is still probably warranted.

[Keywords]
ECC MISCORRECTION

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	RHXKON	RPXECC
		RPXKON	RPXECC


[End of MCO 13151]

MCO: 13153		Name: JMF		Date: 20-Nov-86:08:39:39


[Symptom]
New: Implement SETUUO function 52 (.STPCP) to change the policy
CPU. Calling sequence:
	MOVSI	AC,STPCP	
	HRRI	AC,n		;new policy CPU number
	SETUUO	AC,
	  error return		;No such CPU or CPU isn't running
	OK return		;CPUn is now the policy CPU

[Diagnosis]

[Cure]

[Keywords]
POLICY CPU

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
Multi CPU only
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	CLOCK1	CLKINT
		COMCON	SETUUO
		CPNSER	CP1MFL,BECOM0,DELAY1,SETPCP
		LOKCON	DELAY1
		COMMON
		UUOSYM


[End of MCO 13153]

MCO: 13155		Name: JAD		Date: 20-Nov-86:10:44:33


[Symptom]
Answering "NO" to the "Include LAT" question in MONGEN still requires
you to answer the question about the maximum number of LAT circuits.

[Diagnosis]
Missing JUMPE after asking whether to include LAT.

[Cure]
JUMPE plus a few FILOUTs.

[Keywords]
LAT
MONGEN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	MONGEN	ASKLAT


[End of MCO 13155]

MCO: 13156		Name: JAD		Date: 20-Nov-86:11:45:52


[Symptom]
Disks don't get re-attached properly when a CPU is REMOVEd and
subsequently ADDed.

[Diagnosis]
Calling ATTCPD with a detached unit's UDB without flagging the
UDB address as such so ATTCPD will call UNLDET.  Using the UNISYS
link word in a detached UDB after calling ATTCPD gets the next
attached unit rather than the next detached unit, since the unit
was moved to the SYSUNI chain in ATTCPD.

[Cure]
TLO U,-1 if attaching a detached UDB, saving UNISYS link before
calling ATTCPD then using that as the link rather than UNISYS.

[Keywords]
SYSDET
ATTCPD

[Related MCOs]
None

[Related SPRs]
35642

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	COMMON	SPRIN7

703A	


[End of MCO 13156]

MCO: 13157		Name: JAD		Date: 21-Nov-86:10:01:23


[Symptom]
If the monitor disk cache size is changed (probably increased to
make BACKUP run faster) it isn't very easy to restore it to the original
(configured) size since the original size isn't kept around anywhere.

[Diagnosis]
Missing GETTAB entry.

[Cure]
Add one:  %LDOCS, original disk cache size.

[Keywords]
CACHE SIZE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	COMMOD	%LDOCS
		FILIO	CSHINI
		UUOSYM	%LDOCS


[End of MCO 13157]

MCO: 13158		Name: JMF		Date: 21-Nov-86:11:08:59


[Symptom]
After assigning more than 8 logical names (using up all of the
space in the logical name table) a DEVCHR on a logical name assigned to
a device which has been INITed in the current context returns 0. Also,
it is possible to INIT a disk with a logical name which was assigned
and INITed in a previous context (this really doesn't matter since the
DDB gets copied but it does seem unclean).

[Diagnosis]
1) JCH and job number confusion.
2) JCH doesn't get checked.

[Cure]
1) Find the DDB if JCHs match, or if the DDB contains a job number
(not a JCH so not INITed) which matches the JCH.
2) Make the same test as in 1 if the logical name is found via the logical
name table.

[Keywords]
Logical names
DEVCHR

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	UUOCON	DEVCHR,DDBSRC

703A		UUOCON	DDSC2A


[End of MCO 13158]

MCO: 13159		Name: JMF		Date: 21-Nov-86:11:12:54


[Symptom]
Paranoia

[Diagnosis]
I think its possible (likely) that GETWRD/PUTWRD get called
with J containing a JCH when the argument being fetched/stored is from/into
an AC. If J doesn't contain the job number, this will lose big.

[Cure]
Make sure a job number is used when testing JS.ASA.

[Keywords]
JCH
JS.ASA

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	DATMAN	GETWRA,PUTWRA


[End of MCO 13159]

MCO: 13160		Name: JAD		Date: 21-Nov-86:12:33:53


[Symptom]
DIAG. UUO functions 10 and 11 always take the "no privileges" return.
If you patch out the call to ECOD1 the monitor crashes with an EUE.

[Diagnosis]
Golly.  What a strange co-incidence.  The code at DIAXSB expects
the DIAG. function code to be in T1.  Wrong, it's in P2.  T1 just
luckily happens to contain zero here.  When DIAXSB dispatches to the
function-specific routine, it uses a  JRST @.+1-10(P1) which, by a
rare twist of fate, just happens to point at a JRST DIANPV (ECOD1).
(T1 was copied to P1 at DIAXSB).  When I patched out the branch to
ECOD1 the UUO dispatched into the boonies.

[Cure]
Use the right AC for the function code, and range check the
function code "just in case".

[Keywords]
DIAG. UUO

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	UUOCON	DIAUUO,DIAXSB


[End of MCO 13160]

MCO: 13161		Name: RCB		Date: 22-Nov-86:00:32:31


[Symptom]
KAF stopcodes while doing typeout, especially from drivers that try too hard to
be smart about LDLIDL vs. L1RCHP vs. Irma.

[Diagnosis]
We keep giving characters to the driver on its CPU (usually policy), while
other CPUs keep filling the chunks.  If this goes on long enough, we KAF.

[Cure]
Check .CPTMF (now that it counts ticks since we last updated the keep-alive
counter) and refuse to transmit characters if it goes too high.

[Keywords]
KAF
XMTCHR

[Related MCOs]
13137, 13146

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	SCNSER	XMTCHR


[End of MCO 13161]

MCO: 13169		Name: RCB		Date:  2-Dec-86:02:11:23


[Symptom]
Too hard for systems programmers to help certain naive users when they nail
themselves to the wall.

[Diagnosis]
The E and D commands are too obscure for the average user, and many people
choose to declare D to run DIRECT or something.

[Cure]
Change the E and D commands to EXAMINE and DEPOSIT, with UNIQ.1 set so they
will continue to work as E and D in the default case.  While we're at it, since
I've seen too many control files which assume that EX is a unique abbreviation
for EXECUTE, light UNIQ.2 for it.

[Keywords]
Examine
Deposit

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
Beware file entry required
New development MCO
Documentation change

[BEWARE text]
The uniqueness of certain commands has been changed.  The E and D commands are
now named EXAMINE and DEPOSIT, but are forced unique to one character for
compatability.  The EXECUTE command has been set unique at two characters, also
for a measure of backward compatability.

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	330	COMMON	NAMES


[End of MCO 13169]

MCO: 13170		Name: RCB		Date:  2-Dec-86:02:21:38


[Symptom]
Special characters cannot be used as command names.  In particular, "@" can't
easily be made to invoke MIC.

[Diagnosis]
No code.

[Cure]
Add code.  Both MONGEN and the C macro in COMMON will now accept a single
SIXBIT (non-alphanumeric) character in angle-brackets in place of a SIXBIT
string of alphanumerics when defining commands.  While we're here, because it's
an integration feature of sorts, add the "@" command to the standard tables to
run MIC.

[Keywords]
Commands

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	330	COMMON	UCMDNM,COMTAB
		COMCON	COM1Z,CBLANK
		MONGEN	ASKCM1,ASKCM2,ASKC13,ASKC14


[End of MCO 13170]

MCO: 13171		Name: JAD		Date:  2-Dec-86:08:35:32


[Symptom]
Can't easily determine physical memory resources so I can print them
as part of the "SHOW HARDWARE-CONFIGURATION" command in CONFIG.

[Diagnosis]
CONFIG would need to context switch across every CPU doing the S-Bus
diagnostic functions to interrogate the memory controllers.  I don't
like jobs doing CPU context switching, since it leaves them open to
too many failure scenarios.

[Cure]
Invent a DIAG. UUO function to execute an S-Bus diagnostic function.
Argument block format is:

	CPU #,,function (24)
	To-memory word
	From-memory word (returned)


[Keywords]
SBDIAG
CONFIG

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	330	UUOCON	DIAGDS
		UUOSYM	.DISBD


[End of MCO 13171]

MCO: 13172		Name: JAD		Date:  2-Dec-86:11:04:20


[Symptom]
Incorrect definitions of CPU status block subtable entries in UUOSYM.

[Diagnosis]
%CVSA7 is defined as 136 but is really 137.  %CVSSB is defined as
141 but is really 142.  Someone didn't count 5 words from 132 properly.

[Cure]
Redefine %CVSA7 and %CVSSB.

[Keywords]
CPU SUBTABLES
%CVSA7
%CVSSB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change
KL10 only
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	UUOSYM	%CVSA7,%CVSSB


[End of MCO 13172]

MCO: 13173		Name: JAD		Date:  3-Dec-86:09:59:04


[Symptom]
Monitor sources are too big (too many ##'s).

[Diagnosis]
Absolute locations in lower memory (20-100) are defined as globals
in COMMON, which everyone else must reference as external.  These
definitions would seem more rightly to belong in S, as there are
already quite a few defined there (like KS 8080 comms words, the
RSX-20F warm restart stuff, etc.).

[Cure]
Move the definitions to S and remove the ##'s from everywhere.

[Keywords]
LOWER CORE LOCATIONS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	COMMON	LOTS
		CPNSER
		LOKCON
		METCON
		MONBTS
		S
		SYSINI


[End of MCO 13173]

MCO: 13174		Name: JAD		Date:  4-Dec-86:14:38:41


[Symptom]
RTTRP is appropriately named in 7.03.

[Diagnosis]
Multiple choice.  First of all, when the AC definitions changed in
7.03, RTTRP's real-time interrupt level UUO handler (UUOHND) didn't
get the message.  UUOHND assumes ACs 16 and 17 are preserved registers
(they used to be P3 and P4 in 7.02).  Unfortunately, they are now F
and R.  UUOHND loads the job's protection/relocation into R, which
clobbers the contents of AC 17 (the MUUO flags,,PC).

Secondly, when UUOHND calls WAKEUP on a WAKE UUO, a trap to RTTILM
occurs due to P containing a global stack pointer.  UUOHND loads
P with a HRROI P,CnPD1+RTPOPN, then does an AOBJN P,.+1 to prevent
a PDL overflow from occuring on the first PUSH/PUSHJ.  UUOHND does
a PUSHJ to WAKEUP, which eventually gets to PSICND via a SIGNAL of
the wake.  PSICND calls CTXPSI which calls SSEC1.  SSEC1 saves T1
on the stack, then XJRSTs to TPOPJ in section 1.  By now the left
half of P has something like positive 15 in it.  When TPOPJ does
a POP P,T1 a trap occurs due to an illegal memory reference.

Unfortunately, RTTILM winds up dispatching to the user's trap
handling routine as an exec virtual address, rather than a user
virtual address.  Depending on what is in location xyzzy in the
monitor, various bizzare stopcodes will result.

[Cure]
Fix the AC definitions, and put a PRINTX in to warn of future
confusion.

Load P with a real stack pointer which has been offset in both
halves by RTPOPN.

Puzzle over RTTILM for a while longer.

[Keywords]
RTTRP

[Related MCOs]
None

[Related SPRs]
35657

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	COMMON	CHNDXX
		RTTRP	UUOHND,ETC.

703A	


[End of MCO 13174]

MCO: 13175		Name: JAD		Date:  4-Dec-86:15:03:57


[Symptom]
Monitor short on section 0/1 address space (so what else is new)?

[Diagnosis]
Too much stuff in section 0/1 address space.

[Cure]
Move (most of) LATSER to section 2.

[Keywords]
LAT
SECTION 2
ADDRESS SPACE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	LATSER	MUCHO


[End of MCO 13175]

MCO: 13176		Name: DPM		Date:  5-Dec-86:07:21:26


[Symptom]
IME in DSKTIC and DI hangs.  A day one 7-series monitor problem.

[Diagnosis]
Queued protocol I/O processing in DSKTIC isn't interlocked
against other CPUs adding or removing things from the queue.

[Cure]
Surround most of DSKTIC with a DSKOFF/DSKON pair.  I know it's
not very elegant, but it's the only way to fix it.

[Keywords]
DI HANG

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Field service attention
KI10 only
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	FILIO	DSKTIC

703A	

702A	

701A	

700A	


[End of MCO 13176]

MCO: 13178		Name: JAD		Date:  8-Dec-86:11:27:07


[Symptom]
ECC-correctable memory errors on the KS go undetected.  Ditto for "hard"
(non-correctable) errors.

[Diagnosis]
No code to check the memory status register.

[Cure]
Add some code to check the memory status register once/second and
report any "held" hard errors.  Once/minute check for any soft errors
and report those.  Add two new stopcodes and a new option to the
"SET NOMESS" command:

Stopcodes:	KSSME - KS soft memory error (EVENT)
		KSHME - KS hard memory error (INFO)

Command:	SET NOMESSAGE MEMORY - disables above stopcodes

[Keywords]
KS MEMORY ERRORS

[Related MCOs]
None

[Related SPRs]
35655

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KS10 only
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	APRSER	KSSEC
		CLOCK1	CPUMIN
		COMCON	DSKSIL
		COMMON	.CPMSS
		S	MEMSTS
		UUOSYM	%CCMSS


[End of MCO 13178]

MCO: 13180		Name: JAD		Date:  8-Dec-86:13:16:12


[Symptom]
Possible for allocation of 4-word core to overflow into the monitor's
high segment addressing space.  Probably BNZ stopcode during SYSINI.

[Diagnosis]
No code to require SYSSIZ to wind up .LE. MONORG.

[Cure]
Add the code.

[Keywords]
4-WORD CORE
SYSSIZ

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	COMMON	FILMEM


[End of MCO 13180]

MCO: 13181		Name: JAD		Date:  8-Dec-86:13:42:22


[Symptom]
KS monitor is too big.

[Diagnosis]
Parity interrupt code in CLOCK1 never gets invoked on the KS since
all parity errors on the KS are traps and not interrupts.

[Cure]
Put FTKL10 conditionals around the code.

[Keywords]
KS PARITY

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KS10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	CLOCK1	LOTS


[End of MCO 13181]

MCO: 13182		Name: DPM		Date:  9-Dec-86:08:20:21


[Symptom]
AUTCON doesnt (6 of n);  The Big One.

New:  Implement a rewritten AUTCON and device driver interface.  This MCO
begins to address several of the chronic problems relating to tape and
disk configurations such as ghost drives, percentage programming, etc.
In addition, it paves the way to allow any device to be autoconfigured.

Specifically, this MCO elimiates ghost tape drives, bogus tape densities,
and track information what has been seen in the past.

There are a couple of new MONGEN options.  More on that in a later MCO.

DEVPRM.MAC completely supersedes ICHPRM
DX2COM has been merged into AUTCON

The DX10 and KS10 will work when it happens.

[Diagnosis]

[Cure]

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	APRSER
		AUTCON
		COMCON
		COMDEV
		COMMOD
		COMMON
		DEVPRM
		KLPSER
		KNISER
		MONGEN
		MSCCOM
		RNXKON
		RPXKON
		SCSUUO
		SYSINI
		T78KON
		TAPSER
		TAPUUO
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON
		UUOCON


[End of MCO 13182]

MCO: 13183		Name: JAD		Date: 10-Dec-86:13:50:57


[Symptom]
Monitor's idea of amount of EVM available for locking is wrong.

[Diagnosis]
 .C0EVM is set up by using a value computed in COMMON which doesn't
take into account space allocated by ONCMAP, etc.  Consequently, .C0EVM
is usually way too high in comparison to reality.

[Cure]
Since SYSINI already marks off the bit table, have it count up the
pages it marks off and use that to set up .C0EVM.

[Keywords]
EVM
 .C0EVM

[Related MCOs]
None

[Related SPRs]
35660

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	332	COMMON	EVBN,EVLN
		SYSINI	MMTINI

703A		SYSINI	KIIN10,KII10C


[End of MCO 13183]

MCO: 13185		Name: DPM		Date: 15-Dec-86:02:58:56


[Symptom]
The system is painfully slow to come up if one or more of the CPUs are not
running.

[Diagnosis]
At several places throughout SYSINI and ONCMOD, when I/O or other requests
are queued to a non-boot CPU, a fairly long timeout is used to check the
run state of the CPU in question.  This happens when fetching the date/time
from front ends, reading HOME blocks on disks, checking write-locked status,
kontroller up/down status, and finally, the real CPU run status check.

[Cure]
Check for non-boot CPU runnability only once.  Do it before the why reload
question comes out.  If one or more CPUs are not running, put out the usually
message but before continuing, prompt the operator with "Type RETURN when
ready to proceed".  This will give the operator the usual 60 seconds to repond
with CRLF, during which time the other CPUs may be started. Later, when SYSINI
and ONCMOD queue up requests for work to be done on non-boot CPUs, a short
timeout will be used to check the run state.   This essentially speeds up all
the other checks by a factor of four.

XC.SHT (short) bit for the XCTCPU macro in ONCMOD has been replaced by XC.LNG
(long) and the sense of the tests reversed.  By default, a short timeout will
always be used.

[Keywords]
STARTUP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	332	ONCMOD	ONCCPU,XCTCPU
		SYSINI	WHYLOP


[End of MCO 13185]

MCO: 13187		Name: DPM		Date: 15-Dec-86:08:30:38


[Symptom]
New:  Add GETTAB table .GTCHN (207) which contains channel data
block offsets that are of interest to DAEMON.  Currently DAEMON has hard
wired those offsets it finds interesting.  In the near future, I expect
to have an uncontrollable desire to change the CHN around and I don't
intend to fix DAEMON more than once.

[Diagnosis]

[Cure]

[Keywords]
CHANNEL DATA BLOCK
DAEMON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	332	COMMOD	.GTCHN
		UUOCON	NUMTAB
		UUOSYM	.GTCHN


[End of MCO 13187]

MCO: 13188		Name: JAD		Date: 15-Dec-86:12:56:27


[Symptom]
Not enough whizzies in MCO 13178.

[Diagnosis]
13178 adds code to report on KS soft (ECC-correctable) memory errors
once per minute.  The report doesn't print the actual number of errors
during the past minute, just says there were some.

[Cure]
Add a few lines and print the actual number of errors.  Add code to
poke DAEMON when an error occurs so it can get logged if desired.

[Keywords]
SOFT MEMORY ERRORS

[Related MCOs]
13178

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KS10 only
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	332	APRSER	MEMCHK
		S	.ERKSM
		UUOSYM	.ESKSM,%CVKXX


[End of MCO 13188]

MCO: 13189		Name: DPM		Date: 16-Dec-86:08:07:59


[Symptom]
MCO 13182.

[Diagnosis]
1. PULSAR can't do tape I/O or positioning because of confusion in the
   use of TDVKDB and TDVUDB.  It used to be one word but now it's two,
   and some routines want to manipulate both quantities with a single AC.
2. Lots of duplicate code in the drivers to configure UDBS and DDBs.
3. Duplicate CPU info in the DDBs.
4. Inaccessible code in ONCMOD left over from the time it used to check
   for 18-bit tape channels.
5. Unused CPU variable .CPTIL and unmatched angle brackets in comments.

[Cure]
1. Use two ACs.
2. Create a routine in TAPSER called TAPDRV which does all the common stuff
   of the TxxDRV routines for UDBs and DDBs.
3. Use the CPU accessibility mask and pitch the old-style CPU byte.
4. Remove code.
5. Remove .CPTIL and widgets.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	332	COMCON	PRTDD2
		COMMON	ASGDEV,.CPTIL
		IPCSER	SNDFIN
		ONCMOD	CPUKDB
		T78KON	T78DRV
		TAPSER	TAPDRV,TAPDIC,TOCPU,ETC.,ETC.,...
		TAPUUO	LOTS
		TCXKON	TCXDRV
		TD2KON	TD2DRV
		TM2KON	TM2DRV
		TMXKON	TMXDRV
		TX1KON	TX1DRV
		UUOCON	FOPN13,DVST1


[End of MCO 13189]

MCO: 13192		Name: JAD		Date: 19-Dec-86:10:40:35


[Symptom]
An exec page fault while running at real-time interrupt UUO level
will wind up dispatching into what it thinks is the user's trap
handler, but as an exec PC, winding up in the boonies.

[Diagnosis]
RTTILM assumes all faults will be caused by the user.

[Cure]
Check for exec mode fault and execute a stopcode RTTIME if the trap
occurs in exec mode.

[Keywords]
REAL TIME
RTTRP

[Related MCOs]
13174

[Related SPRs]
35657

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	333	COMMON	RTTILM

703A	


[End of MCO 13192]

MCO: 13193		Name: JAD		Date: 22-Dec-86:08:12:48


[Symptom]
KAF stopcode spinning up an RA60 drive.

[Diagnosis]
Loop in SYSUNI chain caused by UNLDET assuming unit being attached
isn't already on the SYSUNI chain.  This may not be the case if the
drive is attached via the same port it was previously attached on.

[Cure]
Teach UNLDET not to link a unit into the SYSUNI chain if the unit is
already on the SYSUNI chain.

[Keywords]
RA60
KAF
UNLDET

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	333	FILIO	UNLDET

703A	


[End of MCO 13193]

MCO: 13197		Name: TL		Date: 29-Dec-86:19:19:34


[Symptom]
DDT11 doesn't work reliably in hard-to-pin-down circumstances.
Tony's whizzy code based on my hacks fails every blue moon.
Software installation using the FE: device can install corrupt data.
Software diagnosis of -20F resident files transfered via FE: can be
confused by corrupt data.

Also, Grey hair and Baldness.

[Diagnosis]
FEDSER carefully nails down its data base whilest switching
monitor buffers.  Unfortunately, the test to decide whether to switch buffers
is not nailed down.  Thus, data delivered by the -11 in this 20-odd
instruction window never gets handed to the FE device owner.

[Cure]
Check again to see if data was delivered after we have the interlock,
but before we switch buffers.  If so, go back and use it.  If not, switch
buffers.

This approach prevents getting the SYSPIF interlock most of the time.

[Keywords]
603A
KL LIR
DDT11
FE
LOST DATA
FE:
Gosh.

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
HOSS attention
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		FEDSER	FEDUI2,FEDUI3

704	


[End of MCO 13197]

MCO: 13199		Name: DPM		Date: 30-Dec-86:07:54:20


[Symptom]
New:  Read and store tape drive serial numbers in the TUB.
Add DIAG. UUO function .DIDSN==25 to read the serial numbers of tapes
and disks.  The S/N will be returned as two words in the argument
block.

[Diagnosis]

[Cure]

[Keywords]
AUTCON,DIAG

[Related MCOs]
13151

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	334	FILIO
		TAPUUO
		UUOCON	DIADST


[End of MCO 13199]

MCO: 13200		Name: JAD		Date: 30-Dec-86:09:19:02


[Symptom]
Hard to determine if a disk pack is really something RSX-20F might
be interested in when PULSAR is checking if a pack can be removed.

[Diagnosis]
PULSAR assumes single ported drives may be accessible via -20F if
there is a FE.SYS in [1,4] on that pack.  Actually, the drive may only
be single ported or ported to a "down" CPU and PULSAR still asks about
the "FE" pack.

[Cure]
Use the drive serial number info returned by -20F and add another
word to the DSKCHR UUO which gives the FE status of the pack.  The
status may be one of the following:

	0 - don't know if FE accessible
	1 - definitely not FE accessible
	2 - definitely FE accessible
	3 - FE boot device

This code is returned in bits 0-1 of word 76 of the DSKCHR UUO.  See
UUOSYM for definitions of fields, etc.

[Keywords]
FE PACKS

[Related MCOs]
13194

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	334	COMMOD	UNIDS2,U2PFEP
		DTESER	DSNRCV,DTEGBU
		FILFND	DSKCHR,GETXSF
		UUOSYM	DSKCHR


[End of MCO 13200]

MCO: 13201		Name: BAH/JAD		Date: 30-Dec-86:12:09:59


[Symptom]
RESOURCES command incomplete.

[Diagnosis]
Barb wants it to list CPUs which can run jobs.

[Cure]
Seems reasonable.  List CPUs with the sign bit of .CPRUN clear at
the end of the regular resources list.

[Keywords]
RESOURCES
BARB IS BORED

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	335	COMCON	LOP02


[End of MCO 13201]

MCO: 13202		Name: TL		Date: 30-Dec-86:17:02:08


[Symptom]
Even after MCO 13197, FED devices will return a random amount
of junk data under obscure circumstances.

FEDs can trash monitor free core under obscure circumstances.

FEDs get lost on PUSH/POP.  Contexts hung in FI/FO after PUSH/POP.

FEDs are hard to use.

[Diagnosis]
Too many uses for too few pointers.

FED monitor buffers are allocated on FED GET, but the
pointers used to access them aren't initialized.  

FEDSER marks data as available to the user when the DTE hasn't
delivered it yet.

RESET can release buffers that are being filled (or emptied).

FEDs don't understand CTXSER.

No provision for a generic open forces user programs into percentage roulette.

[Cure]
Yes.

Add the necessary book-keeping to the FED.  Teach FEDSER to use it.

Make sure that the interrupt service doesn't think that the
FED has been initialized before it has buffers and pointers.  This
prevents trashing random memory locations in "free" core.

Allow the FED OPEN function to accept -1 for the FED unit number.  In
this case, search for a free FED on the specified CPU/DTE, and if one
is found, assign it and return its unit number in AC.

[Keywords]
FED
DTE
DDT11
RSX20F
KL LIR
Gosh.

[Related MCOs]
13197

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change
HOSS attention
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		FEDSER	FEDGET,FEDGTW,FEDASG,FEDGTC,FEDUIN,FEDUIB,FEDUBX,FEDSAK,FEDTKD,FEDLMG,FEDTDD
		DTEPRM	FE.MIP,FE.JCH,FEDTCT

704	


[End of MCO 13202]

MCO: 13203		Name: KBY		Date: 31-Dec-86:09:56:19


[Symptom]
JOBPEK still doesn't quite work.

[Diagnosis]
Previous fixes got unfixed, and new ones needed to be
added anyway.

[Cure]
Add all fixes.  Things fixed include making sure the funny
space monitor buffer for reading and writing is uncached, and
being sure .JBPK gets updated if we get swapped out (the funny
space page moves but .JBPK doesn't get updated by the swapper).

[Keywords]
jobpek

[Related MCOs]
13195

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		UUOCON	JOBPEK
704	335


[End of MCO 13203]
MCO: 13207		Name: KBY		Date:  4-Jan-87:14:27:44


[Symptom]
Can't convince LOKCON to LOCK something in EVM with the
cached turned on in EVM.

[Diagnosis]
LOKCON always turns off the cache for pages in EVM.
Also, VMSER for the LOCK PAGES function always leaves the cache
as is currently.

[Cure]
Although it should be possible to turn the cache back on for the
user pages, it still won't go on in EVM.  Add code to follow the user's
request bit.  VMSER will currently always turn the cache off until/unless
I can figure out a way to pass the argument in.

[Keywords]
cache
LOCK

[Related MCOs]
None

[Related SPRs]
35658

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		LOKCON
704	336	VMSER


[End of MCO 13207]

MCO: 13208		Name: JAD		Date:  5-Jan-87:10:07:32


[Symptom]
IME, etc., stopcode possible trying to return a BHD for a CI disk.

[Diagnosis]
The BHD we're trying to return is garbage because DRBBHD contains
garbage.  Garbage begets garbage and things go downhill from there.

[Cure]
Zero DRBs before letting FILIO fill them in.  That will (possibly)
prevent the problem.

[Keywords]
DRBS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	335	FILIO	GETDRB

703A	


[End of MCO 13208]

MCO: 13209		Name: JAD		Date:  5-Jan-87:10:42:19


[Symptom]
LOKSCD can allow more than one CPU to obtain the scheduler interlock.

[Diagnosis]
If CPU "A" calls LOKSCD and gets interrupted after the AOSE of
 .CPSCD, CPU "B" can sneak in and obtain the scheduler interlock.  If
CPU "A" now calls LOKSCD (at interrupt level), it will erroneously
think it owns the scheduler interlock.  This can lead to two CPUs
romping through the scheduler at the same time.

[Cure]
Insert a CONO PI,SYSOFF at LOKSCD.  Since LOKSCD always exits with
all PI channels below APR level turned off, this won't hurt and will
prevent the race condition from happening.

[Keywords]
LOKSCD
RACE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	335	CPNSER	LOKSCD


[End of MCO 13209]

MCO: 13210		Name: JAD		Date:  5-Jan-87:12:27:28


[Symptom]
Disk drive serial numbers are somewhat confusing.

[Diagnosis]
Massbus disks have a single-word serial number while CI disks have
a double-word serial number.  We store the single-word serial number
in the first (high-order) word of UNISER, when it should really go
in the second (low-order) word of UNISER.

[Cure]
Change two UNISER##(U) references to UNISER##+1(U).

[Keywords]
UNISER

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	335	RNXKON	RNXCP7
		RPXKON	RPXCP3


[End of MCO 13210]

MCO: 13211		Name: DPM		Date:  6-Jan-87:05:56:51


[Symptom]
AUTCON doesn't (10 of n)

[Diagnosis]

[Cure]
For the KS10:
Put massbus register offsets in DEVPRM.  Also define KS10 status, control,
drive, and error register bits there.  Generalize RDMBR and WTMBR routines
so they stand a chance of working.  Fix up TM2CFG.  Maybe it will work too.

For all monitors:
1. Teach TM2KON to use RDMBR and WTMBR instead of it's useless read/write
   register routines which don't know how to defend against RAE.
2. Define common UDB offsets.
3. Make all references to common KDB and UDB offsets use full word addressing.
   This includes KDBIUN and KDBCUN (KDBFUN is the final UDB address).  TCXKON
   and TMXKON won't run extended.  Too bad.
4. Provide an interlock for use by AUTCON when it is run on more than one
   CPU at a time (not turned on yet).
5. Make AUTCON's KDBTAB and DDBTAB tables GETTAB'able.  Each is indexed by
   device type (.TYxxx) and contains the first KDB/DDB of its type.  The
   tables are .GTKDB==210 and .GTDDH==211 respectively.  This is for programs
   that insist on sniffing at data they have no business looking at.  Beleive
   it or not, DAEMON doesn't need this info but other programs do.  Other
   similar [old] GETTABs will soon be obsoleted.
6. Move .GTCHN to the low segment.  DAEMON is too stupid to simulate GETTABs
   in the high seg.

[Keywords]
AUTCON

[Related MCOs]
13151

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	335	DEVPRM	.DOXXX,UDBXXX
		AUTCON
		COMMOD	.GTCHN
		TAPUUO
		TAPSER
		T78KON
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON
		UUOCON	NUMTAB


[End of MCO 13211]

MCO: 13215		Name: JAD		Date:  7-Jan-87:13:16:28


[Symptom]
Still kinda hard to determine the KS hardware configuration.

[Diagnosis]
I don't want to set USRIO in CNFHDW so I can read UNIBUS registers.

[Cure]
Make the DIAG. UUO work on the KS (a few limited functions).  Define
a new function (.DIRUR = 26) which reads a UNIBUS register.

[Keywords]
DIAG.

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KS10 only
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	FILIO	DIAALT
		UUOCON	DIAUUO
		UUOSYM


[End of MCO 13215]

MCO: 13216		Name: JAD		Date:  7-Jan-87:18:38:05


[Symptom]
[DEFERRED]

[Diagnosis]

[Cure]

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	SYSINI	ONCMAP


[End of MCO 13216]

MCO: 13217		Name: JAD		Date:  8-Jan-87:12:02:56


[Symptom]
Too many names for the same thing causes confusion.

[Diagnosis]
RPXKON has lots of MASSBUS register definitions which are duplicates
of the ones in DEVPRM (with different names).

[Cure]
Change RPXKON to use the MASSBUS register definitions which are
in DEVPRM.  Add a few missing register definitions to DEVPRM.
While I'm at it, remove the FTKL10 conditionals from RPXKON.

[Keywords]
MASSBUS REGISTERS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	DEVPRM	.DIXXX
		RPXKON	.DIXXX


[End of MCO 13217]

MCO: 13219		Name: DPM/JAD		Date:  9-Jan-87:09:55:12


[Symptom]
AUTCON doesn't (11 of n)

[Diagnosis]

[Cure]
Insert the common UDB and KDB headers in the disk UDB and KDB.
Move data from the UDB and KDB into the common headers.  THis
prepares the way for AUTCONing disks the "new" way.

[Keywords]
AUTCON
DISKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	AUTCON
		COMCON
		COMMOD
		COMMON
		CPNSER
		DPXKON
		ERRCON
		FHXKON
		FILFND
		FILIO
		FILUUO
		FSXKON
		IPCSER
		ONCMOD
		RAXKON
		RNXKON
		RPXKON
		SYSINI
		UUOCON
		VMSER


[End of MCO 13219]

MCO: 13221		Name: JAD		Date: 12-Jan-87:09:17:00


[Symptom]
Bizarre symbol name for RP04 drive type.

[Diagnosis]
TY.RU doesn't make a lot of sense.

[Cure]
Change it to TY.RP4 so it is consistent with the other defs.

[Keywords]
AUTCON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	AUTCON	TYPTAB
		DEVPRM	TY.RU


[End of MCO 13221]

MCO: 13222		Name: JAD		Date: 12-Jan-87:10:33:26


[Symptom]
There is too much knowledge of inter-section references in the
monitor.  Certain monitor modules must be loaded in a certain order
to ensure some global subroutines are addressable in section 0/1 and
in section 2 without indirects, SNCALLs, etc.

[Diagnosis]
Moving DECnet into section 2 was a neat hack, but we never did
anything to make it easy to do for other modules.

[Cure]
Start reorganizing the monitor address space.  Invent another monitor
PSECT, the "common subroutines" PSECT.  Move some common data there
(like BITTBL, SAVEn, CPUAPP, interlocking routines in CPNSER, all
of DATMAN, all of DECnet's "$HIGH" code, start of "DIE", etc.).

[Keywords]
ADDRESS SPACE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	COMMON
		CPNSER
		D36PAR
		DATMAN
		ERRCON
		MONEND
		S
		SYSINI


[End of MCO 13222]

MCO: 13223		Name: DPM		Date: 13-Jan-87:07:58:07


[Symptom]
AUTCON doesn't (12 of n)

[Diagnosis]

[Cure]
1. Isolate generic driver dispatch table entries from the device
   specific stuff used by tape service.
2. Make use of KDBTAB and obsolete CNFMTK as threatened in a previous
   MCO.
3. Add hooks to AUTCON to faciliate making dual ported tapes a reality.
4. Fix up code to properly type offline kontroller names.
5. Fix bad use of byte pointer which smashed WHY reload (CRSWHY).
6. Make AUTCON and the xxxCFG routines run in section one.  It necessitates
   stuffing an explicite MCSEC1 in the left half of several dispatch table
   entries for section 0/1 drivers at SYSINI time cuz IFIWs won't work for
   drivers calling AUTCON from the sky high segment and AUTCON cannot
   presuppose who is going to call him from where.
7. Make all tape interrupt code run in section one.  Interrupts actually
   occur in section one, it's not faked with SE1ENTs.


"Wondrous apparitions provided by magicians ..."

[Keywords]
AUTCON

[Related MCOs]
13151

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	DEVPRM
		TAPSER
		TAPUUO
		T78KON
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON


[End of MCO 13223]

MCO: 13225		Name: JAD		Date: 14-Jan-87:11:43:00


[Symptom]
Implement deferred MCO 13219, to wit:

AUTCON doesn't (11 of n)

[Diagnosis]

[Cure]
Insert the common UDB and KDB headers in the disk UDB and KDB.
Move data from the UDB and KDB into the common headers.  THis
prepares the way for AUTCONing disks the "new" way.

[Keywords]
AUTCON
DISKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	AUTCON
		COMCON
		COMMOD
		COMMON
		CPNSER
		DPXKON
		ERRCON
		FHXKON
		FILFND
		FILIO
		FILUUO
		FSXKON
		IPCSER
		ONCMOD
		RAXKON
		RNXKON
		RPXKON
		SYSINI
		UUOCON
		VMSER


[End of MCO 13225]

MCO: 13226		Name: JAD		Date: 14-Jan-87:14:56:10


[Symptom]
Monitor is too big.

[Diagnosis]
PI channel for a disk kontroller is stored in the KDB.  As we all
know, there is no way we could ever split the disks across more than
one PI channel these days, so all references to this byte wind up
being equivalent to a MOVEI ac,DSKCHN##.

[Cure]
Delete KOYPI and use DSKCHN where appropriate.  Saves a few words
here and there when a LDB/TRO could be combined into a MOVEI.

[Keywords]
KOYPI

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	337	AUTCON
		COMMOD
		DPXKON
		FHXKON
		FSXKON
		KONPAR
		RNXKON
		RPXKON
		SYSINI


[End of MCO 13226]

MCO: 13227		Name: JAD		Date: 16-Jan-87:13:21:55


[Symptom]
Miscellaneous problems in SYSINI:

[Diagnosis]
1) ONCMAP may try to assign "reserved" exec virtual address (HLCSAD or
   above).  It should give an OVA stopcode instead.

2) NZSCGT calls ONCMAP to allocate single pages for non-zero section
   code or data which incurs extra overhead.

3) ONCMAP isn't terribly efficient.

4) Length of common subroutines psect isn't generally available.

[Cure]
Miscellaneous fixes:

1) Add an entry point to ONCMAP for callers who are assigning address
   in the "reserved" region, and have the regular entry point stopcode
   OVA when allocation hits HLCSAD.

2) Write a small subroutine which does the essential work of ONCMAP and
   have NZSCGT call it.

3) Straighten up some code, and call the new routine invented for NZSCGT.

4) Store the length of the common subroutines psect in CSBLEN in COMMON.

[Keywords]
ONCMAP
SYSINI
OVA

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	337	COMMON	.ENMAP,.ENMP1,CSBLEN
		SYSINI	NZSCGT,ONCMAP,GTPHPG
		UUOCON	PEEK,POKE


[End of MCO 13227]

MCO: 13228		Name: RCB		Date: 18-Jan-87:23:32:04


[Symptom]
Still too hard to debug SMP.  Non-policy CPUs don't have symbols when
hitting breakpoints.

[Diagnosis]
The EDV points to a hidden symbol switching block which is per-CPU.
Thus, when CPU1 hits a breakpoint, and we update CPU0's map, we still
don't have a symbol table.

[Cure]
Add yet another word to the EDV, .EDLNK, to point to the next EDV in
the system.  This is a ring pointer, not a zero-terminated chain.
EDDT knows how to handle this (as of edit 662).

[Keywords]
Symbol table lost
Debugging

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	337	COMMON	.CPEDV
703A		S	.EDLEN
		UUOSYM	.EDLEN


[End of MCO 13228]

MCO: 13229		Name: JAD		Date: 19-Jan-87:10:08:19


[Symptom]
SET MEMORY OFFLINE doesn't after CSUB psect was invented.

[Diagnosis]
ADJMAP in LOKCON doesn't know about the new psect.

[Cure]
Teach it.  Change two MONORG references to CSBORG references.

[Keywords]
SET MEMORY OFFLINE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	337	LOKCON	ADJMAP


[End of MCO 13229]

MCO: 13231		Name: DPM		Date: 20-Jan-87:05:40:35


[Symptom]
AUTCON doesn't (13 of n)

[Diagnosis]

[Cure]
1. Alter the driver dispatch a bit to make life easier for Tony.
2. Separate out the CONSO and vector interrupt code from the KDBs.  This
   will allow data blocks in non-zero sections to work (someday).  KDBCSO
  and KDBVIN point to the appropriate low core addresses.
3. Pass the device CONI bits to the drivers on xxxCFG calls.
4. Fix miscellaneous dual ported tape buggers.  Oh by the way, turn on tape
   dual porting.
5. Fix miscellaneous extended addressing bugs in TD2KON and TX1KON.  Bits in
   the left half of T1 do nasty things in section one.
6. Be more clever when trying to dual port a TU70 or TU71 which do not know
   how to return a drive serial number.  Conjure up a S/N using the TX serial
   number and the physical drive number.
7. Fix typos in the TAPLOK and TAPULK routines, so that some daring soul might
   be able to turn on the new tape service interlocks if they were so inclined.
10. Work around IPCSER's 18-bit mentality by copying labeler IPCF messages
    to section zero free core if they reside in an extended UDB.
11. Turn on code to uncache DX10 KDBs correctly (as opposed to the way it was
    done in the old AUTCON).  In addition to dinking with PAGTAB bits, also
    fix up the current mapping.
12. Create two new device types:  .TYKLP==36 (KLIPA) and .TYKNI==37 (KLNI).
    These are needed to clean up DIAG. UUO dispatch once we start autoconfigure
    these devices using the new code.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	337	DEVPRM
		AUTCON
		TAPSER
		TAPUUO
		T78KON
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON
		UUOCON
		UUOSYM
		S
		COMMON
		CPNSER
		SYSINI
		MONGEN


[End of MCO 13231]

MCO: 13233		Name: KDO		Date: 21-Jan-87:15:33:42


[Symptom]
ANF-10 file transfers don't.

[Diagnosis]
DAP message type gets lost: IDC type deposited in wrong location.
NTDSIB contains an "AOS (P)" followed by a PJRST to a routine which does
a skip return.  The result is a POPJ2, which leaves T1 in routine T.SIB with
the wrong value.  

[Cure]
Remove the offending code.

[Keywords]
ANF-10
file transfer

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	340	NETSER	NTDSIB

703A	


[End of MCO 13233]

MCO: 13235		Name: JMF		Date: 22-Jan-87:06:27:29


[Symptom]
Too much monitor overhead (1 of n, I hope).

[Diagnosis]
SCSCLK gets called, saves some ACs and discovers that its on the
wrong CPU.

[Cure]
Don't call SCSCLK unless on the BOOT CPU. Also check to see if there
is anything to do before saving ACs.

[Keywords]
performance

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	340	CLOCK1	STOPAT
		SCSUUO	SCSCLK


[End of MCO 13235]

MCO: 13236		Name: JMF		Date: 22-Jan-87:06:58:46


[Symptom]
Too much monitor overhead.

[Diagnosis]
DLJILS is a popular routine. It PUSHs/POPs T1. However, the only call
to it which cares about T1 is under an IFE FTNSCHED conditional which is an
unsupported feature test setting.

[Cure]
Don't PUSH/POP T1 in DLJILS. In the FTNSCHED conditional, save T1 across
the call.

[Keywords]
performance

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	340	SCHED1	QFIXB,DLJILS


[End of MCO 13236]

MCO: 13237		Name: JAD/DPM		Date: 22-Jan-87:13:51:21


[Symptom]
AUTCON doesn't (14 of n)

Or, in other words, AUTCON doesn't have enough to do.

[Diagnosis]
Tapes are fun and all that, but disks would be nice ...

[Cure]
1)  Teach RPXKON how to configure disks using the new AUTCON.

2)  Teach RAXKON how to configure disks using the new AUTCON.

3)  Teach FSXKON (!) how to configure disks using the new AUTCON.

4)  Remove lots of table entries in AUTCON dealing with RAXKON and
    RPXKON types of disks.

5)  Delete pseudo device type definitions (TY.R80, TY.R81, TY.R60)
    from DEVPRM since they are no longer needed.  Add TY.RS5 (RS05).

6)  Invent two new routines in FILIO to build disk KDBs and UDBs.
    Call these routines from RPXKON, RAXKON, and FSXKON.

7)  Autoconfigure KLIPAs and KLNIs using the new stuff.

10) Remove all references to KLPICH and KNIICH (except DIAG. which will
    be taken care of later) and finally satisfy a 7.03 CSSE requirement
    that IPA devices may use any RH20 slot.  The MDT contains the device
    code, so it may be changed using MONGEN.  I might be more clever later
    if I get a chance.

11) Move IPA device definitions, etc. into COMDEV.

12) Add common routines to read, write, and load an IPA cram.  Also add
    one to read the LAR.

13) Add DR.XAD in the driver dispatch to indicate an extended addressing
    driver.  This controls where interrupts and DIAG. UUO dispatches will
    go.  Note that all AUTCON calls are  always expected to come from a
    non-zero section.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	340	AUTCON
		COMDEV
		COMMOD
		COMMON
		COMNET
		DEVPRM
		FILIO
		FSXKON
		KLPPRM
		KLPSER
		KNIPRM
		KNISER
		MONGEN
		RAXKON
		RPXKON
		S
		SCSUUO
		TAPSER
		TAPUUO
		T78KON
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON


[End of MCO 13237]

MCO: 13240		Name: JAD		Date: 26-Jan-87:11:59:45


[Symptom]
Monitor sources too big.

[Diagnosis]
Too many instances of ".TYxxx/.TYEST" when checking device type
because the definitions in S are crocky.

[Cure]
Change the definitions of .TYxxx in S and prototype DDBs, then change
all .TYxxx/.TYEST references to be .TYxxx instead.  Also change 
reference to first disk kontroller (DSKKDB==KDBTAB+.TYDSK/.TYEST)
to be KDBTAB+.TYDSK.

[Keywords]
 .TYXXX
 .TYEST
PDVTYP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Beware file entry required
New development MCO
Documentation change

[BEWARE text]
The device type definitions in S.MAC (.TYxxx) have been changed
so it is not necessary to divide the type by .TYEST when checking the
device type obtained from a LDB ac,PDVTYP.  The definitions in all
prototype DDBs have been changed to be .TYxxx*.TYEST.  Please check
all customer-specific code for references to .TYxxx and change them
as stated above.

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	340	AUTCON
		CLOCK1
		COMDEV
		COMMOD
		COMMON
		COMNET
		CORE1
		CPNSER
		D78INT
		D8KINT
		D8RINT
		DEVPRM
		DISSER
		DTASER
		DTESER
		FILIO
		IPCSER
		MSGSER
		NETDEV
		NETPRM
		NETSER
		ONCMOD
		PTYSER
		RNXKON
		S
		SCNSER
		SYSINI
		TAPSER
		TAPUUO
		UUOCON
		VBCSER
		XCTSER


[End of MCO 13240]

MCO: 13241		Name: JAD		Date: 26-Jan-87:12:53:18


[Symptom]
Monitor sources too big.

[Diagnosis]
Extra definitions of RH20 channel command word types in COMMOD.

[Cure]
Delete those definitions and use the ones from DEVPRM instead.

[Keywords]
RH20 CCW

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	340	APRSER
		COMMOD
		COMMON
		FILIO
		T78KON
		TAPUUO
		TD2KON
		TM2KON
		VMSER


[End of MCO 13241]

MCO: 13242		Name: KDO		Date: 26-Jan-87:12:57:51


[Symptom]
Too much monitor overhead.

[Diagnosis]
At DTERN1, T4 already contains the TO-10 address, and T3 already
contains the message size.  It is not necessary to reset these values.

[Cure]
Remove the unnecessary code.

[Keywords]
overhead

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	340	DTESER	DTERN1


[End of MCO 13242]

MCO: 13244		Name: RCB		Date: 27-Jan-87:08:53:06


[Symptom]
Dual-ported tapes don't work.

[Diagnosis]
Can't schedule them properly.  UDBs can be assigned the wrong
length.  Random locations (other than KDBs) can be uncached.

[Cure]
Yes.  Still doesn't fix all the cases, but it comes a lot closer now.

[Keywords]
AUTCON
dual-ported tapes

[Related MCOs]
13115, 13231

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	340	AUTCON	AUTINI,AUTDPU,INICKT


[End of MCO 13244]

MCO: 13245		Name: JMF		Date: 28-Jan-87:07:17:43


[Symptom]
Too much monitor overhead (3 of n).

[Diagnosis]
GETIME (a very popular routine) and SETIME (not so popular)
are uncached.

[Cure]
$HIGH

[Keywords]
overhead

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	341	COMMON	SETIME


[End of MCO 13245]

MCO: 13247		Name: JMF/BF		Date: 29-Jan-87:07:22:48


[Symptom]
System hung setting memory containing the monitor's high segment off
line.

[Diagnosis]
SWPSER can allocate space on a unit accessible only by CPUs that are
not running when trying to swap out all of the jobs in core so that the monitor's
high segment can be moved. Since SWPSCN can't find a unit it can do the swapping
I/O on, the system is hung.

[Cure]
If setting monitor memory off line, only allocate swapping space on a unit
which is accessible to the policy CPU.

[Keywords]
set memory off line
hung

[Related MCOs]
None

[Related SPRs]
35565

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	341	SWPSER	GT2
703A	
702	


[End of MCO 13247]

MCO: 13248		Name: JMF		Date: 29-Jan-87:07:31:13


[Symptom]
System hung setting monitor memory off line.

[Diagnosis]
If a job owns a resource which will not be given up until it runs
after the completion of disk I/O, e.g. the AU, and the disk that the I/O is
being done on lives on a CPU that's going to stick its head in the sand while
the memory is getting set off line, and if that job gets picked by LOKCON to
swap out, the job gets put in FORCEF and will never go out thus hanging the
swapper.

[Cure]
Ignore sharable resources when trying to swap out jobs to set monitor
memory off line.

[Keywords]
set memory off line
hung

[Related MCOs]
None

[Related SPRs]
35565

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	341	SCHED1	FORC0A
703A	
702	


[End of MCO 13248]

MCO: 13249		Name: JMF		Date: 29-Jan-87:10:32:25


[Symptom]
If memory is set off line and there are no pages of monitor memory
to be moved, the job winds up sleeping forever and the pages don't get set
off line.

[Diagnosis]
Sometime during 7.03 development, a label got moved which causes
the BOOT CPU to wait for other CPUs to jump into their ACs but since there
are no monitor pages to set off line, there is nothing to cause the other
CPUs to go away. Thus, the job setting the memory off line waits forever.

[Cure]
Move the tag back where it belongs.

[Keywords]
set memory off line
hung

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	341	LOKCON	MEMOF2
703A	


[End of MCO 13249]

MCO: 13254		Name: JMF		Date:  2-Feb-87:08:20:05


[Symptom]
Too much monitor overhead (4 of n).

[Diagnosis]
NRTSEC saves a bunch of ACs and then does a SKPCPU going away
if not on the BOOT.

[Cure]
Do the SKPCPU before saving ACs.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	341	NRTSER	NRTSEC


[End of MCO 13254]

MCO: 13257		Name: DPM		Date:  3-Feb-87:08:09:37


[Symptom]
AUTCON doesn't (15 of n)

[Diagnosis]

[Cure]
1.  Upgrade all disk drivers to the same level of incompetance as RPXKON
    and RAXKON.  This includes autoconfiguring DPXKON and FHXKON in the
    same manner as TCXKON (i.e. must have MDT entries for each drive).
    Most all of the old AUTCON code and the DSKDDB crocks when building
    the DDB linkages during SYSINI go away.  Like all proper devices
    that can be autoconfigured, disks no longer have INTTAB entries.
    KONPAR is no longer used.

2.  Turn on per-CPU device counters in the MDTs.  These replace the old
    .CPNUM, NUMTAP, NUMRPA, etc., as well as the symbols CPnNRP, CPnNRP,
    and CPnNTP.

3.  Clean up a big mess in COMMOD by moving the disk KDB definitions into
    DEVPRM.  COMMOD shrinks by about 25 blocks and there's still a lot to go.

4.  Teach routine NETDEV (in NETSER) how to correctly pick up the tally of
    device counts from AUTCON.  This is to get the ANF config message right
    and amoung other things, lets other systems host into us.

5.  Move the xxxHWP and xxxUPA routines from ONCMOD and SYSINI respectively
    into the appropriate disk drivers under the $INIT PSECT.  ONCMOD will no
    longer contain any code that has intimate knowledge of a how to talk to
    a piece of hardware.

6.  Remove the old external channel options from MONGEN.  Everything uses
    AUTCON now.

7.  Give the KLIPA and KLNI KDBs names like CI0, NI1, etc. so CONFIG will be
    able to display something recognizable to the user (once we have a new
    RECON. UUO function to return kontroller names).

10. KLPSER occasionally zeros S when it's trying to zap the CONSO bits for
    the KLIPA.  Change a couple of lurking references to CHNBTS into .PCBIT.
    Delete CHNBTS and it's no longer used.

11. Delete CHNPCB as it's longer used.  A PCB is really a KDB in drag.

12. Delete CHNRSC, the number of times a DX20 has been restarted, and move
    the counter to RNXRSC in the KDBs.  No one looks at this word, not even
    DAEMON.  Theoretically, there can be more than one DX20 on a channel,
    although the code doesn't look like it handles it properly.

13. Remove the DK10 option from MONGEN.  It hasn't been usable since 7.01.
    Also remove lots of related macros in CODMEV to support the old high
    precision clock.

14. It's official, the DX10 is once again supported.  Make the appropriate
    change to MONGEN.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Beware file entry required
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704		AUTCON
		CLOCK1
		COMDEV
		COMMOD
		COMMON
		DEVPRM
		DPXKON
		FHXKON
		FILIO
		FILUUO
		FSXKON
		KLPSER
		KNISER
		MONGEN
		NETSER
		ONCMOD
		RAXKON
		RHXKON
		RNXKON
		RPXKON
		SYSINI
		T78KON
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON
		UUOCON


[End of MCO 13257]

MCO: 13258		Name: JAD		Date:  4-Feb-87:14:14:10


[Symptom]
AUTCON doesn't (16 of n).

[Diagnosis]

[Cure]
1) Move the disk UDB definitions to DEVPRM

2) Remove lots of "old AUTCON" code from COMMOD dealing with KDB and
   UDB generation (several pages of macros).

3) Delete KDB and UDB definitions from COMMOD.

[Keywords]
AUTCON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	AUTCON
		CLOCK1
		COMCON
		COMMOD
		COMMON
		CPNSER
		DEVPRM
		DPXKON
		FHXKON
		FILFND
		FILIO
		FILUUO
		FSXKON
		IPCSER
		ONCMOD
		RAXKON
		REFSTR
		RNXKON
		RPXKON
		SCHED1
		SEGCON
		SWPSER
		SYSCHK
		SYSINI
		UUOCON
		VMSER


[End of MCO 13258]

MCO: 13259		Name: KDO		Date:  5-Feb-87:11:27:23


[Symptom]
PRVTAB entry for obsolete CUSP.

[Diagnosis]
PRVTAB contains an entry for REATTA, which is obsolete (this function
is provided by LOGIN).

[Cure]
Remove the entry.

[Keywords]
REATTA

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	COMMON	PRVTAB


[End of MCO 13259]

MCO: 13260		Name: JAD		Date:  5-Feb-87:14:08:30


[Symptom]
POKE UUO doesn't always succeed when it should.

[Diagnosis]
The test on "old contents" matching the contents of the address
being poked fails because way down in the bowels of POKADR, UNCACH
gets called, which calls UNCACC, which calls SLEEPF, which calls
 . . ., which eventually steps on T4.  Upon the return from POKADR
T4 doesn't contain the original value so the UUO fails.

[Cure]
Save the "old contents" on the stack while calling POKADR.

[Keywords]
POKE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	UUOCON	POKE0


[End of MCO 13260]

MCO: 13261		Name: JAD		Date:  6-Feb-87:09:59:04


[Symptom]
KS monitor too complex.

[Diagnosis]
No real need to put the common subroutines in a separate (the CSUB)
psect since the KS doesn't support extended addressing.

[Cure]
Make CSUB equivalent to HIGH on the KS.

[Keywords]
CSUB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KS10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	COMMON	PSECTS
		S	PSECTS


[End of MCO 13261]

MCO: 13262		Name: JAD		Date:  6-Feb-87:10:12:25


[Symptom]
No easy way to prevent the KLNI from starting.

[Diagnosis]
KNISER doesn't pay attention to IPAMSK.

[Cure]
Teach it.  For your information, IPAMSK(LH) controls starting
the CI, while IPAMSK(RH) controls starting the NI.  Setting
B<CPUn> prevents the CI from starting, while setting B<CPUn+18>
prevents the NI from starting.

[Keywords]
AUTCON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	KNISER	KNIINI


[End of MCO 13262]

MCO: 13263		Name: KDO		Date:  7-Feb-87:15:20:23


[Symptom]
None, new feature

[Diagnosis]
Run LOGIN instead of LOGOUT.

[Cure]
To kill a job, run LOGIN instead of LOGOUT.
Let the LOGOUT UUO work for the LOGIN CUSP.
When LOGOUT runs, let it clear JLOG.  But don't do it for LOGIN.
For each test to see if LOGOUT is running, also test for LOGIN (if appropriate).
Remove all of the "[SIXBIT /LOGOUT/]" literals, too.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	CLOCK1	STOP1C
		COMCON	KJOB2,SGRLE2
		COMMON	PRVTAB
		IPCSER	QSRLGO
		UUOCON	LOGOUT


[End of MCO 13263]

MCO: 13264		Name: JAD		Date:  9-Feb-87:13:15:34


[Symptom]
ENTER error 14 when trying to extend allocation of an existing file.
Space is available on disk and the user has not exceeded their quota.

[Diagnosis]
The RIB is full of retrieval pointers.  UPDALC can't hack extended
RIBs, so the allocation attempt fails.

[Cure]
Teach UPDALC how to extend a RIB when the current RIB is full.

[Keywords]
ALLOCATION
EXTENDED RIBS

[Related MCOs]
None

[Related SPRs]
31137

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	FILIO	EXTRIB
703A		FILUUO	UPDAT4,UPDAL1,UPDAL5


[End of MCO 13264]

MCO: 13265		Name: RCB		Date:  9-Feb-87:15:45:16


[Symptom]
Dual-ported tapes don't.  Attempting to use them results in drives which
work only via queued protocol, when they work at all.

[Diagnosis]
Somebody is expecting temporary ACs to be preserved by random routines which
do useful work.  Somebody else is losing track of the fact that we're a
bit-masked device as far as CPU accessibility goes.

[Cure]
Too hard to change the callers, so preserve T2 & W in TAPCPI.  Preserve DEYCPF
in AUTDDB if it specifies generic boot or bit-map (CPFBOO or CPFBIT).  Always
preserve DEYCPF in TAPSER.

[Keywords]
Dual-ported tapes.
AUTCON

[Related MCOs]
13115, 13244

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	AUTCON	AUTDD2
		TAPUUO	TPMKON,ETC.
		TAPSER	TAPCPI,ETC.
		COMDEV	TAPCPI,DUMMY
		UUOCON	RCNCP2


[End of MCO 13265]

MCO: 13266		Name: RCB		Date:  9-Feb-87:16:00:33


[Symptom]
Undefined global "M.LAMC" building monitors without networks.

[Diagnosis]
No conditionals, and no dummy globals.

[Cure]
Put code to define things for LATSER under IFN M.LATN.

[Keywords]
CXO

[Related MCOs]
None

[Related SPRs]
35618

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	COMDEV	NFRSBQ
703A	


[End of MCO 13266]

MCO: 13267		Name: JAD		Date:  9-Feb-87:21:26:41


[Symptom]
We can't handle a fully-configured HSC70.

[Diagnosis]
The HSC70 can handle two more channel boards than the HSC50 (a total
of 32 disk drives).  RAXKON only expects 24 disk drives.

[Cure]
Bump RAXUMX from 24 to 32 (decimal).

[Keywords]
HSC50
HSC70

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	RAXKON	RAXUMX


[End of MCO 13267]

MCO: 13269		Name: RCB		Date: 10-Feb-87:00:45:01


[Symptom]
Too hard to debug user-mode programs which do GETSEGs or SEGOPs.  The
entry-vector section gets changed each time.

[Diagnosis]
Fuzzy notion of an entry vector that depends too much on /USE:n.

[Cure]
Make sure we always have an entry vector whenever we have a start address at
GETFIN time.  This way, later (independent) applications of /USE:n don't affect
where a START command will start us up, and will also not confuse DDT.

[Keywords]
Entry vector
DDT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	COMCON	DDTGO,SNOARG,GSADDR,URUN3
		SEGCON	GETFIN,GETFI0,GETFI1


[End of MCO 13269]

MCO: 13271		Name: DPM		Date: 10-Feb-87:04:56:29


[Symptom]
AUTCON doesn't (17 of n)

[Diagnosis]

[Cure]
1. Tally up the reserved and allocated kontroller counters in the
   MDTs correctly.

2. Sprinkle calls to SAVW in several places where we PUSH and POP W.

3. Add support for the TX79 tape drive.  No code changes only comments.
   The TX79 is a rebuilt TU78 from what I understand.  It's electrically
   and software compatible with the TU78.  LCG (corporate?) strategy says
   in all places where a TU78 is references, make it TU78/TX79.  Therefore,
   MONGEN dialogue is affected.

4. ONCDDB appears in the DEVLST chain.  That's not nice.  Reorder things
   so SWPDDB follows DSKDDB cuz AUTCON doesn't know how to find SWPDDB.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	AUTCON
		MONGEN
		SYSINI
		T78KON


[End of MCO 13271]

MCO: 13272		Name: JMF		Date: 10-Feb-87:06:16:47


[Symptom]
VM performance not as good as it could be (1 of n).

[Diagnosis]
Lots of pages get written to the swapping space which don't need
to be.

[Cure]
When a virtual job gets swapped in, write lock all of it low segment
pages except page 0. When a write violation occurs, just write enable the
page and give back its swapping space. Whenever a page is paged out, if its
write locked, just put it on the out queue rather than the in queue thus
saving writing out the page. The swapper (for the time being at least) will
still do working set swapping to cause the working set to wind contiguously
on the swapping space, i.e., it will swap out write locked pages.

[Keywords]
performance

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
VM only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	APRSER
		FILIO
		MONPFH
		S
		SCHED1
		UUOCON
		VMSER


[End of MCO 13272]

MCO: 13274		Name: JMF		Date: 10-Feb-87:07:31:37


[Symptom]
STOPCD SLZ

[Diagnosis]
A random segment number can get stored in SW3LST when swapping
out the paging queues. If a job comes along and does a SETUWP on and its
high segment number just happens to be the random segment number that
got stored in SW3LST, GIVBKH can find and zap the SWPLST entry while the
swapping I/O is in progress.

[Cure]
Store -1 in the right half of SW3LST if swapping out a paging queue.

[Keywords]
SLZ

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
HOSS attention

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	VMSER	MAKLS1
703A	


[End of MCO 13274]

MCO: 13275		Name: BAH		Date: 12-Feb-87:10:07:58


[Symptom]
LOGNUM goes negative.

[Diagnosis]
At ACLDCR+11 a test is made to see if LOGNUM should be
decremented.  If it does, the job is not marked when LOGNUM is 
decremented.  When the LOGOUT UUO is done, the job gets decremented
one more time.

[Cure]
If LOGNUM is decremented, mark the job.

[Keywords]
LOGNUM

[Related MCOs]
None

[Related QARs]
35571, 868939, 35606, 35648

[MCO status]
None

[MCO attributes]
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	343	UUOCON	ACLDCR

703A	16	UUOCON	ACLDCR


[End of MCO 13275]

MCO: 13276		Name: JAD		Date: 13-Feb-87:10:26:12


[Symptom]
Stopcode BEC.

[Diagnosis]
HSC suffers from recto-cranial inversion.  Or, to put it politely,
it appears the HSC sends a packet with a bad end code at times when
the virtual circuit hasn't been closed in an orderly fashion.  The
connection to the disk server isn't really established properly, and
the system will hang in initialization waiting for some intelligent
response from the HSC (which is probably asking a lot in any case).

[Cure]
If we get a packet with a bad end code during initialization,
force a virtual circuit closure.  This should cause the connection
to be re-initiated properly in a few seconds.

[Keywords]
BEC

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	343	MSCCOM	MSCMGR


[End of MCO 13276]

MCO: 13277		Name: JAD		Date: 13-Feb-87:10:33:58


[Symptom]
Stopcode IME likely, others possible.

[Diagnosis]
SAB ring terminates with a zero.  Apparently CORGRS is calling
NZSCGT to allocate the same virtual address twice when a SAB
begins on a page boundary.  The second call creates a new
page in that address which is zeroed, causing the previous
SAB link to point at a zeroed page.

[Cure]
Fix up how CORGRS decides to call NZSCGT so it won't try to
allocate the same virtual address twice.

[Keywords]
SAB RINGS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	343	ONCMOD	CORGRS
703A	


[End of MCO 13277]

MCO: 13278		Name: JAD/DPM		Date: 13-Feb-87:14:22:18


[Symptom]
AUTCON doesn't (20 of n).

[Diagnosis]
Can't hack the KS.

[Cure]
Educate AUTCON and KS drivers:

1)  Make the KL and KS MONGEN dialogue as identical as possible (remove
    the separate KSGEN section).

2)  Move the EPT to page 2 so interesting stuff like the vector interrupt
    table addresses and the interrupt locations don't get stomped when
    a "SAVE" command is done to write out a patched monitor.  Reserve
    page 1 on the KS for the front-end's use in soft CRAM parity error
    recovery.

3)  Eliminate references to VECTB? and .EPVIT in UNIBUS drivers and
    call a new routine in AUTCON to compute the address of the vector
    interrupt instruction for a device.

4)  Eliminate assembled-in xxxIMR, xxxMRC, xxxIEA symbols and let them
    get cobbled up by a call to a new routine in AUTCON.

5)  Teach RHXKON how to auto-configure disk drives.

6)  Kludge the CDR and LPT drivers to work until the drivers are modified
    to autoconfigure their devices.

7)  Autoconfigure I/O bus line printers.  DTE and UNIBUS based stuff will
    happen soon.  The LPT questions under the RSX20F option are gone.

10) Lots of miscellaneous changes here and there.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	343	APRSER
		AUTCON
		CD2SER
		COMDEV
		COMMOD
		COMMON
		D8KINT
		D8RINT
		DEVPRM
		DTESER
		DZINT
		F
		FGEN
		FILIO
		LP2SER
		LPTSER
		MONGEN
		PPSSER
		PRSSER
		RAXKON
		RHXKON
		RX2SER
		S
		SYSINI
		TAPUUO
		TM2KON
		UUOCON


[End of MCO 13278]

MCO: 13280		Name: JMF		Date: 17-Feb-87:06:18:46


[Symptom]
VM performance not as good as it could be (2 of 2).

[Diagnosis]
When we swap out a job that's in a long term wait, we swap back
in its previous working set even though its not likely to have anything
to do with its new working set when the long term wait is satisfied.

[Cure]
If a job is virtual, it get picked to be swapped, and its in a long
term wait state, demand page it back in. N.B., jobs which are in run queues
and virtual will still be swapped using the working set swapping algorithm.

[Keywords]
swapping
long term waiters
demand paging

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
VM only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	343	VMSER	LOTS
		SCHED1	SWAPOX


[End of MCO 13280]

MCO: 13282		Name: JAD		Date: 18-Feb-87:12:10:08


[Symptom]
AUTCON doesn't (21 of n).

[Diagnosis]
1) KS can't autoconfigure it's line printer(s) or card reader(s).

2) KS magtapes don't work even though they autoconfigure.

[Cure]
1) Teach it how.

2) Remove lots of old crufty code dealing with multiple formatters on
    the KS.  Make the code work like the KL does.

[Keywords]
AUTCON

[Related MCOs]
13151

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KS10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	344	CD2SER
		COMDEV
		COMMON
		LP2SER
		MONGEN
		TAPSER
		TM2KON


[End of MCO 13282]

MCO: 13283		Name: JMF		Date: 20-Feb-87:10:43:43


[Symptom]
Job(s) swapped out forever.

[Diagnosis]
If a job has a non-sharable high segment or a spy segment,
the code at SCANI0 will go directly to SCANI1 which tests the left
half of T2 to see if swapping in the job should be rejected. If the
job is in the right queue, the call to QSCAN returns with the left
half of T2 negative which causes SCANI1 to reject the job.

[Cure]
Move the label SCANI1 up one instruction which will cause
the left half of T2 to be zeroed before the test.

[Keywords]
Hung job

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	343	SCHED1	SCANI0


[End of MCO 13283]

MCO: 13284		Name: DPM/TL		Date: 23-Feb-87:02:33:56


[Symptom]
DECsystem-10 NOT RUNNING when TGHA runs.

[Diagnosis]
DTESER doesn't know that -20F has a protocol pause mode where it will
leave the -10 alone for about 30 seconds while it enters secondary
protocol.  Doing this part is easy, however, a few other buggers were
encountered:

1. Stopcode IME referencing .PDDIA in the PDB.
2. Stopcode IME when stuffing pointers into maps using IDPB instructions.
3. Stopcode IME putting -20F into protocol pause.  GETETD can't run in
   section one like MOSSER does.
4. -20F enters secondary protocol upon exiting protocol pause.
5. KLPSER will shut down KLIPA that aren't running with memory is set offline.
   It will try to turn on the KLIPAs when memory is set online even if they
   weren't on to begin with.
6. Ditto for KNISER.

[Cure]
1. MOSSER sets up W using a MOVE W,JBTPDB##(J).  Call FNDPDS like it should. 
2. GTPME hasn't returned a byte pointer for quite some time.  Do a MOVEM and
   an AOS instead of an IDPB.
3. Cause DTEAPP to run in section zero with the rest of the DTE code.
4. Clear out the last command -20F saw before entering protocol pause.
5. Respect IPAMSK.
6. Ditto for KNISER.

[Keywords]
TGHA

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	344	COMMON	.CPEPW
		DTESER	DTEAPP,SETPP
		MOSSER	DIAGT1,DIAGVM
		KLPSER	PPDMFL,PPDMON
		KNISER	KNIMOF,KNIMON

703A	


[End of MCO 13284]

MCO: 13287		Name: DPM		Date: 25-Feb-87:08:31:41


[Symptom]
AUTCON doesn't (22 of n)

[Diagnosis]
1. Move the channel data block definitions into DEVPRM

2. Remove FTAUTC

3. Fix up LPTINI so we run even if there isn't an I/O bus printer
   on our CPU.

[Cure]

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	345	FGEN
		APRSER
		AUTCON
		CD2SER
		COMDEV
		COMMOD
		COMMON
		D78INT
		DEVPRM
		ERRCON
		FILFND
		FILIO
		KLPSER
		KNISER
		LP2SER
		LPTSER
		MONGEN
		RHXKON
		RNXKON
		RPXKON
		SYSINI
		T78KON
		TAPSER
		TAPUUO
		TD2KON
		TM2KON
		TX1KON
		UUOCON
		VMSER


[End of MCO 13287]

MCO: 13289		Name: JAD		Date: 26-Feb-87:12:39:36


[Symptom]
Potential software checksum errors on files which span more than
one unit in a structure.

[Diagnosis]
MCO 11937 fixed problems with returning the "DA" resource on the
"wrong" (original) unit when a file switched to a new unit.  However,
DEVUNI contains the original unit rather than the new unit, causing
the checksum to be computed incorrectly.

[Cure]
Call STORU in OUTGRP after calling WRTPTR.

[Keywords]
SIMULTANEOUS UPDATE
MULTI-UNIT STRUCTURES

[Related MCOs]
11937

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	345	FILIO	OUTGRP

703A	


[End of MCO 13289]

MCO: 13290		Name: TL		Date: 27-Feb-87:09:10:10


[Symptom]
1. "Modems" don't work on the KS.
2. KS Autobaud code is different from KL/ANF.  
      a. It supports fewer speeds.
      b. It's more susceptible to noisy lines, and defective modems.
3. ANF autobaud sometimes fails at 1200 (^C, even)
4. ANF autobaud at 600 is hopelessly unreliable.

[Diagnosis]
1. They aren't real modems, and they don't obey the EIA spec.
	a. Devices which raise (or drop) RLSD and RI simultaneously lose.
	b. Devices which pulse RI only once, instead of at 20 Hz like
	   the Bell system lose.
2. Once it did more than the others.  Now, it's older and does less.
3. The "Ignore" next character bit isn't set for ^C even 1200 in
   high-speed mode.  This can cause a low-speed switch, which makes
   it even less likely that we will recognize the ^C next time.
4. The original empirical studies made it look like it might work; 
   analysis shows that we are asking the UART to sample a bit while it
   is in transition.  Since it's the start bit, it's quite hopeless.

[Cure]
1. Violate yet more of the EIA spec.  DEC's way is better.
2. Replace the autobaud code with the algorithm used by ANF-10 and RSX-20F.
   Search at two speeds, and support all the same speeds as the others.
3. Set the bit.
4. Remove 600 baud from the tables in ANF.

[Keywords]
VAXination
KS
Autobaud
LAT
Modem Control

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		DZINT	LOTS,AND,LOTS
704		DNTTY	LSPTAB,HSPTAB


[End of MCO 13290]

MCO: 13291		Name: RJF		Date: 27-Feb-87:13:33:41


[Symptom]
Checkpointing a file using the FILOP. update-rib function can
cause a user specified blocking-factor to be messed up.

A FILOP, update-rib doesn't work correctly if the current buffer is
exactly full.

[Diagnosis]
The FILOP. code assumes that its implied "close" logic was
required to output the last buffer.  It then reads the last block of
the file back into the current output buffer so the user may append to
it.  A program that has done an OUT before the FILOP. update-rib, doesn't
want this to happen.  The OUT was done to advance to the next block of
the file.

The second problem happens if a FILOP. update-rib is done when the
current buffer is exactly full.  A virgin buffer ring header is returned
that can cause the user program all kinds of problems.

[Cure]
For the first problem, only read the last block of a file in if
the FILOP. update-rib function caused it to be written.

For the second problem, always call OUTF to unvirginize the ring header,
even if we don't have to merge any data into the current output buffer.

[Keywords]
FILOP.
UPDATE-RIB
CHECKPOINTING
 .FOURB

[Related MCOs]
None

[Related SPRs]
35229

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	S
703A		UUOCON
		FILUUO


[End of MCO 13291]

MCO: 13293		Name: DPM		Date:  3-Mar-87:06:20:13


[Symptom]
Stopcode CMU is annoying

[Diagnosis]
Dumps contain no useful information.

[Cure]
Make it an INFO rather than a DEBUG stopcode.

[Keywords]
CMU

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	345	SEGCON	CHKTAL


[End of MCO 13293]

MCO: 13295		Name: JAD		Date:  3-Mar-87:08:52:42


[Symptom]
Impatient software engineers.

[Diagnosis]
Checks for CPUn not running use long waits.

[Cure]
Use short waits.  We ask them to type <CR> when they've started
the CPUs, so why wait a long time in the first place?

[Keywords]
CPU START-UP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	345	ONCMOD	ONCCPU


[End of MCO 13295]

MCO: 13296		Name: JAD		Date:  4-Mar-87:11:13:28


[Symptom]
Crufty code left laying around.

[Diagnosis]
1) PATFIX maps each reference to the extended symbol table, even
    though the symbol table is directly addressable.

2) /NOCI start-up option never did and never will.

3) /NODXLOAD hasn't worked since the DX microcode was moved into BOOT.

4) Ditto (3) for the DIAG. UUO function.

[Cure]
1) Eliminate mapped references.

2) Delete the switch and documentation in the help text.

3) Ditto (2).

4) Delete the code and dispatch from the DIAG. UUO.

[Keywords]
CLEANLINESS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	346	COMMON	.CPNLD
		SYSINI	LOTS
		UUOCON	DIANLD


[End of MCO 13296]

MCO: 13297		Name: DPM		Date:  5-Mar-87:07:40:45


[Symptom]
Monitor startup too slow.

[Diagnosis]
A fair amount of time is spent doing NXM scanning when a copy of NXMTAB
is already available.

[Cure]
Copy the bootstrap's copy of NXMTAB.  Then count up the existant pages
and if the total is smaller than the amount of core specified by MONGEN,
then fall into the old cruft which will print the ranges of addresses
which are offline.

Stopcode MIW (Memory Interleaving Wrong) is gone.  BOOT takes care of
that for us.  Stopcode BNU (Bootstrap NXMTAB Unavailable) is new.  Note
that from now on, the monitor will depend upon BOOT version 4(61) or
later.

[Keywords]
STARTUP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	346	COMMON	BNXMTS
		SYSINI	BOOTNX,CHKMEM


[End of MCO 13297]

MCO: 13299		Name: JJF		Date:  5-Mar-87:13:39:03


[Symptom]
No way to easily patch in a customer system-wide PID.

[Diagnosis]
No negative entries in system PID table.

[Cure]
Add, under FTPATT, two negative words in the system PID table.

[Keywords]
Customer PIDs

[Related MCOs]
13286

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	346	COMMON	.GTCSD

703A	


[End of MCO 13299]

MCO: 13300		Name: JAD		Date:  5-Mar-87:14:17:01


[Symptom]
Probable KAF stopcode during illegal UUO (or any call to GIVRES).

[Diagnosis]
GIVRES calls DTXFRE which thinks it is being called with a DDB address
in F.  Wrong.  F contains zero at this point, so a LDB J,PJOBN gets the
contents of DEVJOB (= location 22 = BOOTWD).  Eventually we'll call
SRFREE which calls OWNIP which loops waiting for the CX resource.

Even if J didn't contain garbage, we PUSH the ACs on the stack in the
reverse order of which SRFRDT expects.

[Cure]
Remove the LDB J,PJOBN from DTXFRE, and add a PUSH/POP of T1 so the
stack is phased as SRFRDT expects.

[Keywords]
DTXFRE
KAF

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	346	DTASER	DTXFRE

703A	


[End of MCO 13300]

MCO: 13303		Name: JAD		Date:  9-Mar-87:08:41:12


[Symptom]
Messiness.

[Diagnosis]
A few KL10 conditionals buried under other KL10 conditionals.

[Cure]
Clean up.

[Keywords]
KL10
FTMP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	346	COMMON	SPRINI
		FILIO	INTRDC


[End of MCO 13303]

MCO: 13305		Name: DPM		Date: 10-Mar-87:06:18:56


[Symptom]
Undeserved ?CPU failed for device errors when doing certain UUOs on a
device connected to a dead CPU.

[Diagnosis]
Everyone and his brother calls SETCPF to get on the right CPU.  SETCPF
has no error return.  UUOs which have the appropriate error codes can't
use them.  CPNSER arbitrarily halts jobs which do not have PSI enabled
for the particular device.  This is quite annoying since some UUOs don't
require a device to be INIT'ed for them to work.

[Cure]
Make CNECT. and DEVOP. UUOs to call SETCPP which has an error return.
I'm sure there are other places where this should be done, but these are
the most obvious ones.

[Keywords]
CPU FAILED

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	346	MSGSER	UDCDEV
		UUOCON	DVPCAL


[End of MCO 13305]

MCO: 13306		Name: JMF		Date: 10-Mar-87:07:59:56


[Symptom]
VM performance not as good as it could be (3 of 2).

[Diagnosis]

1) MONPFH won't turn off access allowed for non-sharable high segment pages
so when trying to shrink the working set on a timer trap, pages in non-sharable
high segments don't get paged out.
2) MONPFH looks at every page in every section that exists twice when doing
PFHTIM.
3) MONPFH looks at non-zero sections for things to do even if not a big user.
4) CHKLIM potentially suffers from the same disease as in 2 except it only
does it once.


[Cure]

1) Clear access allowed for all of the pages in the working set.
2) Only consider pages in the working set.
3) Only look at section 0 if not a big user.
4) Scan the working set backwards starting at the last page paged out and
only consider pages which are actually in the working set as candidates to
page out. Also limit the scan to section 0 if not a big user.

[Keywords]
VM performance

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
VM only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	346	MONPFH	PFHTIM,CHKLIM


[End of MCO 13306]

MCO: 13308		Name: JAD		Date: 10-Mar-87:12:10:38


[Symptom]
Trying to do I/O to a file located on a structure in the job's search
list AFTER a structure which has a RIB error for the directory
fails with bizarre error codes.  Specifying the structure name
explicitly or removing the structure with the RIB error for the
directory from the search list gets around the problem.

[Diagnosis]
STRLUP tries to read the UFD RIB to see if the file desired is
contained in that directory.  If the read of the RIB fails, I/O
error bits are left over in S.  Eventually they get stored in
DEVIOS (after the file is found on some subsequent structure)
which will cause the first I/O operation on that file to fail.

[Cure]
Clear IOIMPM/IODTER/IODERR at SCNSTR before branching back to
STRLUP to try the next structure in the search list.

[Keywords]
RIB ERRORS
LOOKUP
DSK

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	FILFND	SCNSTR

703A	


[End of MCO 13308]

MCO: 13309		Name: JAD		Date: 10-Mar-87:12:32:35


[Symptom]
Allocating more blocks to a file doesn't always use the expected
unit (i.e., the unit with the most free blocks) of a multi-unit
structure.

[Diagnosis]
T2 trashed before comparing it with UNITAL.

[Cure]
MOVE T2,(P) before CAMG.

[Keywords]
ALLOCATION
UNITAL

[Related MCOs]
None

[Related SPRs]
35711

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	FILUUO	UPDA1A

703A	


[End of MCO 13309]

MCO: 13310		Name: JAD		Date: 11-Mar-87:11:02:47


[Symptom]
Monitor too messy.

[Diagnosis]
Lots of CLRPGT macros with arguments which don't make sense any more.
CLRPGT is always invoked with either "0" or "P4" as the CPU argument,
and sometimes with a page number as the second argument.  Since there
isn't much chance we'll ever go back to a non-mapped CDB the first
argument isn't needed any more.  For cases where CLRPGT is invoked
with a second argument, CLRPT serves just fine.

[Cure]
Delete "(0)" or "(P4)" from CLRPGTs without second arguments, change
CLRPGTs with second arguments into CLRPTs.

[Keywords]
CLRPGT
CLRPT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	APRSER
		AUTCON
		COMCON
		COMMON
		CORE1
		CPNSER
		DATMAN
		ERRCON
		LOKCON
		MOSSER
		S
		SCLINK
		SEGCON
		SWPSER
		SYSINI
		UUOCON
		VMSER


[End of MCO 13310]

MCO: 13311		Name: JAD		Date: 11-Mar-87:12:00:17


[Symptom]
PI system state is not saved and restored properly in a single CPU
configuration when nested calls to interlocking routines are done.

[Diagnosis]
If CPNSER is loaded, the interlocking routines save/restore the channel
enable status.  However, if CPNSER isn't loaded, the substitute routines
simply turn on/off the PI channels without regard to the current state
of the channel enable status.  If routine "A" is called followed by a
call to routine "B" to turn off selected PI channels, when the "unlock"
version of routine "B" is called it will turn on all channels, which
can open races because we still expect the "A" channels to be off.

[Cure]
Make the save/restore PI routines always get assembled, and turn
on the system-wide interlocking only if more than one CPU is configured.

[Keywords]
PI INTERLOCKING

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	COMMON	LOTS
		CPNSER	MORE


[End of MCO 13311]

MCO: 13314		Name: JAD		Date: 12-Mar-87:12:39:51


[Symptom]
Reading a search list is a bit troublesome.

[Diagnosis]
Existing UUOs only return one str/PPN/status triplet per call.  It
takes one call per str (plus the fence) to return the entire S/L.
In addition, if GOBSTR is used, this requires reading the S/L in
a temporary area, then moving it to the accumulation area.

[Cure]
Simplify the job of UFDSET by implementing function 12 of the STRUUO,
 .FSRSL, which returns the entire search list in one UUO call.
Calling sequence is:

	MOVE	ac,[XWD len,addr]
	STRUUO	ac,
	  error return
	normal return
	. . .
addr:	EXP	.FSRSL
	job-number owning search list (0 for SYS: S/L)
	PPN of job owning search list (ignored if job=0)
	EXP	0		;number of strs in S/L (including fence
				; returned in this word at UUO completion)
	start of str/ppn/status triplets (see .DFJxx definitions)

Note that the number of structures word is filled in regardless
of whether enough space was left to return any triplets, so a
program could, if desired, execute the UUO once with a short
argument list to get the count, then re-execute the UUO with a
long enough argument list.  Then again, the program could just
allocate a block of 37.*3 words and be done with it.

The fence is returned as a triplet of zeroes.  No explicit end
marker (-1, etc.) is returned at the end of the triplets.

[Keywords]
STRUUO
READING SEARCH LIST

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	FILFND	RSLSTR
		UUOSYM	.FSRSL


[End of MCO 13314]

MCO: 13316		Name: JAD		Date: 12-Mar-87:13:22:14


[Symptom]
Possible SMP confusion if a CPU is ATTACHed after being REMOVEd.

[Diagnosis]
CPUATT assumes "temporarily cached" pages have been uncached.
Tain't necessarily so.

[Cure]
Have CPUATT call SETCSB to clear "temporarily cached" pages.

[Keywords]
CACHE
ATTACH CPU

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	CPNSER	CPUATT


[End of MCO 13316]

MCO: 13317		Name: DPM		Date: 16-Mar-87:04:39:15


[Symptom]
LAT boxes disconnect all lines, nodes crash, general network mayhem.

[Diagnosis]
Paul has brought up a KLAD monitor that claims to be KL1026.

[Cure]
Make the networks be a bit more dynamic.  Create several low core locations
which may be patched to change network parameters:

	STANAM		System-wide node name (used by LAT and friends)
	ANFNAM		ANF-10 node name
	ANFNUM		ANF-10 node number
	DCNNAM		DECnet node name
	DCNNUM		DECnet node number
	DCNHOM		DECnet home area number
	DCNRTY		DECnet router type

STANAM will be set from either the ANF or DECnet node names, ANF taking
precedence because it's the native network for the -10.  Distinguishing
between the ANF and DECnet node names addresses some customer requests
that arose during the 7.03 field test.  DCNRTY may have a value of 4 for
a routing node and 5 for a non-routing node.

MONGEN will ask if networks are supported and if so, then prompt for the
system-wide node name.  It will also ask if ANF-10 should be included.
Enabling MUNGEN options ANFNAM and DCNNAM will cause MONGEN to prompt for
the ANF and DECnet node names.  MONGEN puts out the following new symbols:

	M.ANF		ANF-10 is loaded
	M.ANAM		ANF-10 node name
	M.ANUM		ANF-10 node number
	M.DNAM		DECnet node name
	M.DNUM		DECnet node number
	M.DHOM		DECnet home area number
	M.DRTY		DECnet router type

%RTADR, %RTHOM, and %RTRTY symbols are gone.

Add new startup option switch /NETWORKS.  When given, SYSINI will prompt
for optional changes to the above stored values.

Note:  Programs like MS, which today exhibit erratic behavior, may be
aggrivated by the presence of split node names.  This is not a feature
intended to be used in a normal production environment.  It was designed
to be a simple work-around facility for running non-standard monitors.

[Keywords]
NETWORKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
Field service attention

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	AUTCON
		COMDEV
		COMMON
		COMNET
		D36COM
		MSGSER
		MONGEN
		NETSER
		SCNSER
		SYSCHK
		SYSINI


[End of MCO 13317]

MCO: 13319		Name: DPM		Date: 17-Mar-87:07:45:52


[Symptom]
COMDEV is a mess.  UUOCON isn't big enough.

[Diagnosis]
CAL11. UUO code lives in COMDEV because it is dependent upon one assembled
in symbol.  That's ridicuous.

[Cure]
Move CAL11. UUO into UUOCON.  Clean up a bunch of comments at the same time.

[Keywords]
CAL11. UUO

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	COMDEV
		COMMON
		UUOCON	CALL11


[End of MCO 13319]

MCO: 13321		Name: JMF		Date: 20-Mar-87:05:21:08


[Symptom]
Not enough performance instrumentation.

[Diagnosis]

[Cure]
New:
1) Accumulate "sold" time in .PDTTM for the null job. This will be the
total amount of CPU time given to all jobs on all CPUs since the system
came up.
2) Count the number of page faults caused by writing in a write locked
page (to keep track of modified pages). This is entry 41 in table .GTVM.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	350	COMMON
		CLOCK1
		UUOSYM
		VMSER


[End of MCO 13321]

MCO: 13325		Name: JAD		Date: 23-Mar-87:15:10:13


[Symptom]
Time of day skewed after a reload.

[Diagnosis]
ONCWAT waits for ONCE I/O to complete.  It never calls APRCHK,
so we can miss some (several if the unit is hung) clock ticks,
causing the time of day to be slightly off.

[Cure]
Call APRCHK during ONCWAT.  Also move ONCWAT to $INIT since it isn't
used after SYSINI disappears.

[Keywords]
TIME OF DAY

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	350	FILUUO	ONCWAT


[End of MCO 13325]

MCO: 13327		Name: DPM		Date: 24-Mar-87:06:14:15


[Symptom]
Cannot easily address CPU section maps.  Every reference must set up
temporary mapping and cause unnecessary pager refills.

[Diagnosis]
No mapping scheme established for section maps.

[Cure]
Map CPU section maps through the not-really-a-section section 37.  The
origin of the maps is defined by MMAPS and currently lives at 700K.  Map
pointers start at location .CPMMA in the CDB.  Note that direct pointers
are used, but this could change in the future.  Also rename UMAPSN to a
more generic name called MS.MAP.

[Keywords]
SECTION MAPS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	350	AUTCON
		COMMON
		CORE1
		DATMAN
		MONPFH
		PSISER
		S
		SEGCON
		UUOCON
		VMSER


[End of MCO 13327]

MCO: 13328		Name: DPM		Date: 24-Mar-87:06:25:03


[Symptom]
AUTCON doesn't (23 of n)

1. Configuring a KLIPA has been known to blow away DX20s.

2. Configuring a KLNI is suspected of causing junk to be stored in physical
   location 2767 (CPU0 map).

3. Miscellaneous inexplicable crashes.

[Diagnosis]
When autoconfiguring under timesharing, AUTCON has always done everything
with the PI system turned on.  Probably not a good thing to do.  While
checking to see if a device exists, it gives the device a PI assignment of
7 and then clears it.  Also, not a really good thing to do.

[Cure]
Make AUTCPU run with the PI system turned off.  Also save the device CONI
word in .CPATD, and restore it after the check for a live device.  This is
a day-one bug.

[Keywords]
AUTCON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	350	AUTCON	AUTCPU,CHKDEV
		COMMON	.CPATD


[End of MCO 13328]

MCO: 13329		Name: DPM		Date: 24-Mar-87:08:03:11


[Symptom]
AUTCON doesn't (24 of n)

[Diagnosis]
45 minutes 'til the monitor meeting.  What will I do?

[Cure]
Autoconfigure plotters.  Shrink COMDEV by several blocks.  Turn wasted
time into productive effort.  For the benefit of sites with special
wizzy hardware, M.PLT will be the global "we have plotters" symbol and
M.XY10 will mean "we have an Etch-A-Sketch".

[Keywords]
AUTCON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	350	COMMON	INTTAB
		COMDEV	PLTMDT
		COMMOD
		MONGEN
		PLTSER


[End of MCO 13329]

MCO: 13330		Name: JAD		Date: 24-Mar-87:15:21:27


[Symptom]
Possibility for future maintenance headaches.

[Diagnosis]
The CPU Data Block (CDB) is currently two pages in length.  Lots
of code in the monitor "knows" a CDB can only be two pages long,
and uses LSHs of .CPSOF to convert a CPU number to an index into
CPU0's CDB.  If the CDB ever exceeds 2 pages it will have to be
increased to 4 pages, wasting a page per CPU.  In addition, lots
of code will have to be twiddled to handle the extra map slots.

[Cure]
Plan for the future.  Convert the LSHs into IMULIs, using .CPLEN
as the CDB length.  Delete .CPSOF entirely, favoring .CPLEN and
IMULIs.  Invent "CDBPGS" in S which is the number of pages which
are reserved for CDB mapping.  Teach code which deals with CDB
mapping to use CDBPGS rather than having explicit knowledge of
the length of the CDB.

[Keywords]
CDB mapping
 .CPSOF
 .EPCDB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Beware file entry required
New development MCO

[BEWARE text]
Computing an offset into a CPU Data Block (CDB) is now done
using IMULIs of .CPLEN rather than LSHs of .CPSOF.  This is to
facilitate increasing the length of the CDB in the future.

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	351	COMCON
		COMMON
		CPNSER
		DTESER
		KNISER
		ONCMOD
		S
		SCHED1
		SCNSER
		SCSUUO
		SYSINI
		UUOCON


[End of MCO 13330]

MCO: 13332		Name: JAD		Date: 26-Mar-87:11:16:57


[Symptom]
BAC, etc., when P gets clobbered during initialization.

[Diagnosis]
Calling one of the "send message to MDA routines" before FREPTR
has been set up (e.g., ATTMPA, DETMPA, XCHMPA).

[Cure]
Don't do that.  Also don't send configuration status change
messages to DAEMON during initialization.

[Keywords]
FREPTR

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	351	FILIO	ETC


[End of MCO 13332]

MCO: 13333		Name: JAD		Date: 26-Mar-87:12:07:31


[Symptom]
Swap read errors may go undetected.

[Diagnosis]
No notification to the Operator on a swap read error.

[Cure]
Print a message on the CTY when a swap read error occurs, identifying
the job and program in question.

[Keywords]
SWAP READ ERRORS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	351	COMMOD	SWEECT,SWETOT
		ERRCON	ERRSWP
		UUOSYM	%LDSRT,%LDSRC


[End of MCO 13333]

MCO: 13335		Name: JAD		Date: 26-Mar-87:15:03:14


[Symptom]
Users who can use PEEK to examine memory can't (necessarily) use
the JOBPEK UUO.

[Diagnosis]
JOBPEK requires POKE privileges even though the caller may only
get interested in reading some other job's memory.

[Cure]
Change JOBPEK so if JK.WRT is off, allow PVSPYA (spy-all) as
sufficient privileges.

[Keywords]
JOBPEK

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	351	UUOCON	JOBPEK


[End of MCO 13335]

MCO: 13338		Name: KBY		Date: 29-Mar-87:20:49:33


[Symptom]
It might be nice to keep programs which can't walk and chew
gum at the same time (e.g. BATCON) from drooling all over themselves.

[Diagnosis]
No code.

[Cure]
New:  Implement write-locked low segment pages.
At the moment the only access to it is via the new PAGE. UUO function
 .PAGWL (=16):

	MOVE	AC,[.PAGWL,,ADDR]
	PAGE.	AC,
	  error return
	return

ADDR:	# of arguments
	bits+page #		;relevant bits are:
				;PA.GAF - if set, write-lock page; if clear
				;	  if clear, write-enable page
				;PA.IDC - Don't give error return if page
				;	  is already write-locked (PA.GAF
				;	  on) or enabled (PA.GAF off)

Basically, the same rules as for .PAGIO apply.  This UUO may be used to
write-lock or clear only low segment pages.
New UPT variable:  .U{S|P}WLC; the count of the number of pages the
user has write-locked.

[Keywords]
write-lock

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	351	UUOSYM
		S
		VMSER	BISLST,PAGEB,CLPTZO,CHKWLK,PAGJMP,WLPFLT
		UUOCON	HIBER4


[End of MCO 13338]

MCO: 13339		Name: KBY		Date: 29-Mar-87:21:02:58


[Symptom]
Spider unhappy:  Can't change PM.CSH on pages locked with .PAGLP
(lock specified pages).

[Diagnosis]
Actually, there's no reason any more one shouldn't be able to
change PM.CSH on any page he owns (ownership doesn't include sharable
high segs, or any high seg, for that matter).

[Cure]
Instead of returning "unimplemented function" for a non-locked
job, return "no privileges" if the job does not have LOCK privileges.

[Keywords]
cache

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	351	VMSER	SETCSB


[End of MCO 13339]

MCO: 13340		Name: DPM		Date: 30-Mar-87:04:13:02


[Symptom]
AUTCON doesn't (25 of n)

[Diagnosis]
1. KS10 links with undefined globals.

2. The MONGEN symbol name for LAT service is incorrectly named.

3. DIAG. UUO craps out on a KL and is non-existant on the KS.

4. Nasty security hole in DIAG function to get user IOT allows anyone
   to get IOT without telling DAEMON.  Makes it hard to track hackers.
   Not AUTCON's fault.  Bug just came along for the ride.

[Cure]
1. Move LAT stuff from COMNET to COMDEV where having M.ENET zero will
   case M.LATN to be set appropriately and get noticed.

2. Rename M.LAT = M.LATN

3. Redo DIAG. UUO dispatch.  Make it dispatch in section one.  Each service
   routine is responsible for dealing with the consequences of being in
   section one.  Make all functions that could possibly do something useful
   work on the KS10.  This probably won't work completely yet since I don't
   know how to do most functions, but it's a start.

4. The DIAG. function to get user IOT was written because TGHA was stupid
   and grabbed IOT on each instruction that needed it, causing DAEMON to
   fill up ERROR.SYS with software events.  Even though we don't really
   trust TGHA, we have no choise, so never make a DAEMON entry if the
   offending job is TGHA.  All others get logged.

[Keywords]
AUTCON

[Related MCOs]
13151

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	351	COMDEV
		COMMON
		COMNET
		FILIO
		MONGEN
		TAPUUO
		UUOCON


[End of MCO 13340]

MCO: 13342		Name: DPM		Date: 31-Mar-87:05:04:49


[Symptom]
Monitor too big.

[Diagnosis]
FTDX10 feature test surrounds much code in tape service that is
necessary for other types of controllers besides DX10s.  Hence,
turning off this feature test is about as affective as not loading
TAPUUO, except the results are unpredictable.

[Cure]
Remove FTDX10 conditional, leaving all code normally turned on.
At worst, this wastes about 16 harmless instructions.

[Keywords]
FTDX10

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	351	COMMON	SNAMES
		COMCON	REASS8,DEVAT1
		TAPUUO	INPDUN,INPDN2,OUTDUN,OUTDN2,MAKLS0,MAKL0B,MAKLS5,CHNDN1,MODTAB,MTARTY
		UUOCON	RCNAT1,ASSA2D
		FGEN	FTDX10


[End of MCO 13342]

MCO: 13344		Name: JAD		Date:  1-Apr-87:08:59:18


[Symptom]
AUTCON doesn't (26 of n)

[Diagnosis]
Not setting up KDBUNI properly for disk controllers.

[Cure]
Call AUTMUK from DSKKON.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	FILIO	DSKKON
		RNXKON	RNXUNI


[End of MCO 13344]

MCO: 13346		Name: JMF		Date:  3-Apr-87:06:18:58


[Symptom]
Monitor is too big, too slow, and costs virtual users too much.

[Diagnosis]
I don't know why (yes I do, because Tarl wrote it that way and
when I rewote it I just replicated Tarl's mistake) but PFHTIM loops over
the working set twice; once to page out any pages with access allowed off
and once to clear access allowed for all pages in core.

[Cure]
Page out pages and clear access allowed in one pass over the working set.

[Keywords]
Pig

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
VM only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	MONPFH	PFHTIM


[End of MCO 13346]

MCO: 13347		Name: RCB		Date:  4-Apr-87:00:39:57


[Symptom]
Problems with DIE:

1)	JOB STOPCDs almost always reload the system.
2)	Potential halts trying to figure out if we want DDT.
3)	PERISH is needlessly inefficient.

[Diagnosis]
1)	Somebody wiped the PI status in S which is used by
	ZAPJOB to see whether we need to reload.
2)	Pushing onto the possibly corrupt stack while we still hold the
	DIE interlock.
3)	Somebody didn't realize that being called by an XPCW to section
	zero means never having to guess if you're addressable.

[Cure]
1)	Obtain the PI status again in ZAPJOB.
2)	Don't use the stack to preserve T1, just fetch it from the
	crash ACs again when we're done with it.
3)	Rearrange the PSECTs around PERISH, and save an instruction.

[Keywords]
DIE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	ERRCON	PERISH,DIE01,ZAPJOB
703A	


[End of MCO 13347]

MCO: 13349		Name: KBY		Date:  4-Apr-87:18:24:19


[Symptom]
1.  Write-locked pages don't work as advertised (bit spray or IME).
2.  Write-locked pages don't work as advertised (IME).
3.  Write-locked pages don't work as advertised (always have PA.IDC on)
4.  Counts .USWLC and .USWLP don't get decremented when a write-locked page
    is deleted.

[Diagnosis]
1.  Forgot to enter section 1 to reference the maps.
2.  Manipulation of which type of counts (PA.GAF on or off) backwards.
3.  No code to check if the page is write-locked or enabled in PLTSN.
4.  No code.


[Cure]
1.  SE1ENT
2.  Reverse count usage.
3.  Add code:  new check bits PA.PWE (must be write-enabled) and PA.PWL
    (must be write-locked).  New error codes PAGWL%(=30; page already
    write-locked) and PAGWE%(=31; page already write-enabled).
4.  Decrement the non-zero count (since both cannot be non-zero simultaneously)
    if the PM.WRT AND PM.NIA are both off.

[Keywords]
write-locked pages.

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	VMSER	PAGWLK,PLTSN


[End of MCO 13349]

MCO: 13351		Name: DPM		Date:  7-Apr-87:06:11:41


[Symptom]
MCO 13341 incomplete

[Diagnosis]
Yes

[Cure]
1. Finish up WHERE UUO
2. Move LOCATE and WHERE commands to COMCON.
3. Fix several bugs in said commands.
4. Move NODE command to COMCON.  Make it do the documented thing for
   DECnet when no argument is given (it should print the node where
   the job's TTY is physically located).
5. Separate out more ANF and DECnet stuff.  COMNET shrinks to a measly
   60 blocks.
6. COMNET is too small to be of any value.  Merge left over stuff into
   COMDEV.  Good bye COMNET.  Sorry Todd.

[Keywords]
NETWORKS

[Related MCOs]
13341

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	COMCON
		COMDEV
		COMMON
		D78INT
		D8KINT
		LATSER
		MONGEN
		NETSER
		NRTSER
		SCMUUO
		SCNSER
		UUOCON
		TOPS10


[End of MCO 13351]

MCO: 13353		Name: RJF		Date:  7-Apr-87:12:01:50


[Symptom]
Two problems.

1) The FILOP. .FOAPP (Append) function didn't merge in the last block of a
   file into the user's output buffer.

2) The FILOP. .FOAPP function didn't return a virgin ring header when it  
   created a new file.  Some programs expect this.

[Diagnosis]
MCO 13291 caused both problems.  However the second worked before
MCO 13291 only because of a bug.

[Cure]
First change the name of the UP.URO bit to UP.MLB (Merge Last Block).
Then set the bit before falling into FOPN9B from the .FOAPP code.  This fixes
problem 1.

Add a test for a zero length file to FOPN9B so we don't unvirginize the buffer
ring header when writing to new or nul files.

[Keywords]
FILOP.
APPEND
 .FOAPP

[Related MCOs]
13291

[Related SPRs]
35229

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	353	S
703A		UUOCON
		FILUUO


[End of MCO 13353]

MCO: 13354		Name: JAD		Date:  8-Apr-87:09:46:46


[Symptom]
Time for a little clean up.

[Diagnosis]
Make sure CLKNEW/CLKMIN is set when a new entry is added to
the clock queue.

Add page fail PC to page fail word in IME stopcode typeout.

[Cure]
Add a few lines to DIEIME.

[Keywords]
IME STOPCODE
PAGE FAIL PC

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	353	APRSER	DIEIME


[End of MCO 13354]

MCO: 13360		Name: JMF		Date: 15-Apr-87:09:09:17


[Symptom]
STOPCD IEZ

[Diagnosis]
In the loop in DSKTIC which is removing things from the all
CPU queue, UUOPWR gets called if some I/O is found to start. It returns
with DSKON. This allows two CPUs to be in the loop simultaneously and
both can pick the same I/O request to do. On does the I/O and decrements
the word count in the IOWD. Then the other CPU tries to start the I/O
with an IOWD which has a word count of 0.

[Cure]
Move the DSKOFF into the loop.

[Keywords]
IEZ

[Related MCOs]
None

[Related SPRs]
35676, 35744

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	354	FILIO	DSKTI1
703	


[End of MCO 13360]

MCO: 13362		Name: JAD		Date: 16-Apr-87:16:05:10


[Symptom]
Potential confusion over where the page fail new PC is kept.

[Diagnosis]
Back when we had KI and KL paging, .USPFN was defined as offset
502 in the UPT, and it was referenced as .USPFN+IFN FTKLP,<1>.
When the IFN FTKLP was dropped, .USPFN was left as offset 502
when it is now in reality 503.  Everyone in the monitor is
using .USPFN+1 (with one notable exception) when setting up
or getting the page fail new PC.

I said one exception - MOSSER.  It (incorrectly) set up the
page fail new PC without the "+1", which means TGHA can't get
a page fail (it always goes to SEILM).

[Cure]
Redefine .USPFN as offset 503 in the UPT.  Fix MOSSER (the
fix should probably be Autopatched) by doing nothing useful.
Fix other modules by removing the "+1" from .USPFN refs.  Fix
the null job's UPT to only have the new PC in offset 503.

[Keywords]
 .USPFN
PAGE FAIL NEW PC

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
KL paging only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	354	APRSER	SEILM
		COMMON	REFMEM,NUPMP
		MOSSER	DIAGVM
		S	.UPPFN,.USPFN


[End of MCO 13362]

MCO: 13363		Name: RCB		Date: 21-Apr-87:04:40:46


[Symptom]
AUTCON doesn't (27 of n)

[Diagnosis]
1. CPU interlock word in the DDB is wrong for anything except CPU0.

2. DI hangs on CI disks.

[Cure]
1. Pick up the CPU number and do the appropriate LSH to index into
   the interlock table correctly.

2. Add the "multi-CPU" device bit to the driver config word.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	354	AUTCON	AUTDDB
		KLPSER	DRVCHR


[End of MCO 13363]

MCO: 13364		Name: JAD/DPM		Date: 21-Apr-87:05:04:07


[Symptom]
Dual ported tape hangs.

[Diagnosis]
Routine TAPCPI carefully find an available path to a drive on the correct
CPU, but uses the CPU accessibility mask from the UDB rather than the KDB.
Since the UDB has two bits lit, there's a 50% chance of picking the wrong
CPU.

[Cure]
Pick up KDBCAM instead of UDBCAM.

[Keywords]
DUAL PORTED TAPES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	354	TAPSER	TAPCPI


[End of MCO 13364]

MCO: 13367		Name: DPM		Date: 21-Apr-87:07:26:49


[Symptom]
AUTCON doesn't (30 of n)

[Diagnosis]
DIAG. UUO loops 'til we KAF on multi-CPU systems trying to remove a KLIPA.
I don't completely understand the problem since I don't have an SMP system
for debugging right now, but pre-dispatch code for DIAG. UUO finds FILSER's
fake KDB rather than the KLIPA's KDB.  Now this really shouldn't hurt us
(except for now removing the device), but I don't have an SMP system ...

[Cure]
Rename KDBCSR to KDBDVC and define it for all KDBs.  The outside world must
use this word when scanning KDBs given a device code.  RAXKON will cleverly
make sure it is zero so UUOCON won't stick it's nose where it doesn't belong.
This ought to have a positive affect on the problem, but may not entirely
solve it.  This MCO also changes most of the references to KDBCNI for picking
up device codes to KDBDVC.  Lots of load byte instructions become MOVEs.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	354	AUTCON
		DEVPRM
		RAXKON
		RHXKON
		RNXKON
		RPXKON
		T78KON
		TAPSER
		TM2KON
		TX1KON
		UUOCON


[End of MCO 13367]

MCO: 13368		Name: JAD		Date: 21-Apr-87:11:58:40


[Symptom]
Excessive disk error messages/problem with unit foo messages can
run the clock queue out of room.

[Diagnosis]
Everyone blindly stuffs into the clock queue without checking
if there is room for the (easily ignored in favor of not crashing)
message.

[Cure]
Add a routine to test for clock queue overflow which can be
called by routines which would like to add a clock entry but are
willing to forgoe the entry if that would keep the system up.

[Keywords]
CLOCK QUEUE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	354	CLOCK1	SKPCLQ
		FILIO	POSE11,BADLP1


[End of MCO 13368]

MCO: 13372		Name: JAD		Date: 27-Apr-87:13:20:14


[Symptom]
MCO 13345 was a little too ambitious.  Resurrect it in a slightly less
ambitious form, to wit:

Too much of section 0/1 addressing space used by SCA support.

[Diagnosis]
Code runs extended and can easily live in section 2.

[Cure]
Move the code to section 2.
Frees up about 6 pages of section 0/1 addressing space.

[Keywords]
ADDRESS SPACE
SCA

[Related MCOs]
13345

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	355	COMMON
		CORE1
		ERRCON
		KLPSER
		MSCCOM
		S
		SCAPRM
		SCASER
		SCSUUO
		VMSER


[End of MCO 13372]

MCO: 13373		Name: JAD		Date: 27-Apr-87:15:56:32


[Symptom]
Garbage left around in UDBs after dismounting a structure.

[Diagnosis]
Not enough effort to clean up afterward.

[Cure]
Re-arrange code to clean up, and make it do the second port too.

[Keywords]
STRUUO
DISMOUNT STRUCTURE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	355	FILFND	REMUN


[End of MCO 13373]

MCO: 13376		Name: JAD		Date:  1-May-87:08:58:08


[Symptom]
"B" monitor (no ANF network) assembly errors.

[Diagnosis]
References to "M.ANUM" throughout the LDB definitions which are
only checked to conditionally set LTLUSE for the LDBs.

[Cure]
Change the node number to a simple "Y" or "N" answer.

[Keywords]
NETWORKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	COMMON	TTDSPX


[End of MCO 13376]

MCO: 13377		Name: JMF		Date:  1-May-87:11:20:15


[Symptom]
Some programs which intend to go virtual to reduce their working
set size to a bare minimum (read GALAXY components) never make it.

[Diagnosis]
They setup for a virtual timer trap so that unaccessed pages
will get thrown out but then they don't compute enough to ever expire the
timer.

[Cure]
Have SETVTM store the interval for virtual timer traps but initialize
the counter to 1 tick. Thus if the programs compute at least on tick during
initialization, they will go virtual as intended.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	VMSER	SETVTM


[End of MCO 13377]

MCO: 13378		Name: JAD		Date:  1-May-87:11:27:32


[Symptom]
Potential for disk corruption when some "clever" (read that "A little
knowledge is a dangerous thing") fool mounts a disk on a system via
the /OVERRIDE-SET-NUMBER switch to PULSAR.

[Diagnosis]
Fools rush in when they don't know what they're doing.

[Cure]
Add a new status bit to the "define structure" function of the STRUUO
which indicates monitor I/O on the units in the structure is NOT
to be cached in the monitor's I/O cache.  Teach PULSAR to set the
bit when someone specifies /OVERRIDE-SET-NUMBER as a protective
measure.

[Keywords]
STRUUO
NON-CACHED I/O

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	DEVPRM	U2PNOC
		FILFND	DEFSTR
		FILIO	CSHIO
		UUOSYM	FS.UNC


[End of MCO 13378]

MCO: 13380		Name: JAD		Date:  4-May-87:15:34:48


[Symptom]
KAF stopcode after system is up for a few minutes if a DX20 is
online without any units online.

[Diagnosis]
TD2KON calls AUTKDB to build a KDB (if necessary) then tries to
build UDBs for any existant units.  Unfortunately, AUTKDB calls
FNDKDB to look for an existing KDB, which doesn't work, so AUTKDB
decides to create a new KDB.  This repeats every minute, with each
new KDB getting stuffed into the CHN, until the table in the CHN
overflows into the first KDB.  Eventually, KDBNXT in the first KD
will get loopy, causing the KAF.

[Cure]
Call AUTKDB with the massbus unit number (or -1) in T1, do the
work of AUTMUK in AUTKDB, and delete AUTMUK.  This way AUTKDB
can call FNDKDB with some arguments which are meaningful.

While I'm at it, delete a few unreferenced global routines in
AUTCON which were left over from the "do it both ways" days.

[Keywords]
MAGTAPES
SUCK
EGGS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	AUTCON
		DPXKON
		FHXKON
		FILIO
		FSXKON
		KLPSER
		KNISER
		ONCMOD
		RAXKON
		RNXKON
		RPXKON
		T78KON
		TAPUUO
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON


[End of MCO 13380]

MCO: 13381		Name: JMF		Date:  5-May-87:10:12:54


[Symptom]
SET NOMESSAGE responds with ?No core assigned.

[Diagnosis]
Bits are wrong in UNQTB2. NOCORE is a right half bit.

[Cure]
Fix bits.

[Keywords]
NOMESS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	COMMON	SNAMES
703A	


[End of MCO 13381]

MCO: 13382		Name: JAD		Date:  5-May-87:10:56:31


[Symptom]
SYSUNI chain gets loopy.

[Diagnosis]
If we fail over a CI disk, AND if the UDB has just been created,
the UDB will get linked into the SYSUNI chain twice by UNLDET, who
just KNOWS the UDB is not on the SYSUNI chain.

[Cure]
Make UNLDET a little smarter, and don't put something on SYSUNI
if it is already ON SYSUNI.

[Keywords]
KAF STOPCODE
CI FAILOVER

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	FILIO	UNLDET


[End of MCO 13382]

MCO: 13383		Name: JAD		Date:  5-May-87:14:41:35


[Symptom]
Too much monitor overhead doing disk I/O.

[Diagnosis]
UUOSET is typically called to set up for a transfer, followed
by a call to UUOPWQ to do the transfer.  However, UUOPWQ itself
calls UUOSET, and while the second call doesn't hurt, and doesn't
actually do much (about a dozen lines), it is still "lost" cycles.
Also, UUOPWQ calls CHEKU before calling UUOSET, while UUOSET calls
SETU, again adding some inefficiency.

[Cure]
Change calls to UUOPWQ into calls to UUOPWR whenever a call to
UUOSET immediately precedes a call to UUOPWQ.  Remove the call
to CHEKU from UUOPWQ and let the call to SETU in UUOSET do the
test for a yanked structure.  Make UUOPWR global.

[Keywords]
EFFICIENCY

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	FILIO	UUOPWQ,UUOPWR
		FILUUO	LOTS
		UUOCON	ONE


[End of MCO 13383]

MCO: 13384		Name: JAD		Date:  6-May-87:10:50:58


[Symptom]
Can't get at bootstrap microcode information from a program without
PEEKing or spy pages.

[Diagnosis]
Missing functionality.

[Cure]
Add a new function of the RECON. UUO, .RCRBM, which returns info
about microcodes in BOOT.  Calling sequence is:

	MOVE	ac,[.RCRBM,,addr]
	RECON.	ac,
	  error return
	success return

addr:	EXP	length		;length of argument block
	0			;RETURNED NUMBER OF MICROCODE ENTRIES TO FOLLOW

	XWD	ucode index,len	;microcode index (.BTxxx), length in words
	EXP	version		;microcode version number
	(the previous two words are repeated for each microcode)

New error return from RECON.: RCNBN%==24, bootstrap not available.

[Keywords]
SHOW HARDWARE
BOOTSTRAP
MICROCODES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	UUOCON	RCNRBM
		UUOSYM


[End of MCO 13384]

MCO: 13386		Name: JAD		Date:  7-May-87:10:45:24


[Symptom]
SYSUNI chain gets loopy (2 of 2).

[Diagnosis]
MCO 13382 didn't go far enough in finding all the holes in the
code to twiddle with the SYSUNI and SYSDET chains.

[Cure]
Take a giant step and remove the half dozen separate chunks of
code which twiddle the chains, and make subroutines to do the
appropriate foolishness.  The subroutines can be made smarter
so we don't loop the chain by trying to attach a unit twice,
for example.

[Keywords]
SYSUNI
LOOPS

[Related MCOs]
13382

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	FILIO	LOTS
703A	


[End of MCO 13386]

MCO: 13388		Name: RJF		Date:  8-May-87:12:18:32


[Symptom]
Extended addressing not handled correctly in mag-tape driver.

[Diagnosis]
T78KON keeps the IORB address in the RH(T1).  Problem is, it
also keeps status flags from TRBSTS in the LH of the same acc, and indexes
using it.  We could have set/tested these bits in memory, but this would
have made thinks a bit too messy.  So instead we...

[Cure]
Save P4 at T78ISR and use it to hold all the TRBSTS bits that used to
be kept it the LH(T1).

[Keywords]
TU78

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	T78KON


[End of MCO 13388]

MCO: 13389		Name: KDO		Date:  8-May-87:15:34:30


[Symptom]
A TOPS-10 or TOPS-20 routing node will incorrectly announce that it is the
designated router.

[Diagnosis]
At initialization time, ROUTER saves its Ethernet address and starts a 5 second
counter.  If no other nodes with a higher routing priority are discovered in
that period of time, ROUTER will set bit RCDSR in the RC block, which states 
that it is the designated router.  However, the code later tests to see if it is
the designated router by comparing the Ethernet address that was saved earlier 
with the current address, ignoring the 5 second counter.

[Cure]
Test bit RCDSR.


[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	ROUTER	RTREH4


[End of MCO 13389]

MCO: 13390		Name: DPM		Date: 12-May-87:03:29:55


[Symptom]
AUTCON doesn't (31 of n)

[Diagnosis]
1. Can't configure paper tape reader/punches
2. Can't configure card punches
3. Can't deal with oddball devices (like card punches) that use
   two PI channels.  Note that LPTs have always had two PIAs, one
   for data and one for errors, but these have always been handled
   on the same PI channel.  That's the only reason things have
   worked so far.

[Cure]
1. Enhance PTPSER and PTRSER.
2. Enhance CDPSER.
3. Change the calling sequence of AUTCSO by passing it the PI
   channel of the interrupt routine being linked into the CONSO
   skip chain instead of getting it out of the driver vector.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	AUTCON
		CDPSER
		COMDEV
		COMMOD
		COMMON
		LPTSER
		MONGEN
		PLTSER
		PTPSER
		PTRSER
		UUOCON


[End of MCO 13390]

MCO: 13391		Name: RCB		Date: 12-May-87:07:02:57


[Symptom]
Can't generate monitors with DECnet but not ANF-10, and other problems.

[Diagnosis]
Too much confusion about which dummy globals are needed by which modules under
what circumstances.

[Cure]
Fix up the tangled web we wove.  NETGEN goes away.  HDWGEN becomes SYSGEN.
HDWCNF and NETCNF are replaced by SYSCNF.  The question about Ethernet hardware
support moves to just before the question about RPXKON.  The general network
dialog moves to just after the question about the number of PTYs.  Some of the
questions have changed a little.  Run the new MONGEN to see how in particular.
Some highlights:  The question about the number of remote terminals now states
that it is for all incoming network job sessions.  NRTSER is now optional
even if you have DECnet.  LAT service will not default to service group 0.
Instead, you tell MONGEN which group(s) you want to enable.  The default is to
enable none.

[Keywords]
Network selection

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	COMMON	LOTS
		COMDEV	LOTS
		SYSINI	QSTROK
		LATSER	LATINI
		NETDEV	LOTS
		NETSER	NETINI
		D36COM	D36INI
		MONGEN	LOTS
		TOPS10	FIL
		GEN.CT


[End of MCO 13391]

MCO: 13392		Name: KDO		Date: 12-May-87:08:00:51


[Symptom]
LATSER doesn't (1 of n).

[Diagnosis]
LATSER (TOPS-10) and LATSRV (TOPS-20) sources have diverged.
Other problems include:

1. IME stopcodes.
2. LATOP. UUO function .LASTC doesn't function according to the documentation.
3. Check privileges before allowing LATOP. UUO function .LAZCO.

[Cure]
Remerge the sources and fix as many problems as possible along the way.

[Keywords]
IME

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	LATSER	.LATOP,LATINI


[End of MCO 13392]

MCO: 13393		Name: JAD		Date: 12-May-87:13:40:52


[Symptom]
UN5 stopcode (unit in 512-byte sector mode) stopcode loops.

[Diagnosis]
Flaw in the code.

[Cure]
Move the test on 512-byte sectors to the generalized routine which
processes unit status.

While I'm at it, change the UN5 stopcode to print the unit and
controller info since the code hasn't built a UDB at the place
in the code where the UN5 stopcode now exists.

Lastly, change stopcodes to 6 characters (prefix all with "RAX"),
as follows:

	XIF	=>	RAXXIF
	UGA	=>	RAXUGA
	CRM	=>	RAXCRM
	KN5	=>	RAXKN5	(turns into EVENT)
	KIM	=>	RAXKIM
	UWA	=>	RAXUWA
	UOF	=>	RAXUOF
	UN5	=>	RAXUN5 (turns into EVENT)
	CSF	=>	RAXCSF
	RAX	=>	RAXRAX

[Keywords]
UN5
HSC50

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	360	RAXKON	RAXUO3,RAXPUS


[End of MCO 13393]

MCO: 13396		Name: JAD		Date: 14-May-87:13:26:08


[Symptom]
Page fail processing is a tangled weave . . .

[Diagnosis]
Once we get to SEILMA, things get confusing.  The flags/PC
doubleword of the fault gets zapped, making IMEs in DECnet
look like they happened elsewhere.  Continuation address of
".+1" in a JOB stopcode implies control will return to the
next instruction, when a JOB stopcode never returns.  Lots
of CDB locations get used incorrectly/in a confusing fashion
throughout SEJLM1 and friends.

[Cure]
Straighten out the confusion.  Save original fault PC/page
fail word in the CDB, restore when giving a stopcode, clean
up some in-line tests (make them into subroutines), and in
general try to make SEILMA understandable.

[Keywords]
IME

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	360	APRSER	SEILMA
		COMMON	.CPEJ?


[End of MCO 13396]

MCO: 13397		Name: JAD		Date: 15-May-87:10:26:19


[Symptom]
Debugging<pause> via E<pause>XEC DDT is<pause> somewhat<pause>
painful due<pause> to all the<pause> pauses while E<pause>XEC
DDT is sear<pause>ching the symbol<pause>table  (get my drift?).

[Diagnosis]
Hidden symbol table swapping stuff takes a lot of time for
DDT to do, so when one hits a breakpoint it takes quite a while
for DDT to munge around the page maps to make the symbol table
addressable so it can type the name of the breakpoint.

[Cure]
On the KL, shift the symbol table into section 35, which
makes it addressable much more easily.  The KS will still be
an orange pig, but that's what you get with cheapie hardware.

[Keywords]
EDDT
DEBUGGING
THE-PAUSE-THAT-DOESN'T-REFRESH

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	360	COMMON	.CNEDV
		S	MS.SYM
		SYSINI	SYTBFX


[End of MCO 13397]

MCO: 13401		Name: KDO		Date: 19-May-87:15:27:31


[Symptom]
ANF-10 file transfers don't (2 of 2).

[Diagnosis]
None, but code is wrong.

[Cure]
MCO 13233 removes an AOS (P) which causes double skip returns.
Remove the other AOS (P) also.

[Keywords]
ANF-10
file transfer

[Related MCOs]
13233

[Related SPRs]
35721

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	360	NETSER	NTDSIB

703A		NETSER	NTDSIB


[End of MCO 13401]

MCO: 13405		Name: JAD		Date: 21-May-87:10:38:07


[Symptom]
System coming up without any disk units won't work, but winds up
producing odd stopcodes which mask the real problem.

[Diagnosis]
Before AUTCON, there was ALWAYS at least one disk unit configured
in the system (via MONGEN dialogue).  Now, if something/one screws
up and no disk UDBs get built, ONCMOD can try to do stupid things.

[Cure]
Add a new stopcode, "NODISK", which will reload the system if
we get to GETOPT with no disk UDBs.

[Keywords]
NO DISKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	361	SYSINI	GETOPT


[End of MCO 13405]

MCO: 13406		Name: JAD		Date: 24-May-87:20:45:24


[Symptom]
SSX and SSXE macros accept bad arguments.

[Diagnosis]
Yeah, I got burned last week - tried SSX T1,(MS.SYM), which
wound up as HRLI T1,@(15) or some such nonsense.

[Cure]
Make SSX and SSXE check for legal arguments.

[Keywords]
SSX
SSXE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	361	S	SSX,SSXE


[End of MCO 13406]

MCO: 13408		Name: JAD		Date: 27-May-87:13:00:23


[Symptom]
Monitor short on section 0/1 address space (n of m).

[Diagnosis]
KLPSER and KNISER could probably move to section 2 with a little
bit of work.

[Cure]
Do a little bit of the little bit in preparation for the move;
remove any expectation that the port control block is in a non-
zero section (used to be early in 7.03 development, but isn't
any longer and never will be).

[Keywords]
ADDRESS SPACE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	KLPSER	A,FEW
		KNISER	MORE


[End of MCO 13408]

MCO: 13409		Name: JAD		Date: 27-May-87:14:28:02


[Symptom]
Someday, over the rainbow, we'll have more than one swapper DDB.

[Diagnosis]
Well, maybe not, but I spent some time moving the "lower case LPT"
bit from the sign bit of DEVCHR to bit 2 and I'd rather not lose the
results of my labors.

[Cure]
Move the "lower case LPT" bit (DVLPTL) from bit 0 of DEVCHR to bit 2
of DEVCHR (formerly marked as "free").  Move the "free" bit from
bit 2 to bit 0, and maybe someday move DEVSWP/DEPSWP there.

[Keywords]
DVLPTL

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	COMDEV	FLNDDB
		LP2SER	DVLPTL
		LPTSER	DVLPTL
		S	DVLPTL
		UUOCON	DVLPTL


[End of MCO 13409]

MCO: 13410		Name: JAD		Date: 27-May-87:20:46:03


[Symptom]
IME trying to print out CI node online/offline message.

[Diagnosis]
Loading up a pointer to text in section 2 and then calling CONMES
and subsequently addressing a non-existant location.

[Cure]
Move the text string to section 0/1.

[Keywords]
PATH MESSAGES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	SCASER	PTHONL,PTHOFL,PTHSE0


[End of MCO 13410]

MCO: 13411		Name: JAD		Date: 28-May-87:09:57:31


[Symptom]
Problems with wrong ACs used during parity traps and sweeps.

[Diagnosis]
PRTRP and PTPAR both call LOKDIE before saving away the ACs, and
especially before setting up a valid pushdown list pointer in P.  A
recent IME crash was caused when the PUSHJ P,LOKDIE stored the PC+1
in location 3070 (CPU0's section 2 page map), and LATSER referenced
something at 70xxx.

Also, APPSWP saves ACs in .CPAxx using a malformed BLT pointer.  An
interrupt could occur during the BLT and cause corruption when the
BLT was resumed with the bad pointer (using T1 to BLT ACs rather
than using AC 17).

[Cure]
Move the DIELOK down after saving away the ACs and setting up a
valid pushdown list pointer.

Use a valid BLT pointer.

[Keywords]
PARITY TRAPS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	APRSER	PRTRP,PTPAR,PTXIT,PTXIT1
		CLOCK1	APPSWP


[End of MCO 13411]

MCO: 13412		Name: JAD		Date: 28-May-87:14:45:28


[Symptom]
Problems with MCO 11937 when a structure is comprised of more than
one unit.  General problems with use of the "DA" resource to protect
the RIBs of simultaneous update files.

[Diagnosis]
Code in 11937 was a stopgap; it was fixed (partially) recently
but is still sloppy based on use of the "DA" resource.

Owning the "DA" resource on one unit won't protect a RIB if a unit
change pointer gets inserted (we won't own the "DA" on the new unit).

[Cure]
Remove all code associated with MCO 11937.

Invent the "FA" resource (file allocation) to fix the problems with
use of the "DA" resource to protect the RIBs of simultaneous update
files.  The "DA" resource is now used only to synchronize allocation
through TAKBLK and friends.

[Keywords]
ALLOCATION
SIMULTANEOUS UPDATE
DA RESOURCE

[Related MCOs]
11937

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	COMMOD	JBTFA,NMBFAJ
		ERRCON	GIVRES
		FILIO	LOTS
		FILUUO	TOO
		S	FA
		SCHED1	CKJB5A
		UUOCON	SETIOS


[End of MCO 13412]

MCO: 13413		Name: DPM		Date: 29-May-87:05:00:22


[Symptom]
     Stopcode IME when allocating non-zero section core after a series
of allocates and deallocates.

[Diagnosis]
     At GVFW11, a section number is setup based on the section  number
of  the  chunk  pointed  to  by AC 'R'.  The instruction which handles
section numbers is under an FTMP conditional when it should  be  under
an  FTXMON  conditional.   FTMP controls the assembly of SMP features.
FTXMON controls extended addressing features.

[Cure]
     Change the FTMP conditional to FTXMON.

[Keywords]
XADDR

[Related MCOs]
None

[Related SPRs]
35729

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	VMSER	GVFW11

703A	


[End of MCO 13413]

MCO: 13414		Name: DPM		Date: 29-May-87:07:23:06


[Symptom]
     Stopcode NIJ when sending a tape labeler message to PULSAR.

[Diagnosis]
     We understand how the problem happens, but not  why  it  happens.
If  we  get  to LBLSND with J containing an invalid job number, an NIJ
stopcode will result when sending an  IPCF  packet  to  PULSAR.   This
behavior  is  most  infrequent  and  cannot  be  reproduced  at  will.
However, it is probably in the best  interests  of  our  customers  to
prevent  the  system failures rather than allowing them to occur until
the exact cause is known.

[Cure]
     In LBLSND, reset J with the job number of the owner of  the  tape
drive.  Also remove a redundant LDB J,PJOBN## at LBLPOS which would no
longer be needed with this change installed.

[Keywords]
LABELED TAPES

[Related MCOs]
None

[Related SPRs]
35985

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	TAPUUO	LBLPOS,LBLSND

703A	


[End of MCO 13414]

MCO: 13416		Name: JAD		Date:  1-Jun-87:07:57:16


[Symptom]
Monitor's handling of disk read errors is incorrect.

[Diagnosis]
ECC correction is used in preference to retries and offsetting.
ECC correction may produce incorrect results, depending on the ECC
correction algorithm used in the disk logic.

[Cure]
Have the monitor attempt retries and offsets BEFORE it attempts
ECC correction.

[Keywords]
ECC miscorrection

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	FILIO	ECC
		DEVPRM


[End of MCO 13416]

MCO: 13419		Name: KDO		Date:  2-Jun-87:05:10:24


[Symptom]
Extended error status contains junk.

[Diagnosis]
PDVESE (in DEVESE) should be cleared in more places.

[Cure]
Clear PDVESE for OPEN, INIT, and FILOP. UUO's.

[Keywords]
Error status
PDVESE
DEVESE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	UUOCON	UINIT0

703A		UUOCON	UINIT0


[End of MCO 13419]

MCO: 13420		Name: DPM		Date:  2-Jun-87:06:16:38


[Symptom]
AUTCON doesn't (32 of n)

[Diagnosis]
1. Can't configure I/O bus card readers
2. Can't configure CFE card readers
3. Can't configure CFE printers
4. DTE device dispatch tables are never the right length

[Cure]
1. Enhance CDRSER
2. Enhance DCRSER
3. Enhance DLPSER
4. Create a new macro in DTEPRM called DTEFNC which will fill
   in all the missing entries of the DTE device dispatch table
   with EATMSG entries.

CFE devices still aren't fully functional.  Must resolve the funny
tables that used to be generated by the RSXDTE macro.  Must also
deal with multiple prototype DDBS for a single device type (i.e.
CDR and LPT).  It would also be nice to propagate the use of DTEFNC
macro in all places where the dispatch tables exist.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	AUTCON
		CD2SER
		CDRSER
		COMDEV
		COMMON
		DCRSER
		DLPSER
		DTEPRM


[End of MCO 13420]

MCO: 13421		Name: JMF		Date:  3-Jun-87:10:08:47


[Symptom]
STOPCD NPJ

[Diagnosis]
CTXSER insists that a job must have a PDB when a swapout
finishes but this "ain't necessarily so" to quote Gershwin whilst
a logout is in progress.

[Cure]
Just ignore the CTX stuff if there's no PDB.

[Keywords]
NPJ

[Related MCOs]
11102

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A	363	SCHED1	FINOUT
704		CTXSER	CTXSCD


[End of MCO 13421]

MCO: 13422		Name: JMF		Date:  4-Jun-87:03:55:01


[Symptom]

If doing a LOOKUP of a non-existant file from a non-zero section causes
a UFD to be read, the result is
?Illegal address in UUO at user PC xxxxxx.

[Diagnosis]
PCS is getting zapped by the monitor I/O to read the UFD.

[Cure]
Call SSPCS.

[Keywords]
Ill add
Non-zero section
Monitor I/O

[Related MCOs]
None

[Related SPRs]
35986

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	363	FILIO	SETBS2
703A	


[End of MCO 13422]

MCO: 13425		Name: DPM		Date:  9-Jun-87:04:20:36


[Symptom]
AUTCON doesn't (33 of n)

[Diagnosis]
MCO 13420 had a few glitches.

[Cure]
Rethink CFE device configuration.  At SYSINI time, set up a clock
request to go off sometime after primary protocol starts.  At that
time, fire off the request for device status messages to -20F and
hope for the best.  When the device status messages come through,
if we don't find a DDB for the specified unit, autoconfigure one.
Also, dispense with the wierd tables set up by the old RSXDTE macro
that depended on bizzar double indirection using inconvenient ACs.
-20F communications is a little kinky. You don't always get answers
to questions you ask, but what the hell.  We'll take what it gives
us and program around (ignore?) the rest as usual.

Change all DTE-based device drivers to use the new DTEFNC macro for
building the dispatch tables.  That way, all tables will be of the
same length.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	363	AUTCON
		COMDEV
		D6SINT
		D8SINT
		DCRSER
		DLPSER
		DTEPRM
		DTESER
		FEDSER
		TTDINT


[End of MCO 13425]

MCO: 13426		Name: KDO		Date:  9-Jun-87:05:02:05


[Symptom]
LATSER doesn't (2 of n).

[Diagnosis]
Edits lost in merge of LATSER and LATSRV:

1. Remove unnessary SE1ENT in CWHLAT (.WHERE function).
2. Use correct size of fixed fields in BLDSTM.
3. Correctly reinitialize CB's in HMSTRT: reclaim all CB resources.

[Cure]
Include these edits also.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	363	LATSER	CWHLAT,BLDSTM,HMSTRT


[End of MCO 13426]

MCO: 13427		Name: DPM		Date:  9-Jun-87:08:05:04


[Symptom]
Code cleanup time

[Diagnosis]
Yes

[Cure]
Remove lots of old-style MONGEN symbols from COMDEV along with macros
that no longer get referenced.  Fix up comments and delete those which
don't apply anymore.  Also clean up MONGEN questions by making them
less cryptic and more grammatically correct.

[Keywords]
KILLING TIME

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	363	COMDEV
		COMMOD
		MONGEN
		PTYSER
		SCNSER


[End of MCO 13427]

MCO: 13428		Name: DPM		Date: 10-Jun-87:08:49:54


[Symptom]
CONFIG can't easily find all the KDBs.

[Diagnosis]
AUTCON has scrambled the info into an new format.

[Cure]
Expand the DVPHY. UUO to return KDB names if so requested.
The old argument block format is still respected for returning
DDB names, however, the following extensions are now allowed:

	MOVE	AC, [length,,addr]
	DVPHY.	AC,
	  <error>
	<skip>

addr/	-n,,device-type
addr+1/	kontroller-name

where addr specifies an AOBJN pointer to use in searching KDBTAB.
On return, addr gets updated with the latest pointer used by the
monitor and addr+1 get the next kontroller name.  If a zero is
returned for the name, it means we ran out of kontrollers.

[Keywords]
CONFIG

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	364	UUOCON	DVPKON


[End of MCO 13428]

MCO: 13430		Name: DPM		Date: 11-Jun-87:08:22:30


[Symptom]
AUTCON doesn't (34 of n)

[Diagnosis]
Getting down to the little annoying buggers now ...

[Cure]
1. Correct off-by-one loop counters when scanning DDBTAB.  TYPMAX is the
   highest device type code assigned, not the length of the table.  Among
   other things, this prevented any KLNI diags from working.
2. Use new wizzy protocol pause mode when configuring a CPU so -20F doesn't
   KAF us.
3. Make KLNI diags work again.  Broken because of DIAG. UUO likes to pass
   KDB addresses in the wrong ACs.  Should really be corrected someday.
   Also remove extraneous SE1ENT at KNIDIA since diag always dispatches in
   section one.
4. Bet you didn't know CONFIG seized all magtape kontrollers before doing
   the RECON. to autoconfigure.  Guess what diag function was calling TAPCPU
   when no UDB was available for the subsequent ONCPU call.  Use the KDB
   accessibility mask since it's a KDB-specific function.

Now, on a single CPU system, one can autoconfigure, suspend, and resume with
having all devices available, including a KLNI and KLIPA.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	364	AUTCON
		KNISER
		NETSER
		TAPUUO
		UUOCON


[End of MCO 13430]

MCO: 13431		Name: KDO		Date: 11-Jun-87:09:52:37


[Symptom]
LATSER doesn't (3 of n).

[Diagnosis]
LATOP. UUO doesn't return information for function .LASTC (show terminal
connects).

[Cure]
Use the correct AC for holding the CB address in LAS1C.

[Keywords]
OOPS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	364	LATSER	LAS1C


[End of MCO 13431]

MCO: 13434		Name: DPM		Date: 12-Jun-87:07:25:50


[Symptom]
Day-one bugs in suspend and resume.

[Diagnosis]
1. IPA channels usually aren't usable after resume.  They never get
   shut down.  The monitor assumes them to be still running after system
   reconfiguration.
2. Undeserved KNIKAF and KNIARD after a resume.  KNIMON lites a bit
   to re-init the KLNI.  Later, on the once-a-second call, KNISEC sees
   the KLNI run bit is still on (because IPA channels don't always stop
   when you tell them to), and proceeds to do normal once-a-second
   processing rather than reloading the beast.  This is where the KLNI
   appears sick, and another reload request is made.
3. Preserved monitor bootstrap filespec, SSL, ASL, and SDL lost if the
   boot vector is blown away by setting memory offline.

[Cure]
1. Call the memory offline/online routines since they appear to work for
   suspend.
2. Check all flavors of reload request before doing normal once-a-second
   processing.  This also fixes identical symptoms with set mem offline.
3. Update the boot vector after a resume.

[Keywords]
SUSPEND

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	364	CLOCK1	CIPXI2
		COMMON	SPRI10
		KNISER	KNISEC
		MONBTS	SETBFL


[End of MCO 13434]

MCO: 13438		Name: JAD		Date: 15-Jun-87:08:05:25


[Symptom]
Free core lost if a user ^Cs while waiting for a response from the
file DAEMON.

[Diagnosis]
Temporary search list gets built in GET4WD core and is returned
when a response is received from FILDAE.  If the user ^Cs out nothing
is done to return the GET4WD core used for the temporary search list.

[Cure]
Save a pointer to the temporary search list when one is obtained,
delete it when a temporary search list is given back, and check in
the RESET code if a temporary search list exists, and give it back
if so.

[Keywords]
LOST FREE CORE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	FILFND	SLPTT1,SLGVT
		UUOCON	RESET


[End of MCO 13438]

MCO: 13439		Name: RCB		Date: 16-Jun-87:01:54:40


[Symptom]
CONFIG wants to add and remove kontrollers, but it can't.

[Diagnosis]
No way to do it, even when you can find the kontrollers (after MCO 13428).
The RECON. UUO functions .RCDET and .RCATT only understand CPUs and devices.

[Cure]
Enchance the RECON. functions to understand CPUs, KDBs, and DDBs (in that
order).  This adds two new entries to the driver dispatch table, DRVATK and
DRVDTK, containing the addresses of the attach and detach routines,
respectively.  The routines are called on the/an owning CPU for the KDB, with
the KDB address in P1.  (While W would have been more canonically correct,
only TAPUUO wanted it there.)  Returns skip/non-skip as appropriate.

In particular, the routines for disks just attach/detach all units on
the kontroller.  The routines for the CI and NI emulate the DIAG. functions to
set and clear maintenance mode.  The routines for tapes emulate the DIAG.
functions to start/stop all I/O on a specified kontroller.  That covers all
current types of KDBs.

[Keywords]
CONFIG

[Related MCOs]
13428

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	364	UUOCON	RCNATT,RCNDET
		DEVPRM	DRVLEN,DRVDSP
		TAPUUO	TPMDET,TPMATT
		KLPSER	KLPATK,KLPDTK
		KNISER	KNIATK,KNIDTK
		???KON	???ATK,???DTK,DRVDSP
		CD?SER	???ATK,???DTK,DRVDSP
		DCRSER	DCRATK,DCRDTK,DRVDSP
		DLPSER	DLPATK,DLPDTK,DRVDSP
		LP?SER	???ATK,???DTK,DRVDSP
		PLTSER	PLTATK,PLTDTK,DRVDSP
		PTPSER	PTPATK,PTPDTK,DRVDSP
		PTRSER	PTRATK,PTRDTK,DRVDSP
		FILIO	ATTKON,DETKON


[End of MCO 13439]

MCO: 13440		Name: JAD		Date: 16-Jun-87:07:56:50


[Symptom]
Potential for KLIPA microcode confusion on channel errors.

[Diagnosis]
I always thought the last of the 3 words transferred into the port
(.PCPCB, .PCPIA, and .PCIVA) was reserved.  Turns out the microcode
expects .PCIVA to contain the address of word 1 in the channel logout
area.  Thus, KLPSER never fills in this address, causing the KLIPA
microcode to fetch channel status from physical addresses 0 and 1
(NOT the ACs, but the first two physical addresses which are not
normally addressable).

[Cure]
Change the name of .PCIVA to reflect its new usage and fill in
that new word (.PCAL1) with the address of word 1 in the channel
logout area.

[Keywords]
KLIPA
PCB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	364	KLPPRM	.PCAL1
		KLPSER	PCBINI

703A	


[End of MCO 13440]

MCO: 13441		Name: DPM		Date: 16-Jun-87:08:14:27


[Symptom]
Core allocation is messy at SYSINI time.

[Diagnosis]
Yes

[Cure]
Re-order SYSSIZ setup so GETWDS/GIVWDS can be called at any time.
Create location LOWLIM which is the highest possible address that the
low segment can expand to.  Many places that key off SYSSIZ should be
changed to reference LOWLIM.  FILSER is a prime example.  Loose ends
will be caught when discovered.  NZS core allocation at SYSINI time
still reeks.  Needed for AUTCON error recovery so it can give back core.

[Keywords]
SYSINI
CORE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	364	AUTCON
		COMDEV
		COMMON
		ETHSER
		FILIO
		FILUUO
		ONCMOD
		REFSTR
		SYSINI
		XTCSER


[End of MCO 13441]

MCO: 13442		Name: DPM		Date: 16-Jun-87:08:24:58


[Symptom]
AUTCON doesn't (35 of n) ;busy week.

[Diagnosis]
Can't configure RX02s on a KS10

[Cure]
Now we can.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	364	COMDEV
		COMMON
		MONGEN
		RX2SER
		S


[End of MCO 13442]

MCO: 13443		Name: KBY		Date: 21-Jun-87:14:52:49


[Symptom]
LOKCON and MHS aren't compatible:  there's no way to LOCK if you
have a program with more than one high segment.

[Diagnosis]
No code.

[Cure]
Add code.  Actually, most of the difficult part is done for LOCK
although UNLOK. has to be mangled still.  The user interfaces are described
below for documentation purposes.
	For LOCK:  there is a new function code .LKSGL(==1) for the FORMAT
2 type LOCK UUO.  The call is as follows:

		MOVE	AC,[-n,,addr]	;n=# of args, addr is arg list address
		LOCK	AC,
		  error return
		normal return

			.
			.
			.
	addr:	EXP	.LKSGL		;Segment list LOCK UUO
		EXP	bits+seg#	;n-1 words, one for each segment

"bits" and "seg#" are as below:
		LK.2PC			;(=1B1) Lock this seg physically contig.
		LK.2EV			;(=1B2) Lock contig. in EVM
		LK.2PP			;(=3777B17) Physical page to LOCK segment
					;at or zero if don't care.  LK.2PC must
					;be set for this argument
		LK.2SG			;(=777B35) Segment number to lock
					;Segment #0 is the low segment.
	Also, right now, LOCK in any of the older formats won't work with
an MHS image; it will now attempt to LOCK ALL high segments with the high seg
bits are set.

	UNLOK. now has a new extended format analagous to the above:

		MOVE	AC,[-n,,addr]	;same as above
		UNLOK.	AC,
		  error return
		normal return
			.
			.
			.
	addr:	EXP	.ULSGL		;(==0) - function code (Unlock segment list)
		EXP	seg#		;segment number

	"seg#" is UL.SGN (=777B35); the segment number to UNLOCK.  Segment
number zero is the low segment.  The only error return is ULNSH% (=0);
"Can't UNLOK. only the low segment with non-sharable high segments also
locked."

[Keywords]
LOCK
MHS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	365	LOKCON


[End of MCO 13443]

MCO: 13445		Name: JAD		Date: 22-Jun-87:08:27:35


[Symptom]
Removing or adding a KLIPA/KLNI during timesharing doesn't update
the status of IPAMSK, which means if a suspend is done the KLIPA/KLNI
isn't started/not started as expected.

[Diagnosis]
Not updating IPAMSK when doing the DIAG. functions.

[Cure]
Twiddle IPAMSK as required.

[Keywords]
IPAMSK

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	365	KLPSER	DIAEMM,DIADMM
		KNISER	DIAEMM,DIADMM


[End of MCO 13445]

MCO: 13447		Name: KDO		Date: 22-Jun-87:23:53:33


[Symptom]
LATSER doesn't (4 of n).

[Diagnosis]
LATSER slobbers on section 3 space:

1. Slot block index numbers start with one (not zero).  When used as an index
   number into the SBVECT array, the first word of the table is never used, and
   the address of the last SB is written in some other block.

2. The table of circuit block addresses, CBVECT, can do the same thing.

3. NFRSBQ, the table of bits used to allocate slot block indices, is initialized
   to minus one, indicating that all indices are available.  That's fine as long
   as the number of remote terminals is evenly divisible by 36.  If not, SBALOC
   may see a one bit for which there is no space in SBVECT, allocate space for
   a slot block, and save the address in the contents of SBVECT + "n".

[Cure]
Subtract one before saving the addresses in SBVECT and CBVECT.
Build a proper bit mask for the last word in NFRSBQ at initialization time.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	365	LATSER	LATINI

703A		LATSER	LATINI


[End of MCO 13447]

MCO: 13448		Name: DPM		Date: 23-Jun-87:07:22:08


[Symptom]
Not easy to use exec mode address break.  You often spend more time
debugging address break patches than the code you're chasing.

[Diagnosis]
Yes

[Cure]
Make life a bit easier by allowing the unfortunate debugger to put
pertinent information into the CDB which will cause an exec mode
address break to be set the next time the UBR is setup.  It works
as follows:

	.CPABF	Flag word which contains stopcode-type,,CPU mask
	.CPABI	Instruction to execute when the address failure occurs
	.CPABW	Address break word containing conditions + address
		Conditions are AB.REP (repetitive enable), AB.FET
		(fetch), AB.RED (read), AB.WRT (write), AB.USR (user
		mode).  AB.USR is illegal for bvious reasons and is
		guaranteed to be turned off.

You may stuff the above data into the CDB of your choise.  It will be
propagated to all CDBs specified by the mask in .CPABF.  If stopcode-type
is non-zero, an ABK stopcode of the specified type will occur.  Zero means
no stopcode.  Types are the S$xxxx symbols defined in S.  If .CPABI is
left zero, APRSER will cleverly fill in a benign instruction of my choise.
When an address failure occurs, break will be cleared for the duration
of SEILM processing.  If AB.REP was specified, it will automatically be
re-enabled just prior to the XJEN to continue processing.  Otherwise, all
relavent words in the CDB to control this stuff will be zeroed.  ACs are
saved in .CPA00 and restored after the supplied instruction is executed.
A subroutine (ABKCLR) has been provided to cause address break to be
cleared on the CPUs specified in the mask residing in .CPABF.

I suggest the last word you patch in be .CPABW since APRSER keys off of
that word to know what it should do.  Otherwise, unpredictable things may
happen.  If you don't beleive me, try it for yourself.

Happy debugging.

[Keywords]
ADDRESS BREAK

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	365	APRSER
		COMMON
		S
		SYSINI


[End of MCO 13448]

MCO: 13450		Name: RJF		Date: 23-Jun-87:08:22:10


[Symptom]
Wrong date & time after a SUSPEND/REBOOT

[Diagnosis]
No code for it.

[Cure]
Add code to get the date & time from the operator on a /REBOOT
and call SETDA3 in COMCON to set it and do everything else that the SETUUO
does.  Restrict a /REBOOT to the policy cpu the system was suspended on
since this is the only thing that makes sense for now, and make the other
cpu's in an SMP system wiat for the boot cpu to set the date & time before
starting.

Fix the RECON UUO to wait for all SEND ALLs (done by CONFIG) to complete
before attempting to do its own SEND ALL.  This is so "Suspending system"
messages are not seen after the system comes back.  Note, the RECON UUO
will not do any SEND ALLs on an SMP system (FTMP) since CONFIG has, by that
point, suspended all but the policy cpu.  They can't do the SENDs, so don't
confuse people.

[Keywords]
SUSPEND
REBOOT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	364	COMMON	SUSDTM
		COMCON	SETDA3
		UUOCON	RCNSPN


[End of MCO 13450]

MCO: 13451		Name: JJF		Date: 23-Jun-87:16:52:25


[Symptom]
The MOUNT + QUEUE Saga isn't playing at a DECsystem-10 near us.

[Diagnosis]
Currently only playing for 'artsy' types who DECLARE the appropriate commands.

[Cure]
Bring the newlyweds out into the open so everyone can see (and make fun of)
them.  To do so, do the following:

1. Change the COMTAB tables so that the 'MDA-class' commands ALLOCATE,
CANCEL, DEALLOCATE, and SHOW all run QUEUE instead of MOUNT.

2. Change MNTCOM so that it will run QUEUE instead of MOUNT if MDA is
present.  If MDA is not present, continue to run UMOUNT.

3. Remove the MODIFY command, which never had any code written for it.


"MOUNT (v. trans.) [Origin: 'Suffer the little peripherals to come unto Me'--
St Presper's *Sermon on the Mount Command*.] 1. To expose (an item of hardware)
to the vagaries of the software.  2.  To elicit the response that the specified
item is unready or nonexistent." -- The Devil's DP Dictionary



[Keywords]
COHABITATION

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	COMMON	COMTAB
		COMCON	MNTCOM


[End of MCO 13451]

MCO: 13452		Name: JAD		Date: 24-Jun-87:07:54:51


[Symptom]
Can't easily replace an IPA device microcode without reloading the
system and installing a new BOOT on the front-end area.

[Diagnosis]
No functionality to stuff a new microcode inside BOOT.

[Cure]
Add a RECON. UUO function to supply a new bootstrap microcode.
Calling sequence is:

	MOVE	ac,[XWD .RCSBM,addr]
	RECON.	ac,
	  error
	success

addr:	EXP	3		;LENGTH OF THIS BLOCK
	XWD	INDEX, LEN	;MICROCODE INDEX,,LENGTH
	EXP	UCODADR		;ADDRESS OF MICROCODE (FIRST WORD OF MICROCODE
				; CONTAINS THE VERSION NUMBER OF THE UCODE)

New error codes:

	RCNEM%==25		;NON-EXISTANT MICROCODE
	RCMLD%==26		;MICROCODE LENGTHS DIFFER

Note that one can only replace a microcode with another microcode of
the same length.  Not really a problem for KLIPA/KLNI, since the way
SMW devised to load IPA microcodes uses a fixed length block indexed
by IPA CRAM address.

[Keywords]
IPA MICROCODE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	UUOCON	RCNSBM
		UUOSYM	.RCSBM,RCNEM%,RCMLD%


[End of MCO 13452]

MCO: 13454		Name: JAD		Date: 25-Jun-87:07:43:32


[Symptom]
A number of nits to pick regarding disk I/O request blocks:

1) DRBs are maintained in a "funny" doubly linked list where the list
   header is initialized to itself minus DRBLNK.  This is somewhat
   confusing since the links in the list items aren't twiddled in the
   same way.

2) ONCMOD has its own DRB which wastes a few words of code space.

[Diagnosis]
1) SMW was too close to RDH's office, and the odor of some of
RDH's recreational pharmecuticals wafted into SMW's office while
he was designing the linked list.

2) Couldn't call GETWDS/GIVWDS during ONCMOD prior to DPM's MCO
   cleaning up memory allocation during ONCE-only.

[Cure]
1) Leave off the minus DRBLNK from the list header and make the
    list "internally consistant".

2) Remove the ONCDRB crocks and just call GETWDS/GIVWDS.

[Keywords]
DRBS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	COMMOD	ACTDRB
		FILIO	LOTS
		ONCMOD	ONCDRB
		RAXKON	FNDDRB


[End of MCO 13454]

MCO: 13455		Name: JAD		Date: 25-Jun-87:09:56:33


[Symptom]
The first word of a block of free core immediately following a
label DDB is mysteriously zeroed whenever the label process
does (dump mode) I/O to process tape labels.

[Diagnosis]
TAPUUO defines a prototype label DDB which doesn't exactly
match the regular magtape DDB definition.  Several words are
incorrectly documented, but more important, the prototype DDB
is SHORTER than the regular DDB by several words.  When dump
mode I/O is done, the first thing TAPUUO does is to zero the
word TDVREM in the DDB.  Well, guess what?  The prototype DDB
ends just BEFORE word TDVREM.  If the prototype DDB ends on
the last word of a 4-word block (which it does in 7.03 with
FTMP turned off), the first word of the next 4-word block will
get zeroed.  This may likely be a disk I/O request block (the
first word of which contains a link to the previous and next DRBs).

[Cure]
Get rid of the prototype label DDB.  Use the prototype magtape
DDB and set/clear a few bits in the label DDB copied from the
prototype magtape DDB so the label DDB is "correct".

[Keywords]
LABEL DDBS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	TAPUUO	LPROTO,TPLBGA

703A	


[End of MCO 13455]

MCO: 13456		Name: DPM		Date: 26-Jun-87:05:51:02


[Symptom]
     CTX. UUO function .CTDIR (return  directory  of  contexts)  fails
with an illegal job number error.

[Diagnosis]
     AC 'M' is incorrectly advanced beyond the word  in  the  argument
block  containing  the target job number.  When this is corrected, the
job executing the UUO may hang trying to get the MM resource on an SMP
system.   This  happens  because  the resource is already owned by the
job.  On single CPU systems, the  job  performing  the  UUO  may  call
SCDCHK.   During  the  interval  in  which the job is not running, the
target job may log out, thus deleting  its  PDB  and  context  blocks.
Later references to those data structures may cause IMEs or unexpected
results.

[Cure]
     Do not advance the pointer to the  user's  argument  block.   The
call  to GETEW1 will do that automatically.  Interlock PDB and context
block scanning by using the CX resource, not only in the case  of  the
 .CTDIR function,  but in other places as well.  That was the intended
purpose of the CX resource, however, the code was written  before  the
resource existed and was never updated afterwards.

[Keywords]
CONTEXTS

[Related MCOs]
11102

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	CTXSER	INIQTA,REDQTA,SETQTA,XITQTA,DIRECT,DIRINI,DIRRST,INFORM,INFRST

703A	


[End of MCO 13456]

MCO: 13458		Name: JMF		Date: 26-Jun-87:07:06:04


[Symptom]
STOPCD PFHUUO on a paging I/O error.

[Diagnosis]
MONPFH STOPCDs on any error return from a PAGE. UUO. Quite reasonable
behavior for anything except a paging I/O error.

[Cure]
On a paging I/O error, type
?Paging I/O error at user xxxxxx
and stop the job in a non-continuable state.

[Keywords]
PFHUUO
Paging I/O error

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	MONPFH	DOPAG2


[End of MCO 13458]

MCO: 13459		Name: DPM		Date: 26-Jun-87:07:33:25


[Symptom]
     A disconnect of a device from  an  MPX  channel  fails  with  the
unknown device error code from the CNECT. UUO.

[Diagnosis]
     Two problems exist.   First,  the  user's  job  number,  not  the
job/context  handle  is  stored in the DDB when connecting a device to
the MPX channel.  Disconnects fail because the standard DDB  searching
routines expect a JCH, not just a job number in the DDB.  Second, once
the correct DDB is located, the call to SETCPP to put the job  on  the
CPU which owns the device fails, resulting in the device not available
error code.  Upon inspection, of  the  four  callers  of  SETCPP,  two
expect  the  non-skip  routine  to  mean  success, while the other two
expect it to indicate a dead CPU.

[Cure]
     Set up AC 'J' with the job/context handle prior to assigning  the
device.  This will allow the disconnect function to find the DDB.  Also 
change the SETCPP routine to take the  non-skip return if the CPU  which 
owns the device is dead, and change the callers of SETCPP to reflect 
the change.

[Keywords]
CONTEXTS

[Related MCOs]
11102

[Related SPRs]
35728

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	COMMON	SETCPP
		CPNSER	SETCPP
		MSGSER	CNDEV4
		UUOCON	RELEA1

703A	


[End of MCO 13459]

MCO: 13463		Name: JAD		Date: 29-Jun-87:09:14:42


[Symptom]
Monitor short on section 0/1 addressing space (m of n).

[Diagnosis]
Things which can run extended (easily) should be in section 2.

[Cure]
Move KLPSER to section 2.  Frees up 6000+ words in section 0/1.

[Keywords]
ADDRESS SPACE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	AUTCON	LDIPA,RDLAR,TYIPA,RDIPA,WTIPA
		MONBTS	BTUEDL,BTUCOD,BTURPT,ULBEBP
		KLPSER	LOTS


[End of MCO 13463]

MCO: 13464		Name: JAD		Date: 29-Jun-87:19:22:53


[Symptom]
Difficult to diagnose problems with the CI20 microcode.  Cannot easily
produce a dump of the DRAM (scratchpad memory used by microprocessor
common to the CI20 and NIA20) in the CI20.  In fact, it will also be
hard to do this for the NIA20 since KNILDR is unsupported for 7.04.

[Diagnosis]
Not enough commonality in the software for the commonality in the
hardware.

[Cure]
Teach the monitor how to take a dump of the KLIPA/KLNI DRAM.
The dump will be stored in an internal buffer which will be
copied by DAEMON to XPN:.  A GETTAB table entry will be added
which contains the address of the buffer.  The monitor will
make an entry in the ERRPT. buffer when a KLIPA/KLNI dump is
available, which will prod DAEMON into action.  A new function
of the DIAG. UUO, allocate dump buffer, will be added.

[Keywords]
IPA20 DUMP/RELOAD

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Deferred

[MCO attributes]
New development MCO
Documentation change
KL10 only
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	COMDEV	IPABT
		DEVPRM	IPABT.
		UUOCON	CNAMES
		UUOSYM	IPABT.


[End of MCO 13464]

MCO: 13465		Name: RCB		Date: 30-Jun-87:07:38:27


[Symptom]
Can't change the type of a DTE-based front end on the fly.  While there
is a "set line user" functon to the DTE. UUO, it doesn't do what we want
it to do.

[Diagnosis]
Hardwired, MONGENed DTE types, and no code to handle having them change.

[Cure]
Add code.  MONGEN will now only ask which types of DTE-based front ends
you expect to have, not which one is which.  DTESER is responsible for
figuring out which type is which, and making the appropriate changes.
This also makes "set line user" work, by making the same sort of changes
to the ETDs.  The questions about the number of CFE terminals has moved
into the normal TTY loop, since there is no longer a per-CPU DTE loop.

[Keywords]
DTEs
AUTCON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	COMMON
		COMDEV
		DTEPRM
		DTESER
		MONGEN
		GEN.CT
		COMMOD	M.TLTL


[End of MCO 13465]

MCO: 13466		Name: RCB		Date: 30-Jun-87:07:55:58


[Symptom]
Too painful to configure a real customer system.  MONGEN has to configure
itself (a YES/NO process), just to ask a yes/no question.

[Diagnosis]
Too much correlation between MONGEN and the SPD.

[Cure]
Make MONGEN's header note that it will configure anything, but that the
SPD is the arbiter of what is supported.  Remove MUNGEN.  Add a couple of
questions to skip certain portions of the dialog.  Run MONGEN to see what
changed for sure, but the main idea was to avoid the per-CPU device loop
and the DC10/DC68/DC76 questions unless the user explicitly requests them.

[Keywords]
MONGEN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	MONGEN
		GEN.CT


[End of MCO 13466]

MCO: 13467		Name: NED/DPM		Date: 30-Jun-87:08:00:38


[Symptom]
Monitor doesn't run in user mode.

[Diagnosis]
No one ever considered it.

[Cure]
Consider it.  While we're at it, we might as well run through the ONCE 
dialogue.  Which sort of eliminates the need for TWICE.

[Keywords]
ONCE
TWICE
 .RUN MONITOR

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	SYSINI	TWICE,BLDDAT,PAGINI,USRDIO,TGETLN,TOPOTX,FIXLOK,LOKTAB
		ONCMOD	CHKKON,CHKWKL,CHKCP1
		CORE1	GETWRO
		COMMON	SYSTRT
		AUTCON	GENSRT


[End of MCO 13467]

MCO: 13468		Name: JAD		Date:  1-Jul-87:09:43:19


[Symptom]
Resurrect deferred MCO 13464:

Can't take a dump of the KLNI's IPA20 DRAM now that KNILDR is no
longer supported.  Can't take a dump of the KLIPA's IPA20 DRAM in
any event.

[Diagnosis]
KNILDR was tossed when the microcode was made resident in BOOT.
No code was ever developed to take a dump of the KLIPA's IPA20 DRAM.

[Cure]
Add a new DIAG. UUO function which will allocate a buffer to
hold an IPA20 DRAM dump.  Add a routine to COMDEV to dump an IPA20
DRAM.  Move other IPA20-related routines to COMDEV from AUTCON so
KL sites without a CI or NI aren't penalized a few hundred words
for support of devices they don't have.

DAEMON will be poked with a new error code (74) whenever a dump
is taken of an IPA20 DRAM so the dump may be copied to a file in
the XPN: area.

[Keywords]
IPA20 DUMP

[Related MCOs]
13464

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	367	AUTCON
		COMDEV
		COMMON
		DEVPRM
		KLPSER
		S
		UUOCON
		UUOSYM


[End of MCO 13468]

MCO: 13473		Name: RCB		Date:  6-Jul-87:16:21:47


[Symptom]
Not enough info available for CONFIG to find all units or what it wants to
know about kontrollers.

[Diagnosis]
No code.

[Cure]
Add code.  Three new DIAG. functions:
	.DIOKI==30	;Obtain kontroller information
		arg+0/	.DIOKI
		arg+1/	SIXBIT/kon/	;E.G., SIXBIT/MTB/
		arg+2/	start of returned info
			DI.DTY		;Device type
			DI.KTY		;Kontroller type
			DI.KUX		;Max. units on kontroller
			DI.CKS		;Max. kontrollers on CPU or channel
			DI.CAM		;CPU accessability mask
			DI.MUK (bit)	;Multi-unit kontroller
			DI.CLM (bit)	;Can load microcode
		arg+3/	more returned info
			DI.DVC (KL10)	;Device code (9-bit)
			DI.IVI (KS10)	;Interrupt vector (9-bit)
			DI.CUN		;Channel unit number (if DI.MUK is on)
		arg+4/	returned only for KS
			DI.UBA		;Unibus address (21-bit)

	A 4-word argument block is required on the KL, a 5-word block on the
KS.  Any extra words will be filled with zeros.  This way, we can expand it
later without confusing CONFIG too badly.

	.DIOUI==31	;Obtain unit information
		arg+0/	.DIOUI
		arg+1/	SIXBIT/unit/	;E.G., SIXBIT/MTA1/
		arg+2/	returned SIXBIT name of primary KDB
		arg+3/	returned SIXBIT name of secondary KDB
		arg+4/	returned high-order word of drive serial number
		arg+5/	returned low-order word of drive serial number
		arg+6	XWD cpu-accessability,physcial-drive-number
	A seven word argument block is required.  Any extra words will be
filled with zeros.

	.DILKU==32	;List kontroller's unit names
		arg+0/	.DILKU
		arg+1/	SIXBIT/kon/	;E.G., SIXBIT/RAG/
		arg+2/	start of list of unit names returned
	The argument block must be long enough to hold all possible units for
the kontroller.  Thus, the user is advised to use .DIOKI first, and allocate a
block based on DI.KUX.  The AC is filled in with the number of names actually
stored on a success return.

[Keywords]
CONFIG

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	367	UUOCON	DIADSP
		UUOSYM	DIAG.


[End of MCO 13473]

MCO: 13474		Name: RCB		Date:  6-Jul-87:18:29:07


[Symptom]
MCO 13460 broke TSKs, RDXs, and DDPs.  Actually, they didn't always
work before, 13460 just made it more obvious.

[Diagnosis]
If there is no short logical name table (as after 13460), or if
the user has too many logical names to fit (before 13460), we don't clear
DD%LOG when searching for devices.  This causes the network devices to have
real hiccups when trying to figure out whether we might have exhausted the
DDB chain.

[Cure]
Make sure that the TSTxxx routines get called in ways that they like.

[Keywords]
Not-PHYONLY

[Related MCOs]
13460

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	367	UUOCON	DDSRC3,DEVLP4
703A	


[End of MCO 13474]

MCO: 13475		Name: KDO		Date:  7-Jul-87:02:53:04


[Symptom]
LATSER doesn't (5 of n).

[Diagnosis]
LATSER doesn't allow host-initiated connections.

[Cure]
Add code:

1. Extend SB and HN data structures.

2. Transmit Command messages and receive Status messages.

3. Add the LATOP. UUO functions .LARSC, .LATSC, and .LASSC.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	367	LATSER	.LATOP,LARSC,CKRSC,MVRSC,PRGET,PRREL,PRDEL,FMSOL,FMCAN
		LATSER	PRWAIT,PRWAKE,PRXMT,LATSC,LATRST,LATPSI,JBTSC,PRCAN
		LATSER	LASSC,MVSSC,LATINI,BITON,LATSEC,HMSTRT,HMRUN,HMSTOP
		LATSER	MSBGN,HMSTAT,DOSTA,XMTDON
		COMDEV
		UUOCON
		PSISER
		S


[End of MCO 13475]

MCO: 13478		Name: RCB		Date:  7-Jul-87:07:29:03


[Symptom]
Entry vector's still don't work right.

[Diagnosis]
MCO 13269 didn't go far enough.

[Cure]
Finish the job.

[Keywords]
ENTRY VECTOR

[Related MCOs]
13269

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	367	SEGCON
703A		COMCON
		UUOCON


[End of MCO 13478]

MCO: 13480		Name: JAD/DPM		Date:  7-Jul-87:07:56:41


[Symptom]
None observed, primarily because if you hit a stopcode before the
high segment mapping is set up DIE (and everything else) doesn't work.
KS monitor doesn't work because there is no space for LDBs following
the monitor's high segment.

[Diagnosis]
Set up 1:1 mapping for common subroutines/high segments (assemble
it in the section 0/1 map(s) in COMMON), and clear unused slots after
calling ONCMAP to fill in the actual map slots.  Call INICOR to get
space for the LDBs (from the low segment, a giant step backward) and
move the KS high segment origin back to 400000 (another giant step
backward).

[Cure]
Like I said, . . .

[Keywords]
ADDRESS SPACE
HIGH SEGMENT
LDBS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	367	COMDEV	LINKTT
		COMMON	MONORG
		SYSINI	SETHSM


[End of MCO 13480]

MCO: 13482		Name: RCB		Date:  7-Jul-87:08:18:01


[Symptom]
We don't support DEC terminals.  We don't even have any reasonable way to do so.

[Diagnosis]
Ad-hoc mechanism doesn't extend well.

[Cure]
Add code to support terminals via their attributes.  Implications will be
updated both here and in the TTYATR spec.

[Keywords]
TTY ATTRIBUTES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	367	MONGEN
		COMDEV
		COMCON
		SCNSER
		UUOSYM
		NRTSER
		COMMON
		S
		UUOCON
		GEN.CT


[End of MCO 13482]

MCO: 13485		Name: JAD		Date:  8-Jul-87:08:33:39


[Symptom]
Initialization code might overflow into reserved mapping area
for UPM and etc.

[Diagnosis]
Missing psect limit for .INIT.

[Cure]
Add a SETPSL in COMMON

[Keywords]
PSECTS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	370	COMMON	.INIT.


[End of MCO 13485]

MCO: 13487		Name: JAD		Date: 10-Jul-87:08:42:51


[Symptom]
IOP stopcode from the CI20.

[Diagnosis]
Through some tortuous internal paths in the code, when the CI20
is shut down, SCASER gets informed of the path closing.  SCASER in
turn calls back KLPSER telling KLPSER it is OK to re-open the V.C.
KLPSER then sends a request-ID packet when the port is in, shall we
say, an odd state, which just happens to restart the port.  What
happens at this point is random based on what the port tries to do.
I got an IOP stopcode yesterday trying to help Larry debug problems
with the CI microcode.

[Cure]
Test for shutdown in progress at PPDOVC, and defer opening the
port until the once/second code.  This will ensure the microcode
gets reloaded without trying to send packets.

[Keywords]
KLIPA
IOP STOPCODE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	370	KLPSER	PPDOVC


[End of MCO 13487]

MCO: 13488		Name: JAD		Date: 10-Jul-87:08:59:26


[Symptom]
When the system performs a non-existant memory sweep, and no
non-existant memory was found, a message is printed to wit:

	Nothing was found.

Gee, if nothing was found, I guess nothing was existant.

[Diagnosis]
Canned message should be canned.

[Cure]
Change the text slightly - for parity sweep, print

	No parity errors were found.

For non-existant memory sweep, print

	No non-existant memory was found.

[Keywords]
NXM SCAN
PARITY SCAN
TWILIGHT ZONE (DA DA DA DUH)

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	370	ERRCON	PARSWP,NXMSWP


[End of MCO 13488]

MCO: 13489		Name: JAD		Date: 10-Jul-87:12:27:40


[Symptom]
DIAG. doesn't when requesting user I/O.

[Diagnosis]
TRPSTU calls GETTAC which stomps on M.

[Cure]
Save/restore M around the call to GETTAC.

[Keywords]
DIAG.

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	370	UUOCON	DIAUO2


[End of MCO 13489]

MCO: 13493		Name: KDO		Date: 14-Jul-87:07:51:14


[Symptom]
LATSER doesn't (6 of n).

[Diagnosis]
Not all LAT servers will acknowledge multicast COMMAND messages.

[Cure]
Send a SOLICIT_INFORMATION message first and parse the RESPONSE_INFORMATION
message to get the Ethernet address.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	370	LATSER	LARSC,CKRSC,FMINF,FMSOL,PRXMT,HMINFO


[End of MCO 13493]

MCO: 13495		Name: DPM		Date: 14-Jul-87:08:01:09


[Symptom]
AUTCON doesn't (36 of n)

[Diagnosis]

[Cure]
1. Turn on AUTCON data base interlocking.  If called at UUO level and the
   lock is busy, the job will be put to sleep for a second before trying
   again.  If at clock level, the caller has two options: 1) try to get
   the interlock and spin waiting for it to free up, or 2) check .CPATO
   and if negative, then the interlock may be gotten.

2. Move INTLVL and  UUOLVL to .CSUB. PSECT.  They're used by the new interlock
   which will get called from section two.

3. Put the prototype IPA channel interrupt routine into the .CSUB. PSECT.
   It ended up in .INIT. when the IPA stuff was put in COMDEV.

4. Make DDBSRL and DDBSRU macros generate calls to a subroutine to do the
   DDB chain interlocking.  This is so the new TWICE can patch out interlocks.
   AUTCON uses this macro; hence the change is made here instead of another
   MCO.

5. Start cleanup of magtape initialization code.  Reset controllers and
   do sanity checking when KDBs and UDBs are built rather than at the INI
   entry point.  Always load microcodes since a running controller is no
   guarantee that it's running a microcode that monitor can live with.

6. Remove .CPUM1, .CPUM2, .CPUM3, and .CPUM4.  Replace it with a 4-word
   block called .CPUMR.

7. Remove .CPCHN (RH20 channel data block addresses).  It is no longer
   referenced.

8. Remove routine DDBLNK.  It hasn't been referenced for months.  AUTDDB
   does it all.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	370	AUTCON
		COMDEV
		COMMON
		S
		SYSINI
		T78KON
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON
		UUOCON


[End of MCO 13495]

MCO: 13496		Name: JAD		Date: 16-Jul-87:13:51:14


[Symptom]
DECnet is ASSuming some parts of the monitor are addressable in
section 2 directly.

[Diagnosis]
Read the symptom and stop at the fourth syllable.

[Cure]
Insert a few MCALLs and friends.

[Keywords]
DECNET
ADDRESS SPACE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	371	COMDEV
		DNADLL


[End of MCO 13496]

MCO: 13497		Name: KDO		Date: 16-Jul-87:16:28:28


[Symptom]
LATSER doesn't (8 of n).

[Diagnosis]
UUOSYM needs the new LATSER symbols.

[Cure]
Add them.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	371	UUOSYM


[End of MCO 13497]

MCO: 13498		Name: JAD		Date: 17-Jul-87:10:51:20


[Symptom]
The SUSPEND function of the RECON. UUO expects the caller to do
more than their fair share of work.

[Diagnosis]
Lazy monitor programmer put the load on the GALAXY programmer.

[Cure]
Make the monitor code do ALL the work to suspend the system.
In short, send the "Expect an interruption of service" message,
set to "run only" the job executing the UUO, wait for I/O to
complete, light the CR.SPD bit for all non-BOOT CPUs, then light
the CR.SPD bit for the BOOT CPU.  Also call ONCPU0 when executing
the suspend function so things work "correctly".

[Keywords]
CONFIG
SUSPEND

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	371	UUOCON	RCNROM,RCNSPN


[End of MCO 13498]

MCO: 13501		Name: JAD		Date: 20-Jul-87:10:49:25


[Symptom]
Monitor (initialization code) is too big.

[Diagnosis]
Monitor psects are moved to their final resting places in three
different places in SYSINI, using approximately the SAME code.

[Cure]
Subroutine-ize the code and call the subroutine from the three
different places.  Saves about 40 words of .INIT. space.

[Keywords]
 .INIT.
TOOBIG

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	371	MONEND
		SYSINI


[End of MCO 13501]

MCO: 13502		Name: RCB		Date: 20-Jul-87:22:41:47


[Symptom]
TTY DEFER (command or TRMOP.) doesn't always really cause deferred echo.

[Diagnosis]
Missing code to have RECINT notify XMTECH about the desired behavior.

[Cure]
Add the code.

[Keywords]
TTY DEFER

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	371	SCNSER	RECIN3
703A	


[End of MCO 13502]

MCO: 13503		Name: RCB		Date: 21-Jul-87:03:08:03


[Symptom]
Fix various problems with TRMOP. and TTY commands.  Some functions are
mis-defined, and return erroneous results.  Some commands don't work as
expected.  Some commands do not act like their parallel functions.

[Diagnosis]
Yes.

[Cure]
Yes.

[Keywords]
TRMOP.

[Related MCOs]
13502

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	371	COMCON	TTCEDT,TTCREM,TTCDFR
		SCNSER	TOPTB1
		COMDEV	TERMCR

703A		COMCON	TTCREM,TTCDFR
		SCNSER	TOPTB1


[End of MCO 13503]

MCO: 13505		Name: KDO		Date: 21-Jul-87:05:25:39


[Symptom]
LATSER doesn't (9 of n).

[Diagnosis]
1. Need to include new UUOSYM symbols in the source.
2. Add internal states to make decisions faster.
3. If the WAIT bit is set and the connection fails, delete the slot block 
   correctly.
4. Honor the queued request bit.
5. Had to change the SHOW HOST-INITIATED connects function to support the new 
   LCP command "SHOW PENDING-REQUESTS".

[Cure]
Add more code.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	371	LATSER	LARHC,CKRHC,MVRHC,PRXMT,LATHC,JBTHC,LASHC,MVSHC,HMSTAT,RDSTA,HMINFO


[End of MCO 13505]

MCO: 13506		Name: DPM		Date: 21-Jul-87:08:05:16


[Symptom]
AUTCON doesn't (37 of n)

[Diagnosis]
1. Finish up tape initialization stuff.  TPKINI and TPKINX are gone.
   The little good they did happens at autoconfigure time.

2. Teach drivers to configure new units without choking the system to
   death.  DX10s and DX20s must poll since no interrupts are generated.
   Polling is simple:  Once a second, when the driver has nothing else
   to do, it will queue up a request for sense bytes.  TM78s and TM02/3s
   are more accomodating in the sense that when the moon is full and the
   wolfbane blooms, they might give you an interrupt at power up time.
   In all drivers, interrupt level will notice a non-existant drives raised
   attention and set a bit in the KDB reminding the driver to configure
   the drives later.

3. Add some order to the way new units are configure under timesharing by
   deferring all work for the once-a-second code.  This prevents hangs
   caused by a higher PI level routine waiting on the AUTCON interlock
   owned by a lower level.

4. Send an attach message to MDA when a new unit is configured.  The old
   magtape accessible message is obsolete as far as the monitor is concerned
   but QUASAR will still process it for compatability with 703.  Detach
   messages are not implemented yet.

5. All monitors have been cured of AIDs.  .CPAID is gone.  We can only
   speculate what perversions caused this to appear in the first place.

[Cure]

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	371	AUTCON
		COMDEV
		COMMON
		DEVPRM
		FILIO
		IPCSER
		SYSINI
		TAPSER
		TAPUUO
		T78KON
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON


[End of MCO 13506]

MCO: 13507		Name: JAD		Date: 22-Jul-87:09:38:42


[Symptom]
System runs out of free core.  System error queue is full of entries
(which are consuming the free core) but DAEMON apparently isn't taking
any entries from the queue.  DAEMON only processes the first system
error block from a crash file.

[Diagnosis]
Code which adds entries to the system error queue tries to save a
little space in the ERRPT. block by only inserting one code 13 entry
(system error block available) in the ERRPT. block when a system error
block is queued.  Unfortunately, that single code 13 entry may be lost
or overwritten if errors occur too fast for DAEMON to keep up.  Also,
if DAEMON dies while processing the system error queue, it will not
check the system error queue again when a new DAEMON is started.

[Cure]
Forget about the code 13 entries in the ERRPT. block.  Have DAEMON
always do an SEBLK. UUO when it is woken (after the ERRPT. UUO).
This will guarantee the system error queue is processed in a timely
fashion.  The single extra UUO will not add appreciable overhead to
DAEMON.  Always scan the entire system error queue when processing
a crash file.  Requires edit 1020 to DAEMON.

[Keywords]
System error blocks
Lost free core

[Related MCOs]
None

[Related SPRs]
36034

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	372	ERRCON	QUESEB
		S	.ERSEB

703A	


[End of MCO 13507]

MCO: 13511		Name: JMF		Date: 24-Jul-87:07:00:06


[Symptom]
Avail reports don't reflect "real" reload reasons, STOPCD says
the reason for the last reload was an IME that happened 6 weeks ago, ...

[Diagnosis]
If the stuff which gets stored in low core on a crash happens
to survive through several reloads, the WHY RELOAD question doesn't get
asked and we blame all reloads on the last stopcd which happened.

[Cure]
Zero CRSWHY after using it at once-only time.

[Keywords]
WHY RELOAD
AVAIL
STOPCD

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	372	SYSINI


[End of MCO 13511]

MCO: 13512		Name: JAD		Date: 24-Jul-87:08:29:15


[Symptom]
Incest abounds in the monitor.  Too much familiarity between
the extended high segment and the non-extended high segment.

[Diagnosis]
The code just wasn't taught morals by its mommy.

[Cure]
Let daddy get in with a sledgehammer and teach the damn code some
respect for the privates of the high segment.  I.E., remove all
code which maps the non-extended high segment into the extended
high segment addresses which overlap but aren't used by the
extended high segment, and place any references in .CSUB. or use
an SNCALL where appropriate.

[Keywords]
Address space
Close relations

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	372	AUTCON
		COMDEV
		COMMON
		DATMAN
		KLPSER
		LATSER
		SYSINI
		VMSER


[End of MCO 13512]

MCO: 13513		Name: JAD		Date: 27-Jul-87:12:22:06


[Symptom]
Undeserved checksum errors on multiple RIB files.

[Diagnosis]
Code at NXTBL6 in FILIO believes if the current operation is a
read there is no need to update changed RIB pointers.  This isn't
necessarily true, since a previous write may have caused the
checksum to change.

[Cure]
Call PTRTST instead of PTRCUR.  If not update mode, the call
to PTRTST is essentially a call to PTRCUR.  If update mode, PTRTST
will rewrite the changed pointers if necessary.

[Keywords]
UPDATE MODE
CHECKSUM ERRORS
EXTENDED RIBS

[Related MCOs]
None

[Related SPRs]
36001

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	372	FILIO	NXTBL6

703A	


[End of MCO 13513]

MCO: 13515		Name: NED		Date: 28-Jul-87:06:16:06


[Symptom]
Create the module TWICE.  TWICE will contain the old MONEND.  This module
must be loaded last.

[Diagnosis]


[Cure]


[Keywords]
TWICE
END MONEND

[Related MCOs]
13467

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Beware file entry required
New development MCO

[BEWARE text]
TWICE.MAC is now a monitor module and no longer a CUSP.  Therefore,
you should take precautions that no conflicts may occur.  For the old TWICE
functionality you should run the monitor in user mode.

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	372	TWICE	TWICE,MONEND
		MONEND	MONEND
		SYSINI	TWICE
		ONCMOD	GETDSK


[End of MCO 13515]

MCO: 13516		Name: DPM		Date: 28-Jul-87:06:47:47


[Symptom]
AUTCON doesn't (40 of n)

[Diagnosis]

[Cure]
1. Cannot build a non-magtape monitor without undefined globals.  Fix up
   code in COMCON and UUOCON which has intimate knowledge about densities,
   modes, etc.  This also removes a pile of dummy globals in COMDEV.

2. AUTCON and friends would really like to be able to find the driver given
   a DDB.  Add new DDB word DEVDRV which will be filled in at autoconfigure
   time.

3. Complete work begun a while ago to clean up DIAG. UUO dispatch.  Invent
   a new dispatch code which indicates the specified sixbit device may be
   either a CPU name, a kontroller name, a kontroller/drive name, or a DDB
   name.  The only wierd thing is the kontroller/drive name.  For example,
   MTA0 will cause W and U to be set by disecting the supplied argument into
   its kontroller and drive half-words.  This provides a way to specify the
   secondary paths to dual ported magtapes (MTB0) or drives which have not
   been configured yet.  Also, shrink down the diag dispatch tables in the
   service routines to contain only entries for those functions which are
   legal for a given device.  This means that things like CPNSER and (God
   forbid) unit record device drivers can do diags.

4. If the operator twiddles a thumbwheel or flips the enable switch for a
   magtape drive, the monitor will make the new unit available.  This is
   normally OK, except for the case where the drive is broken and you want
   it ignored.  This is contrary to the way disks are handled although the
   disk implementation of new unit interrupts and ATTACH/DETACH leaves much
   to be desired as well.  Implement "ignore unit" masks in the magtape KDBs.
   When a unit is set to the ignored state, the service routine will ignore
   the drive until the operator explicitely does an attach.  This requires
   the use of a new DIAG. UUO function .DISDS (value = 33) to set device
   status.  Argument block format is:

   addr/	EXP	.DISDS
   addr+1/	SIXBIT	/device/
   addr+2/	state

   Device can be one of the many new concoctions listed above.

   state is	.DISSI==0		;SET IGNORED
		.DISCI==1		;CLEAR IGNORED
		.DISSD==2		;SET DETACHED
		.DISSA==3		;SET ATTACHED

   error codes	DIAAF%==27		;ATTACH FAILED
		DIADF%==30		;DETACH FAILED

5. DIAG. UUO error DINUR% is incorrectly named.  Not really.  All the others
   are wrong, but we can't change them all to conform to the oddball.  Rename
   it to be DIANU%.  Customers havn't seen this one yet, so it won't hurt
   anyone except CONFIG.

6. Kick QUASAR each time a magtape is attached or detached to prevent users
   from getting hold of a detached drive.  This may also prevent or promote
   MDA resource deadlocks depending upon what users are trying to do, however,
   if the operator really says to detach a tape drive, it's probably because
   the device is broken.  A deadlock is preferable to a hung job.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	372	AUTCON
		COMCON
		COMDEV
		COMMON
		CPNSER
		FILIO
		KLPSER
		KNISER
		MOSSER
		S
		TAPUUO
		UUOCON
		UUOSYM


[End of MCO 13516]

MCO: 13517		Name: KDO		Date: 28-Jul-87:07:36:52


[Symptom]
LATSER doesn't (10 of n).

[Diagnosis]
IME's in LASHC.

[Cure]
Heal self-inflicted wounds.

[Keywords]
**OOPS**

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	372	LATSER	LASHC,MVSHC


[End of MCO 13517]

MCO: 13519		Name: JAD		Date: 29-Jul-87:09:18:53


[Symptom]
Can't find newly created UFDs when  more  than  1920  (number  based  on
blocks/cluster and symbol MFDSIZ) UFDs exist in an MFD.

[Diagnosis]
REFSTR allocates MFDSIZ+2 (rounded to an integral  number  of  clusters)
blocks for the MFD.  The first retrieval pointer to the MFD is stored in
the HOM block by the refresher and copied to the  structure  data  block
during ONCE to facilitate scanning the MFD.

If an attempt is made to add another UFD to the  MFD  when  the  MFD  is
full, FILSER will try to allocate the first cluster following the MFD to
hold the new UFD entry.  If this cluster is free, and if the count field
of the last retrieval pointer in the MFD RIB can handle another cluster,
the count field in the existing pointer is updated to  include  the  new
cluster, and the updated MFD RIB is written to disk.

If the MFD has more than one retrieval pointer, no problems will result.
If,  however,  the  MFD  is described by a single retrieval pointer, the
"new" retrieval pointer stored in the MFD  RIB  no  longer  matches  the
"old"   retrieval   pointer   stored   in   the  structure  data  block.
Consequently, when the code at UFBLP2 uses the "old"  retrieval  pointer
to scan the MFD, the newly created UFD entry will NOT be found.

[Cure]
First, teach UFDNXT  to  update  the  first  retrieval  pointer  in  the
structure  data  block  when  the MFD is expanded and the new cluster is
contiguous to the existing MFD.

Second, don't believe the count field of  the  first  retrieval  pointer
obtained  from  the  HOM  block.  When a structure is mounted, either at
ONCE-only time or during timesharing, zero out the count  field  of  the
first  retrieval  pointer  obtained from the HOM block.  In UFBLP2, when
preparing to scan the MFD, if the count field of the  first  pointer  is
zero,  read the MFD RIB to extract the "current" pointer, and store that
in the structure data block.

Third, insert a comment  in  COMMOD  at  the  definition  of  HOMPT1  to
indicate  only  the  cluster  address  field  of  this  word  should  be
considered valid.

[Keywords]
UFD
HOMPT1
STRPT1

[Related MCOs]
None

[Related SPRs]
36035

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	COMMOD	HOMPT1
		FILFND	DEFST3,UFBLP2
		FILUUO	UFDNX4
		ONCMOD	MOVSTR


[End of MCO 13519]

MCO: 13524		Name: JAD		Date:  3-Aug-87:09:58:24


[Symptom]
RTTRP UUO too restrictive with respect to EVM.

[Diagnosis]
The RTTRP UUO requires the job to be locked in Exec Virtual Memory
(EVM), even if no references will be done to the user address space
without using PXCT'd instructions.  Only if an indirectly-addressed
CONSO bit mask is supplied, or if "fast mode" (no AC save/context
switching to be done on a real-time interrupt) is specified, does
the job need to be locked in EVM so the monitor can access the user
address space during real-time interrupt level.

[Cure]
Move the test for "locked in EVM" down to the end of the code
which sets up for a RTTRP UUO.  Only test for locked in EVM if an
indirectly-addressed CONSO bit mask is specified, or if "fast mode"
handling is specified.

[Keywords]
EVM
RTTRP
LOCK

[Related MCOs]
None

[Related SPRs]
35659

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	RTTRP	RTTRP,RTTRP5,BLKRET
703A	


[End of MCO 13524]

MCO: 13526		Name: RCB		Date:  3-Aug-87:20:51:15


[Symptom]
CAL11. function to queue data is broken for IBM FEs in 7.04 and in
7.03 A/P.

[Diagnosis]
CAIE / jrst good/ jrst bad

[Cure]
CAIE/ jrst bad/ fallinto good

[Keywords]
IBMCOM
DTEs

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	DTESER	DTEQU1
703A	


[End of MCO 13526]

MCO: 13528		Name: DPM		Date:  4-Aug-87:03:23:12


[Symptom]
     Stopcode IME updating page maps.

[Diagnosis]
     At EXOPF1+1 in VMSER, a DPB instruction is  used  to  update  the
contents  of  a  map  slot.   The routine GTPME no longer returns byte
pointers.  It returns a full word address.

[Cure]
     Change a DPB instruction to a MOVEM.

[Keywords]
PAGE MAPS

[Related MCOs]
None

[Related SPRs]
36000

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	VMSER	EXOPF1

703A	


[End of MCO 13528]

MCO: 13529		Name: DPM		Date:  4-Aug-87:04:04:49


[Symptom]
AUTCON doesn't (41 of n)

[Diagnosis]

[Cure]
The golden rule of devices:  Do unto disks as you would do unto tapes, sort
of (MCO 13516).

1. Do all new disk processing during the once-a-second code.
2. Always load RP20 microcode.
3. Make FILIO support new wizzy DIAG. to set IGNORE/ATTACH/DETACH.
4. Make disk ATTACH/DETACH resemble the way it is done for magtapes.  The
   new behavior is unlike that of previous monitors.  See beware text.
5. Interlock AUTCON for all new tape and disk unit processing.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Beware file entry required
New development MCO
Documentation change

[BEWARE text]
The behavior of new disk unit processing has changed with respect to
ATTACH and DETACH.  Any time an attention interrupt is processed for an
unknown drive, FILSER will cause that drive to be configured and [SYSTEM]MDA
will be notified of its existance.  No operator intervention will be required.
No explicit ATTACH will be necessary as has been the case in the past.  The
previous behavior put the drive in a detached state on the assumption that it
may be faulty.  Since that is rarely the case, the new CONFIG facility to set
a drive to be ignored should be used when you want to prevent a drive from
becoming usable.  This may be done even for drives which have yet to be
configured.  Clearing IGNORE and doing an ATTACH will do the expected thing.
DETACH has not changed from previous monitors.

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	AUTCON
		DEVPRM
		DPXKON
		FHXKON
		FILIO
		FSXKON
		RAXKON
		RHXKON
		RNXKON
		RPXKON
		T78KON
		TAPSER
		TAPUUO
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON
		UUOCON


[End of MCO 13529]

MCO: 13530		Name: DPM		Date:  4-Aug-87:05:28:34


[Symptom]
     Stopcode IME processing characters in SCNSER.

[Diagnosis]
     PCO 10-703-056 added a SE1INT at TICAVL.   The  published  answer
included  this change, but the Autopatched version lost the SCNOFF.
Also during control-R processing,   SCNSER  interrupts  are  enabled
without first disabling the interrupts.

[Cure]
     Add a SCNOFF at TICAVL and at the start of control-R processing.

[Keywords]
SCNOFF

[Related MCOs]
None

[Related SPRs]
35758

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	SCNSER	METRT1

703A		SCNSER	METRT1,TICAVL


[End of MCO 13530]

MCO: 13533		Name: JAD		Date:  5-Aug-87:13:20:59


[Symptom]
Amount of EVM available keeps getting less.  No way to reserve any
pages for EVM.  Free core pool consumes the entire monitor low seg.

[Diagnosis]
Yep.

[Cure]
Add a question to MONGEN to ask for the number of pages to be "reserved"
for locking jobs in EVM.  Default is 10, enough for DTELDR to run.
Back off LOWLIM by that number of pages when setting up the free
core pool.  Croak if we back off too far.

[Keywords]
EVM

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	374	COMMON	MONORG,EXTRAW,MINCOR,LOGSIZ
		GEN	.CTL
		MONGEN	ASKEVM
		SYSINI	PATSIZ


[End of MCO 13533]

MCO: 13534		Name: DPM		Date:  6-Aug-87:04:02:39


[Symptom]
TAPUUO isn't very willing to let the user know the actual density of a
tape being read.  This is sometimes quite annoying, since most tape drives
and controllers are capable of returning this information.

[Diagnosis]
Yes.

[Cure]
Allow the user to set the density, read the tape for the current density,
then write the tape at the requested density.  Typically, the user wants
to know the density that the tape was written at, not what it will be if
and when they choose to write the tape.

Documentation is fuzzy on the current behavior.  It states that the TAPOP.
 .TFDEN function will read the density that has been set.  It doesn't say
who or what does the set.  Perhaps this MCO has no real documentation impact
at all.

[Keywords]
DENSITY

[Related MCOs]
None

[Related SPRs]
35548

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	374	TAPUUO	TAPDEN,TAPRD1,SETODN,GNIOR1,GETDEN,TPMDON


[End of MCO 13534]

MCO: 13535		Name: JAD		Date:  6-Aug-87:09:12:47


[Symptom]
UNJ stopcodes and other cruft associated with command processing.

[Diagnosis]
Some rash developer moved FLMCOM from bit 18 (which translates
into the sign bit when in the left half of M) to bit 34.  Turns out
a LOT of code in the monitor expects COMCON to set the sign bit of
M to indicate "command level" so ECOD doesn't attempt to store an
error code at the location addressed by M (which just happens to
be the address of the command processing routine).

[Cure]
Move FLMCOM back to bit 18 (actually, (1B0) to make it obvious
someone expects it to be a sign bit).  Fix up lots of references
to "400000" to be "FLMCOM".  COMMENT THE HECK OUT OF THE DEFINITION
OF FLMCOM SO NO ONE SCREWS THIS UP AGAIN!

[Keywords]
COMMAND LEVEL
UNJ
FLMCOM

[Related MCOs]
None

[Related SPRs]
36030

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	374	CLOCK1
703A		COMCON
		COMMON
		IPCSER
		NETDEV
		QUESER
		TAPUUO
		UUOCON
		VMSER


[End of MCO 13535]

MCO: 13536		Name: JAD		Date:  6-Aug-87:09:24:44


[Symptom]
Looping in ESTOP if LOGOUT (LOGIN) dies with a fatal job error, such
as illegal memory reference, I/O to unassigned channel, etc.

[Diagnosis]
We get to ESTOP at UUO level, which branches off to JOBKL, which
eventually winds back up at ESTOP, which . . .

[Cure]
Test .CPISF before branching off to JOBKL, and if set, go to
STOP1C instead.

[Keywords]
JOBKL LOOP

[Related MCOs]
None

[Related SPRs]
35430, 35740

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	374	CLOCK1	ESTOP3

703A	


[End of MCO 13536]

MCO: 13538		Name: JAD		Date:  7-Aug-87:12:20:32


[Symptom]
KS doesn't:

1) OVA stopcode.

2) LONG pause during AUTCON.

3) EUE stopcode.

4) Can't initialize KMC-11s.

5) Wasted page of addressing space.

[Diagnosis]
Lots of miscellaneous problems:

1) MONORG still wrong.  No space for BOOT following MONEND.

2) AUTCON loops for every UNIBUS address on (non-existant) UBA
   #2.  EVENTUALLY we'll get out of AUTCON, but while you're
   waiting, pass me a donut.

3) Left half of DEVSER in non-prototype DDBs is zero.  IOGO3
   calls the device-dependent initialization routine and winds
   up at PC mumblety-fratz.

4) .CPUMR (number of UNIBUS mapping registers in use on UBA #n)
   is only one word long, so only UBA #1 can be configured.

5) Off-by-one bug in BOOTMP.

[Cure]
Lots of miscellaneous fixes:

1) Change MONORG to 350000.  This fits the (large) KS monitor
   we run on KS4097.  We have about a page of code space left
   before things overflow.

2) Tests on M.LDVC must also test for the device address going
   to zero due to 18-bit arithmetic.

3) Fix DDBCOP in AUTCON to use the right AC when BLTing the
   prototype DDB.

4) Change a "C" macro in the CDB to a "V" macro.

5) Leave off the "-1".

[Keywords]
KS
NOT TESTED

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KS10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	374	AUTCON	AUTCP2,DDBCOP
		COMMON	MONORG,.CPUMR
		SYSINI	BOOTMP


[End of MCO 13538]

MCO: 13544		Name: KBY		Date:  9-Aug-87:19:23:03


[Symptom]
Inelegant grammar in CORE command output.

[Diagnosis]
Lazy pluralizing.

[Cure]
Check numbers to decide how to output "s"

[Keywords]
CORE

[Related MCOs]
None

[Related SPRs]
36013

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	374	COMCON	COR5
703A	


[End of MCO 13544]

MCO: 13546		Name: JAD		Date: 10-Aug-87:12:22:43


[Symptom]
The usual IME or etc. crash caused by an Access Table ring not
containing any Name BLocks.

[Diagnosis]
Too many places where FILSER doesn't twiddle chains with the
proper interlocks.  Finding and fixing them all would take most of
my lifetime (assuming someone was willing to PAY me to do it . . .)

[Cure]
Close down the windows somewhat and handle error conditions more
intelligently.

1) Have GETNMB get/give the CB resource while scanning an A.T. chain.

   Invent a routine "UPCB" which GETNMB can call to conditionally get
   the CB resource if the caller of GETNMB doesn't own the CB.

2) Test for a A.T. chain ending before an NMB was found (link equals
   zero), and die with an NNF stopcode if this happens.

[Keywords]
NMB
ACCESS TABLE
GETNMB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	374	FILFND	UPCB
		FILUUO	GETNMB,GTNM1


[End of MCO 13546]

MCO: 13547		Name: DPM		Date: 11-Aug-87:06:02:43


[Symptom]
     If the first record of a magtape has a parity error, and the user
has  disabled DX10 error retry, the monitor will loop endlessly trying
to do error recovery on the tape.

[Diagnosis]
     TX1KON increments TUBREC when the read done interrupt happens and
again  when  unit  exception  (tape  mark  seen) is checked.  The path
through the code assumes that the unit exception  check  can  only  be
made if a short record length error occurs.

[Cure]

[Keywords]
DX10
RETRY

[Related MCOs]
None

[Related SPRs]
30357

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	374	TX1KON	ERRRD2

703A	


[End of MCO 13547]

MCO: 13548		Name: DPM		Date: 11-Aug-87:06:17:15


[Symptom]
AUTCON doesn't (42 of n)

[Diagnosis]
1. Tape error recovery doesn't

2. Ditto

3. UILs and other wierd stopcodes.

[Cure]
1. Don't let TAPSER fall out of section one.  Sprinkle some IFIWs in
   the error recovery state dispatch table.

2. DX20 tapes may not do error recovery correctly due to xaddr problems
   in interrupt service while referencing the IORB.  Shuffle instructions
   around.

3. UILs and other wierd stopcodes possible when TAPCPU gets called
   during hung device recovery.  It can pick a CPU which does not
   own the currently active KDB, leading to DATAOs on the wrong CPU.
   Add alternate entry point TAPCPK to TAPCPU to do the right thing.
   There may be other TAPCPU calls which need changing, but they
   won't easily be found.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	374	TAPSER	TAPCPU,ERPETB
		TAPUUO	PCLINP,PCLOUT
		TD2KON	RDIRE1


[End of MCO 13548]

MCO: 13551		Name: KBY		Date: 16-Aug-87:08:43:24


[Symptom]
Swap write error on a high seg doesn't:
1.  Bad data eventually gets written if we don't IME first.
2.  Stopcode KAF.

[Diagnosis]
1.  No one puts the map back before retrying the operations.
2.  FORHGH tags the low seg the first time as waiting for the high seg,
    and when the low seg is again eventually picked FORHGH now says that
    the low seg should be written.  Unfortunately, JS.SIP is also on,
    so we don't swap it and select the same job again because JXPN is
    set, but JS.SIP is on,...

[Cure]
1.  Put the high seg map back in place (runs at clock level).
2.  Zero IMGOUT and turn off SWP and JS.SIP for the job in the left half
    of SW3LST iff:
    a.  not a migrating high seg (i.e. high seg number doesn't match MIGRAT),
    b.  Said job has SWP but not SHF on (i.e. waiting for a high seg swap out),
    c.  and job owns this high seg.
    (note:  the latter conditions only affect turning off SWP; IMGOUT is
    always zeroed).

[Keywords]
KAF

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	375	SCHED1	OUTER1
		VMSER	MAPBAK


[End of MCO 13551]

MCO: 13556		Name: JAD		Date: 17-Aug-87:08:26:15


[Symptom]
RTTRP lives up to its name (n of 2**18); incorrect arguments to
the UUO can lead to a KAF stopcode.

[Diagnosis]
Specifying a PI channel and device of zero with a non-zero CPU
argument causes the "remove device" routine to loop.  The code
in REMDEV checks the device code against a real-time block, and
if a match is found, obtains the SYSPIF interlock, then re-checks
the device code and CPU number (assuming someone snuck in).  If
the device code OR CPU number don't match, the code starts over
at the beginning of the loop, assuming some other job snuck in
and allocated a real-time block.

Since the CPU number in an un-initialized real-time block is 0,
the code will loop until a KAF stopcode occurs.

[Cure]
The code should be checking device code AND CPU number under
the SYSPIF interlock.  Change it to do so, as well as fixing a
number of other cases where something is tested, an interlock
is obtained, then the same thing is tested.

[Keywords]
RTTRP
KAF

[Related MCOs]
None

[Related SPRs]
35372

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	375	RTTRP	REMDEV
703A	


[End of MCO 13556]

MCO: 13557		Name: DPM		Date: 18-Aug-87:03:38:54


[Symptom]
User confusion in ASSIGN command error messages.

[Diagnosis]
A user has the only assignable device INIT'ed by his job.  He realizes he
shoud have ASSIGN'ed it before running his program, so he ^Cs and types
ASSIGN FOO.  He gets the nasty message "?Assigned to your job", which he
knows is not true.  It is INIT'ed by his job.  He then complains to the
system programmer.

[Cure]
Make error messages more explicit.  Since the expanded error messages
were implemented several monitors ago, there have been numerous problems
with this code.  Can't remember just how many MCOs have been written to
clean things up.

[Keywords]
ASSIGN

[Related MCOs]
None

[Related SPRs]
32910

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	375	COMCON	ASSFA2


[End of MCO 13557]

MCO: 13558		Name: DPM		Date: 18-Aug-87:07:31:04


[Symptom]
Low core allocation is a mess.  Too many routines to do the
same thing.

[Diagnosis]
GET4WD and GIV4WD are in the way.  Don't like allocating
things using number of blocks rather than the actual number of words.

[Cure]
Replace the routines with GETWDS/GIVWDS calls.

[Keywords]
CORE ALLOCATION

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	375	COMMOD
		COMMON
		CORE1
		CTXSER
		DATMAN
		DLPSER
		FILUUO
		MSGSER
		PSISER
		SWPSER
		TAPUUO
		VMSER
		XTCSER


[End of MCO 13558]

MCO: 13559		Name: DPM		Date: 18-Aug-87:07:38:34


[Symptom]
PAT.. is a popular symbol.  So popular we have two of them, and confusion
results.

[Diagnosis]
The one defined in PATCH was an attempt at getting FILDDT to do the "correct"
thing.  That was several years ago, and it still doesn't.

[Cure]
Remove the definition in PAT...  We have no control over the one LINK gives
us for free.

[Keywords]
PAT..

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	375	PATCH	PAT..


[End of MCO 13559]

MCO: 13560		Name: DPM		Date: 18-Aug-87:08:10:20


[Symptom]
When CONFIG causes the -10 to reload, the UUO will run on any CPU.

[Diagnosis]
That's the magic of SMP, but people logically expect the stopcode
to occur on the policy CPU.

[Cure]
PUSHJ P,ONCPU0

[Keywords]
RELOAD

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	375	UUOCON	RCNRLD


[End of MCO 13560]

MCO: 13561		Name: JAD		Date: 18-Aug-87:10:54:49


[Symptom]
Ned needs some space for user-mode code in the monitor (i.e., TWICE).

[Diagnosis]
Low on space in the INIT code psect.

[Cure]
Invent a new psect for TWICE.  Origin it at the end of funny space
for now, we can move it to just before CSBORG someday in the future.

[Keywords]
TWICE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	376	COMMON
		S


[End of MCO 13561]

MCO: 13562		Name: JAD		Date: 18-Aug-87:12:16:05


[Symptom]
Incredible amounts of overhead involved with tape label handling.

[Diagnosis]
4 lines of code can be replaced by 3 lines of code.

[Cure]
4 => 3.


[Keywords]
EFFICIENCY

[Related MCOs]
None

[Related SPRs]
35984

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	375	TAPUUO	TPLBGA,TPMLDD


[End of MCO 13562]

MCO: 13563		Name: JAD		Date: 19-Aug-87:10:05:05


[Symptom]
DIAG. doesn't.

[Diagnosis]
No ^C entry point in the table, so diagnostic DDBs are never
freed up if the job halts or is stopped due to an error.  This
hangs the sub-system and the system must be reloaded.  Also,
the disk pre-processor goes to great pains to load up the wrong
F before dispatching to the processing routines.  F is set up
by UUOCON before calling FILIO/TAPUUO.

[Cure]
Define .DICTC in S and add the entry point in DSKDIA/MTADIA.
Trust UUOCON's idea of F and remove the code from DSKPPR
which sets up the wrong F.

[Keywords]
DIAG.

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	376	FILIO	DSKDIA,DIACLR
		S	.DICTC
		TAPUUO	MTADIA
		UUOCON	DIADSP


[End of MCO 13563]

MCO: 13569		Name: JAD		Date: 24-Aug-87:09:50:52


[Symptom]
CI disks are less than willing to inform interested folks of their
configuration.  In particular, you can't find out if a drive is in
512- or 576-byte sector mode until AFTER you've set the drive on-
line, at which point you have to set it offline if you don't want
a 512-byte drive.

[Diagnosis]
10 monkeys typing on 10 terminals for 10 months will produce the
HSC50 software (or was it the complete works of Shakespear?).

[Cure]
Put the old code back in until I figure out a better fix
than MCO 13393 attempted.

[Keywords]
HSC

[Related MCOs]
13393

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	376	RAXKON	ETC


[End of MCO 13569]

MCO: 13570		Name: JAD		Date: 24-Aug-87:14:04:22


[Symptom]
Files can be marked non-existant after a RENAME error even though
the files still exist.  This allows ENTERing another file in the
directory, leading to more than one entry in the directory for a
specific file name.  (Gee, who snuck generations in on us?)

[Diagnosis]
RENAME error 20 clears the YES bit for the file being RENAMEd,
but leaves the KNO bit on.  This will allow another ENTER with
the same file name to succeed and create a second entry in the
directory using the same name.  Also, use counts are wrong after
the error.

[Cure]
Don't branch to ENERR1 in this case, add a new routine which
clears rename in progress, decrements use counts, and branches
to a more appropriate clean-up routine.

[Keywords]
USE COUNTS
RENAME ERROR

[Related MCOs]
None

[Related SPRs]
35709

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	376	FILUUO	RENA32
703A	


[End of MCO 13570]

MCO: 13571		Name: NED		Date: 25-Aug-87:07:57:48


[Symptom]
Twice doesn't.

[Diagnosis]
Just because it's part of the monitor doesn't mean we can't break it.

[Cure]
Unbreak it.

[Keywords]
TWICE

[Related MCOs]
13467, 13529

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	376	FILIO	DSKDR9


[End of MCO 13571]

MCO: 13572		Name: NED		Date: 25-Aug-87:08:00:01


[Symptom]
$INIT psect low on space.

[Diagnosis]
yes.

[Cure]
Move the user-mode code "somewhere else".  Requires MCO 13561.

[Keywords]
TWICE

[Related MCOs]
13467, 13561

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	376	USRONC


[End of MCO 13572]

MCO: 13573		Name: DPM		Date: 26-Aug-87:07:01:50


[Symptom]
     Stopcode TMDELI or TMDELE in SCNSER during character processing.

[Diagnosis]
     Since the begining of 7.03 development, we have experienced these
stopcodes  about  once  every  two or three months.  They indicate the
monitor has skewed  its count of characters in the  chunks,  and  that
skew  is  detected  while performing some backspacing operation.  When
this occurs, SCNSER stopcodes, corrects the character count,  and  the
user  job  continues  never  having  known the problem existed and not
being affected in any way.  The crashes never contain any useful data.

[Cure]
     Change the TMDELI and TMDELE stopcodes from type DEBUG  to  INFO.
This  will  eliminate  useless crashes.  If a case arises where one of
these conditions can be reproduced  at  will,  the  stopcodes  may  be
patched  to  a DEBUG so potentially useful information may be captured
in a dump.

[Keywords]
INPUT
ECHO

[Related MCOs]
None

[Related SPRs]
35724

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	360	SCNSER	TICAVL,ECCAVL

703A	


[End of MCO 13573]

MCO: 13575		Name: DPM		Date: 31-Aug-87:12:55:44


[Symptom]
     Stopcode FOP restoring a context which  had  sometime  previously
spawned another context using the TMPCOR feature of the CTX. UUO.

[Diagnosis]
     PCO 10-703-109 separated out TMPCOR handling from the data buffer
processing.   The  routine ZERDAT is supposed to zero out the user and
exec addresses for both the data buffer and TMPCOR when a  context  is
restored.   Instead  the  user  address  is  zeroed twice and the exec
address is ignored.  The next time a new context is created  and  then
restored, CTXSER will try to return the old exec address again causing
a FOP.

[Cure]
     Change a SETZM .CTTCA(P1) to a SETZM .CTTCE(P1).

[Keywords]
CONTEXTS

[Related MCOs]
11102

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	377	CTXSER	ZERDAT

703A	


[End of MCO 13575]

MCO: 13577		Name: JAD		Date:  1-Sep-87:11:03:04


[Symptom]
Loop in SEILM.

[Diagnosis]
If the mapping for the UPT gets clobbered, SEILM's reference to
the page fail word in the UPT will generate another fault, which
will branch to SEILM, which will . . .

[Cure]
Test if the UPT is accessible and writable before touching
it.  If not, save some information and switch to the null job's
UPT and crash with a UNA stopcode.

[Keywords]
SEILM
UPT

[Related MCOs]
None

[Related SPRs]
35464

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	APRSER	SEILM


[End of MCO 13577]

MCO: 13578		Name: JAD		Date:  2-Sep-87:13:16:44


[Symptom]
Still short on space in .INIT. psect.

[Diagnosis]
Numerous user mode routines in .INIT.

[Cure]
Move them to .TWIC. (as well as moving from ONCMOD to USRONC).

Also, use a different routine to ask for unit names (one which
doesn't insist on outputting extra blank lines) which is less
complicated to use than GETSIX.

[Keywords]
TWICE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	ONCMOD	LOTS
		SYSINI	GETLIN
		USRONC	LOTS


[End of MCO 13578]

MCO: 13580		Name: JAD		Date:  3-Sep-87:08:13:36


[Symptom]
Monitor short on space in .INIT. psect (1 of 2).

[Diagnosis]
Exec addresses following funny space (such as .UPMAP, etc.)
aren't in an order which allows overlaying them with initialization
code.

[Cure]
Complete cure is to re-order those addresses so only the last 4
pages in the per-process area can't be used for .INIT.  This MCO
is the first step, fixing some definitions and teaching ADJWS to
twiddle the "correct" bits in WSBTAB based on the page number of
 .UPMAP and .UPMP.  Second step is to actually change the order of
the per-process assignments, which I'll do next week when I get
back from vacation.

[Keywords]
 .INIT.

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	COMMON	SETPSL
		S	.UMXXX
		SYSINI	SYSINH
		VMSER	ADJWS


[End of MCO 13580]

MCO: 13581		Name: JAD		Date:  3-Sep-87:09:04:08


[Symptom]
EUE or UIL stopcode analysis is a real pain in the hemorrhoids.

[Diagnosis]
Some fool POPJs with junk on stack, then when we get the EUE
or UIL stopcode the PUSHJ to DIE wipes out the PC of the called
routine (which is probably who goofed).

[Cure]
ADJSP P,1 at EMUERR.  Save old P in .CPEUP just for grins.

[Keywords]
EUE
UIL

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	ERRCON	EMUERR


[End of MCO 13581]

MCO: 13582		Name: JAD		Date:  3-Sep-87:10:16:10


[Symptom]
"Lost" SCS connection blocks on multiple CPU systems.

[Diagnosis]
Single flag which indicates the reaper should run, but which
is cleared by any CPU during the once/tick code.

[Cure]
Change the flag into a count of CBs needing to be reaped to
make sure everyone gets a chance to rape (excuse me, Freudian slip
there), REAP, connection blocks.

[Keywords]

[Related MCOs]
None

[Related SPRs]
36046

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	SCASER	SCAREP,SC.SRB,SC.RCB
		SCSUUO	SCAREP


[End of MCO 13582]

MCO: 13583		Name: JAD		Date:  3-Sep-87:12:36:52


[Symptom]
A HALT in the monitor, a few HALT stopcodes which should be STOPs.

[Diagnosis]
Sloppiness

[Cure]
Neatness

[Keywords]
BLECH

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	SEGCON	SAVHGH
		APRSER	STOPCD


[End of MCO 13583]

MCO: 13584		Name: RCB		Date:  3-Sep-87:16:16:10


[Symptom]
STOPCD ANFSBA (secondary buffer allocated) at unpredictable times.

[Diagnosis]
When calling GETWDS to allocate a PCB, we call CLNPCB, which doesn't clear
enough locations in the PCB.  Since GETWDS doesn't zero core, this has been a
time-bomb waiting to explode for quite some time.

[Cure]
Clear yet more locations in CLNPCB.

[Keywords]
ANFSBA
Dirty core

[Related MCOs]
None

[Related SPRs]
36045

[MCO status]
Checked

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	NETSER	CLNPCB
703A	


[End of MCO 13584]

MCO: 13585		Name: JAD		Date:  4-Sep-87:08:19:23


[Symptom]
Wasted 4-word channel blocks.

[Diagnosis]
AUTCON allocates one 4-word channel block for each KLIPA and KLNI
KDB it builds.  This is not necessary, since no one ever uses the ICW
for these devices, and if they did, the ICW should point at the channel
logout area in the EPT.

[Cure]
Remove a few lines of crockery from AUTCON so KLIPA and KLNI KDBs
KDBICP words point at the channel logout area in the EPT.

[Keywords]
ICW BLOCKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	AUTCON	GETIOW
		RAXKON	RAXCRA


[End of MCO 13585]

MCO: 13586		Name: JAD		Date:  4-Sep-87:12:15:45


[Symptom]
System start-up is still a little convoluted.

[Diagnosis]
Calls to AUTCON right after non-BOOT CPU startup happen about
the time the BOOT CPU is asking if the non-BOOT CPUs are running.
This leads to a bogus "CPUx is not running" message during ONCE.

[Cure]
Re-order some of the flow in SYSINI so AUTCON gets called at
a reasonable time.  Don't call AUTCON in SPRINI for non-BOOT
CPUs, wait for the BOOT to ask the CPU to run AUTCON.  Move
the ONCE-time CPU subroutine processing from ONCMOD to SYSINI.
Ditto for a lot of the routines in ONCMOD which were only
there to take advantage of the CPU subroutine processing.

[Keywords]
AUTCON
STARTUP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	310	AUTCON	AUTCON,AUTINI
		COMMON	SPRINI
		ONCMOD	GFETIM,ONCCPU,CPUXCT
		S	XCTCPU
		SYSINI	SETLOW,CHKMEM,ETC.


[End of MCO 13586]

MCO: 13587		Name: RJF		Date:  9-Sep-87:12:39:09


[Symptom]
Extended addressing problems in TX1KON.

[Diagnosis]
Find them.

[Cure]
Fix them.

[Keywords]
TX1KON
EXTENDED
ADDRESSING

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	311	TX1KON


[End of MCO 13587]

MCO: 13588		Name: DPM/LWS		Date: 10-Sep-87:09:43:58


[Symptom]
If a user has a tape mounted and then logs out, PULSAR
complains that the drive is still assigned to the job logging out
when QUASAR tells him to unload the drive.

[Diagnosis]
In the above situation, QUASAR gets 2 ICPF msgs from the
monitor - a LOGOUT message and then a DISMOUNT message. During
the processing of the LOGOUT message, QUASAR tells PULSAR to unload
the tape drive, but PULSAR says "no, the drive's still assigned".
The problem is that the LOGOUT message is sent before the drive
is deassigned and QUASAR and PULSAR both execute before DEASTY is
called in JOBKL. The subsequent DISMOUNT message is ignored by
QUASAR since its work was done processing the LOGOUT message.

[Cure]
Move call to IPCLGO after call to DEASTY.

[Keywords]
DISMOUNT
LOGOUT

[Related MCOs]
None

[Related SPRs]
35760

[MCO status]
None

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	311	COMCON	JOBKL1

703A	


[End of MCO 13588]

MCO: 13589		Name: RJF		Date: 10-Sep-87:12:24:22


[Symptom]
Extended addressing problems in TD2KON.

[Diagnosis]
Find them.

[Cure]
Fix them.

[Keywords]
EXTENDED
ADDRESSING

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	311	TD2KON


[End of MCO 13589]

MCO: 13591		Name: KDO		Date: 11-Sep-87:02:18:40


[Symptom]
The official object type (.OBDQS=^D66) is not defined in UUOSYM.

[Diagnosis]
YES

[Cure]
PLEASE

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	311	UUOSYM

703A		UUOSYM


[End of MCO 13591]

MCO: 13592		Name: RJF		Date: 11-Sep-87:13:02:04


[Symptom]
Extended address problems in TM2KON, TMXKON, and TCXKON.

[Diagnosis]
You guessed it.

[Cure]
Find'em and fix'em.

[Keywords]
EXTENDED
ADDRESSING

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	311	TM2KON
		TMXKON
		TCXKON


[End of MCO 13592]

MCO: 13593		Name: JAD		Date: 14-Sep-87:13:26:16


[Symptom]
Confusion in ONCMOD over what routines to call to save ACs, or if
we even need to save any ACs.

[Diagnosis]
Lots of old crufty code left over.

[Cure]
Delete it; all flavors of SVOTAC, SUPDAT, etc.

[Keywords]
ONCE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	311	ONCMOD	LOTS
		SYSINI	SOME


[End of MCO 13593]

MCO: 13594		Name: JAD		Date: 14-Sep-87:15:51:48


[Symptom]
DPM isn't happy.

[Diagnosis]
He'd like to set up PAGTAB/etc. early in SYSINI so he can call
the canned memory allocation routines in the monitor so he can get
rid of NZSCGT and other crocky code.

[Cure]
Take a small step forward by allocating space for PAGTAB/etc. early
in SYSINI.  This won't break anything and may allow DPM to create
a more uniform monitor.

[Keywords]
SYSINI
MEMORY ALLOCATION

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	311	SYSINI	MMTINI


[End of MCO 13594]

MCO: 13596		Name: DPM		Date: 15-Sep-87:07:28:52


[Symptom]
AUTCON doesn't (43 of n)

[Diagnosis]
IMEs following RECON. to configure a CPU.  FILSER has no respect for
the conventions used by its callers.

[Cure]
Make it reset AC W to contain the KDB address.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	311	FILIO	DSKDRV
		RPXKON	RPXUNI


[End of MCO 13596]

MCO: 13598		Name: JAD		Date: 18-Sep-87:07:48:20


[Symptom]
VIRTAL/K4SWAP wrong after migration.

[Diagnosis]
REMSW2 calls SLEEP which trashes T4, then uses T4 to adjust
VIRTAL and K4SWAP.

[Cure]
Save T4 around the call to SLEEP.

[Keywords]
MIGRATION

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	FILFND	REMSW2


[End of MCO 13598]

MCO: 13599		Name: JAD		Date: 18-Sep-87:07:56:06


[Symptom]
Not enough whizziness in 7.04.

[Diagnosis]
Probably could stand some work in the area of down CPUs at start-up
time.

[Cure]
Change the start-up routine so when we check if a CPU is running,
it if is not running we'll ask the operator if it should be Onlie,
Offline, or Down.  If they respond Online, check again; Offline,
just go on to the next CPU; Down, set CR.NRN!CR.RMV!CR.DET in
 .CPRUN and count down NCPRUN.  Later, if NCPRUN happens to be
1, twiddle ST%LSC in CNFST2 accordingly.  Teach CCTRNG to set
PM.CSH if NCPRUN = 1.

[Keywords]
WHIZZY
START-UP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	SYSINI	ASKCPU


[End of MCO 13599]

MCO: 13600		Name: JAD/DPM		Date: 18-Sep-87:10:03:22


[Symptom]
IPA20 initialization is more complex than it needs to be
(read that Don and Tony are bored again).

[Diagnosis]
After I munged around SYSINI to call the "start IPA" routine
right after the call(s) to AUTCON, it seems kinda pointless
to have a second routine to start the IPA20s.

[Cure]
Make the CFG routines in KLPSER/KNISER just call the INI
routines.  Remove CR.IIP bit (old asynch start-up stuff for
Tim) since AUTCON will now do the appropriate things on late
CPU startup.

[Keywords]
INITIALIZATION
STARTUP
CRASH

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	COMMON	SPRIPX
		KLPSER	KLPCFG
		KNISER	KNICFG
		S	CR.IIP
		SYSINI	STAIPA


[End of MCO 13600]

MCO: 13603		Name: JAD		Date: 21-Sep-87:13:04:57


[Symptom]
Parity error recovery doesn't work on CPUs greater than 1.

[Diagnosis]
 .CPIEF definition is correct only for CPU0 and CPU1; other
CPUs get the APR PI channel (only) in .CPIEF, instead of the
bits to clear on an APR error.

[Cure]
Fix the definition of .CPIEF.

[Keywords]
APR ERRORS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	COMMON	.CPIEF


[End of MCO 13603]

MCO: 13604		Name: JAD		Date: 21-Sep-87:13:26:07


[Symptom]
Too many symbols dealing with the disk cache, too hard to patch
a new size in an un-run monitor.

[Diagnosis]
An assembler and linker which allow zillions of definitions,
many of which are essentially duplicates of each other.

[Cure]
Replace CBHSHS references with M.CBMX references.  Initialize
%LDOCS to contain M.CBMX rather than zero.  At CSHINI, use
the contents of %LDOCS to set up the disk cache.

[Keywords]
DISK CACHE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	COMMOD	%LDOCS,CBHSHS
		FILIO	CSHIN1


[End of MCO 13604]

MCO: 13605		Name: JAD		Date: 21-Sep-87:15:10:35


[Symptom]
RNXKON cleanup.

[Diagnosis]
1) Test on KOPNSU tests wrong half of T4

2) RNXCPY twiddles non-removable media flag in UNIDS2 rather than
   letting DSKDRV do it when building the UDB

[Cure]
1) TRNE => TLNE

2) Delete 2 lines in RNXCPY, set flag bit in call to DSKDRV.

[Keywords]
RNXKON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	RNXKON	RNXCPY,RNXDRV


[End of MCO 13605]

MCO: 13606		Name: MJM		Date: 21-Sep-87:15:27:04


[Symptom]
UUOSYM comments are not compatible with Monitor Calls Manual.

[Diagnosis]
Several comments have typos.  

[Cure]
Fix comments.  Also, mark the DDP. UUO as Reserved, as well as
the TRMOP. function .TOEDT.  Fixed the mask designation for SCS. function
 .SSMAP.  Reversed the order of bits defined for .TOSCS function of
the TRMOP. UUO so they are listed in ascending numerical order.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	UUOSYM


[End of MCO 13606]

MCO: 13607		Name: JAD		Date: 21-Sep-87:15:42:26


[Symptom]
Messiness in RPXKON

[Diagnosis]
Numbers for indices into unit type tables, some extraneous "##"
in UDB symbols.

[Cure]
Define symbols and use them, and delete the extraneous "##".

[Keywords]
UNIT TYPE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	312	RPXKON	ETC.


[End of MCO 13607]

MCO: 13609		Name: JAD		Date: 24-Sep-87:13:55:27


[Symptom]
Still some problems with RAXUN5 stopcodes.

[Diagnosis]
Code will loop with RAXUN5 stopcodes if a 512-byte sector drive
is detected which is not onlined to a VAX.  This is because RAXKON
sets the drive online (only way to get 512-byte sector flag!!),
then tests if the drive is in 512-byte sector mode.  If so, RAXKON
will set the drive offline since it isn't interested.  Trouble is,
when the drive goes offline it will tell the -10 it is available
again!  After a few million RAXUN5 stopcodes this quickly gets a
tad boring.

[Cure]
Ignore the first unsolicited unit available message after RAXKON
deliberately places a 512-byte sector drive offline.  Only ignore
the first since subsequent available messages may occur when an
RA60 spins up with a 576-byte sector pack later.

[Keywords]
RAXUN5
512-BYTE DISKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	DEVPRM	U2PIGN
		RAXKON	RAXUO3,RAXAVU


[End of MCO 13609]

MCO: 13613		Name: JAD		Date: 28-Sep-87:10:48:18


[Symptom]
Programs can't get at list of active DRBs easily.

[Diagnosis]
ACTDRB isn't GETTABable.

[Cure]
Make it so.  Move ACTDRB to end of Level-D GETTAB table.
New item is %LDADL, table 16, entry 150.

[Keywords]
ACTDRB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	COMMOD	ACTDRB
		UUOSYM	%LDADL


[End of MCO 13613]

MCO: 13614		Name: RCB		Date: 29-Sep-87:04:41:55


[Symptom]
Yet another problem with entry vectors:
	.R DDT/U:1
	?No start address
	.

[Diagnosis]
Not doing the right thing with a JOBDAT-in-section-N sort of entry vector.

[Cure]
Handle it correctly.

[Keywords]
ENTVC.
RUN/USE

[Related MCOs]
13478, 13269

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	COMCON	REENTE,SNOAR1,GSADDR,URUN3
703A	


[End of MCO 13614]

MCO: 13615		Name: RCB		Date: 29-Sep-87:05:55:56


[Symptom]
Fix up some problems discovered during alpha-test installation:

	1) Reel switches can cause IMEs.

	2) ANF hosts with low node numbers can't find their own devices.

	3) STOPCD PFL on popping from a context which had its TMPCOR loaded.

	4) STOPCD UIL trying to configure FE LPTs.

	5) 1022 applications got broken.

[Diagnosis]
	1) Trusting DVCNSG's success return to return in T2 the predecessor DDB
		to that in F.  Only DEVPHY really works that way.

	2) Missing the zero-fill of the host's node number in devices names of
		unit-record devices.

	3) Giving back the same core twice.

	4) Calling DTEQUE with random junk for a posting address.

	5) GETTAB of .GTSGN has changed out from under user programs.

[Cure]
	1) Add an extra call to DEVPHY when we want to change the DDB links.

	2) Add the zero-fill in AUTDDB after calling OCTNAM.

	3) Only give it back once.

	4) Clear S before calling DTEQUE.

	5) Hack the GETTAB of <n,,.GTSGN> like we already did for <-2,,table>.
		If job 'n' has no more than one segment, that segment's
		.HBSGN word will be returned.  If the target job has multiple
		segments, the error return will be taken.  Note that in this
		case, since the target job is not necessarily our own, we can't
		key off of PCS.

[Keywords]
Alpha-test

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	TAPUUO	TPMLSU
		AUTCON	AUTDD2
		CTXSER	MDEUCT
		DLPSER	DLPRD1
		UUOCON	GETTBX


[End of MCO 13615]

MCO: 13616		Name: RCB		Date: 29-Sep-87:06:11:18


[Symptom]
When typing the first character of a switch sequence to CTHNRT, doubling it
is supposed to get one instance through SCNSER.  However, it takes another
(different) character after that before it works.

[Diagnosis]
Not enough special-casing, leading to considering the second SW1 character to
be just as interesting and special as the first was.

[Cure]
Bypass a bit more of the normal RECINT logic in DCSSWI.

[Keywords]
CTERM
 .TOSWI

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	313	SCNSER	DCSSWI
703A	


[End of MCO 13616]

MCO: 13619		Name: JAD		Date: 30-Sep-87:08:55:11


[Symptom]
Monitor high segment is too big.

[Diagnosis]
A few wasted words in $HIGH in SYSINI which are only in $HIGH
because SYSINI is doing a BLT to wipe out addressing for $INIT.

[Cure]
Move the BLT into the ACs and save a few words of $HIGH.

[Keywords]
ADDRESS SPACE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	SYSINI	SYSINH


[End of MCO 13619]

MCO: 13620		Name: JAD		Date: 30-Sep-87:09:09:16


[Symptom]
Remaining load order dependencies are not clear.

[Diagnosis]
TOPS10.FIL doesn't currently reflect reality.

[Cure]
Update TOPS10.FIL to adhere to the correct load order.
Document the load order in this file so it will wind up in
the beware file.  The correct load order is:

	COMMON, COMDEV, COMMOD,

	[Any monitor modules not listed above or below] ,

	PATCH, EDDT, USRONC

COMMON must be first to set psect origins, the other common
modules (COMDEV, COMMOD) should follow, PATCH, EDDT, and
USRONC must be last (in that order).

[Keywords]
LOAD ORDER

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Beware file entry required
New development MCO
Documentation change

[BEWARE text]
Please be sure to read MCO 13620 regarding the order in
which monitor modules should be LINKed when creating a monitor
 .EXE file.  TOPS10.FIL and TOPS10.TEC follow the defined load
order.

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	TOPS10	FIL


[End of MCO 13620]

MCO: 13621		Name: JAD		Date: 30-Sep-87:14:03:18


[Symptom]
First operation to a tape drive hangs.

[Diagnosis]
[maybe?] Queue of requests in TUB never gets initialized.

[Cure]
Set up TUBQUE at TAPDRV.

[Keywords]
TAPES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	TAPSER	TAPDR1


[End of MCO 13621]

MCO: 13622		Name: JAD		Date:  1-Oct-87:07:38:09


[Symptom]
QUASAR CFU stopcode on the KS.

[Diagnosis]
Wrong arguments to DSKKON call in RHXKON cause the UDBs to get
built with the wrong controller/unit type codes.

[Cure]
Fix the calls to DSKKON.

[Keywords]
DRIVE TYPE
DSKKON

[Related MCOs]
None

[Related SPRs]
37

[MCO status]
None

[MCO attributes]
KS10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	RHXKON	RPXDRV


[End of MCO 13622]

MCO: 13623		Name: JAD		Date:  1-Oct-87:15:18:11


[Symptom]
AUTCON doesn't (44 of n)

[Diagnosis]
Calls to AUTLOK in the disk driver once/second code take a skip
return on an error return from AUTLOK.  This will return to FILIO
FOLLOWING a DSKOFF macro, which may lead to some race conditions.
Also, RHXKON's once/second code isn't quite right, and the code
still exists at interrupt level.

[Cure]
Replace JRST CPOPJ1s with POPJ P,s, fix the once/second code,
and make the interrupt level code just set the appropriate bit
in the new unit mask.

[Keywords]
AUTCON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	DPXKON	DPXSEC
		FHXKON	FHXSEC
		FSXKON	FSXSEC
		RHXKON	RPXSEC
		RNXKON	RNXSEC
		RPXKON	RPXSEC


[End of MCO 13623]

MCO: 13625		Name: JAD		Date:  2-Oct-87:07:37:34


[Symptom]
Possible DTESER confusion.

[Diagnosis]
DTESER calls the device driver on ACK ALL messages, but does not
preserve the contents of F (ETD block address) around the call.
DTESER comments indicate the driver is allowed to trash AC F,
but DTESER apparently expects the driver to preserve AC F.

[Cure]
Save F around calls to DSDSP (just like DTESER already does
for calls to DODSP).

[Keywords]
ACK ALL
DTESER

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	DTESER	TAKAA1,DVSDON


[End of MCO 13625]

MCO: 13626		Name: JAD		Date:  2-Oct-87:11:54:51


[Symptom]
Dust under the rug

[Diagnosis]
A little broom work

[Cure]
Do a little cleaning, to wit:

1) Replace some CONO PAG,@.CPEBR instances with CLRPGT where the
   intent is to invalidate the paging memory.

2) Fix length of published CPU data block constants so the GETTAB
   immediate entry returns the correct length.

[Keywords]
CLEANUP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	COMMON	.CPPCL,ITMCNC
		CORE1	CLRPGT


[End of MCO 13626]

MCO: 13627		Name: RCB		Date:  2-Oct-87:13:27:50


[Symptom]
DTELDR can't set itself to be the auto-reload job for DTEs.

[Diagnosis]
Function .DTERJ has incorrect dispatch bits.  It claims to need to be the
owner of the DTE specified in the first word of the arg block.  The code in
7.03 didn't check this because the GTF flag is clear, but 7.04 is more
paranoid.

[Cure]
Fix the dispatch for DTE. function 10.  It doesn't even have a DTE spec in
word 0, so don't look for one.

[Keywords]
DTEs

[Related MCOs]
None

[Related QARs]
47

[MCO status]
Checked

[MCO attributes]
New development MCO
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	DTESER	DTUDSP


[End of MCO 13627]

MCO: 13629		Name: JAD		Date:  5-Oct-87:07:28:08


[Symptom]
Inconsistent type out of core size in Control-T output.

[Diagnosis]
First line is n+mP, if the job is virtual the virtual size
is printed out a nP+mP.

[Cure]
Make the virtual size line appear as n+mP.  Saves one character.

[Keywords]
USECOM

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	COMCON	USECM1


[End of MCO 13629]

MCO: 13630		Name: JAD		Date:  5-Oct-87:09:40:46


[Symptom]
Second ports of dual-ported units are mysteriously coming up as the
prime port (e.g., RNB on 1026/1042 is the prime port as opposed to
RNA in 7.03 and earlier monitors).

[Diagnosis]
Since doing disks via the new autoconfiguration code, UDBDSN has
been set up by the time we ONCMOD calls MATUN to find a matching
serial number for the unit.  This succeeds, so the first port
is unlinked from the UNISYS chain and made the secondary port.
In 7.03, since UNISER wasn't set up by AUTCON, only the second
call to MATUN would find a matching unit, causing the first
port to be seen to be the prime port.

Also, since the UDB is unlinked early, some of the information
in the secondary UDB may not match that of the primary UDB.

[Cure]
I guess its trivial, but teach ONCMOD to ignore the first match
from MATUN and make the second port seen the secondary port.
Of course, if you bring up a system backward, all bets are
off, but that's a subject for a different MCO.

Actually, a more reasonable fix might be to insert KDBs in
KDBTAB in alphabetical order and also teach DSKDRV to do the
UNI2ND nonsense, rather than having ONCMOD do it.  That would
have to also key off the unit with the "lower" name.  Maybe
I'll get ambitious and do that in a week or so, but for now,
this MCO will restore the 7.03 appearance of things.

[Keywords]
SECOND PORT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	ONCMOD	KONTO2


[End of MCO 13630]

MCO: 13631		Name: JAD		Date:  5-Oct-87:09:50:59


[Symptom]
Disk UDBs are not linked in the SYSUNI chain in the "expected"
order.

[Diagnosis]
Confusion in DSKDRV over what .CPACD indicates, and need for
a special-case test for CI disks.

[Cure]
Fix the bug.

[Keywords]
SYSUNI CHAIN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	FILIO	DSKDRV


[End of MCO 13631]

MCO: 13632		Name: JAD		Date:  5-Oct-87:13:43:51


[Symptom]
Short on space in initialization code psect.

[Diagnosis]
Unused map slots in funny space use up 2 pages.

[Cure]
Delete them (.RSVD and .NZSMP).

Frees up 2 pages of .INIT. space.

[Keywords]
ADDRESS PACE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	COMMON	SETPSL
		S	LOTS
		SYSINI	.NZSMP
		VMSER	COMENT


[End of MCO 13632]

MCO: 13634		Name: RCB		Date:  6-Oct-87:02:22:47


[Symptom]
No way to set LPTs as lowercase.

[Diagnosis]
Missing code to handle MDT entries from MONGEN.

[Cure]
Add code.  If a LPT driver question is answered with PROMPT, and the sign bit
of the data word is set (e.g., the data prompt is answered with 1B0), then that
printer will be setup as a lowercase printer at autoconfigure time.

[Keywords]
LPT
LC
AUTCON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	LPTSER	LPTCFG
		LP2SER	LP2CFG
		DLPSER	DLPDDB,DLPDTS,DLPREL


[End of MCO 13634]

MCO: 13635		Name: RCB		Date:  6-Oct-87:02:42:50


[Symptom]
Messages sent via SEND commands on FRCLIN come out in upper case on systems
whose default terminal type does not allow lower case.

[Diagnosis]
Oversight.  I guess I just don't believe in non-LC terminals.

[Cure]
Fix FRCLIN to stay LC forever.

[Keywords]
LC
FRCLIN
SEND ALL
KSYS

[Related MCOs]
None

[Related QARs]
48

[MCO status]
Checked

[MCO attributes]
New development MCO
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	SCNSER	LDBINI


[End of MCO 13635]

MCO: 13636		Name: DPM		Date:  6-Oct-87:04:32:15


[Symptom]
No ANF-10 network costs are defined between the -10 and its I/O
ports.  This leads to confusion over which port is chosen for
routing in cases where two or more paths to a given remote node
exist and the number of hops on each path is the same.

[Diagnosis]
Chi Chi Tops DIGITAL

[Cure]
Define default costs based on the type of I/O port.  The symbols
and values are:

	NLFCST	1	NUL FEKs, mental telepathy
	D8ECST	2	NIA20
	D85CST	5	DN87 (DL10)
	D76CST	5	DC76 (DL10)
	D60CST	5	DN60 (DL10)
	DFKCST	7	DTE20
	D8RCST	8	DMR-11 (KS10)
	D8KCST	10	KMC/DUP (KS10)

These values may be overridden by MONGEN definitions in the decimal
portion of the dialogue.

[Keywords]
ANF-10 COSTS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	COMMON	FEKGEN
		D8EINT	D8ECFK
		NETSER	LOTS
		S	FEKCST


[End of MCO 13636]

MCO: 13638		Name: JAD		Date:  6-Oct-87:08:14:23


[Symptom]
Patch file edits not in source: LATSER calls ESLEEP in section 2.
Patch file edits IPCSER to prevent BACs when returning QUEUE. UUO msg core.

[Diagnosis]
Someone forgot an SNCALL.
SKIPE T2 missing.

[Cure]
Add it.
Ditto.

[Keywords]
LATSER
ADDRESS SPACE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	IPCSER	QSRLGO
		LATSER	PRWAKE


[End of MCO 13638]

MCO: 13639		Name: MJM		Date:  7-Oct-87:15:58:28


[Symptom]
Documenter of GETTAB symbols is confused.

[Diagnosis]
Comments in UUOSYM are misleading, inaccurate,
sometimes out-of-date.

[Cure]
Fix comments in UUOSYM.  


[Keywords]

[Related MCOs]
13606

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	314	UUOSYM


[End of MCO 13639]

MCO: 13642		Name: JMF		Date:  9-Oct-87:08:09:06


[Symptom]
"Jobs" lying around in core with JNA and JLOG off, in the NULQ,
and core assigned.

[Diagnosis]
Since we now do the LOGOUT UUO with JLOG on, if a job gets to JOB1
with JLOG on and more than 2 pages of funny space (the UPMP and the MAP), we
just clear page 0 (thinking this is a CORE 0 command) rather than giving the
core back.

[Cure]
Turn on a bit (PD.LGO) on in the PDB whenever a legitimate LOGOUT UUO
is done. If the bit is on when we get to JOB1, always give all core back.
Clear the bit in RUCOM in case we bomb out somewhere in the LOGOUT UUO so
that if the job winds up being logged in, a CORE 0 won't log it out.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	315	S
		COMMON	.PDDFL
		COMCON	RUNCOM,ZAPPG1
		UUOCON	LOGOUT


[End of MCO 13642]

MCO: 13643		Name: RJF		Date:  9-Oct-87:10:11:28


[Symptom]
Once RECON. does a "Run only me" function, it can never undo
it and allow all jobs to run again.  CONFIg AUTOCONFIGURE gets very upset
and reloads the system.

[Diagnosis]
Test at RECROM: made on the wrong AC.

[Cure]
Fix it.

[Keywords]
 .RCROM
RECON.

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	315	UUOCON


[End of MCO 13643]

MCO: 13645		Name: KDO		Date: 13-Oct-87:07:05:03


[Symptom]
SYSDPY Ethernet display contains garbage for Kontroller counters.

[Diagnosis]
EKB block not initialized correctly.

[Cure]
Fix the BLT to clear the EKB at GENEKB.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	315	ETHSER	GENEKB


[End of MCO 13645]

MCO: 13649		Name: JAD/DPM		Date: 14-Oct-87:08:50:27


[Symptom]
Bits and pieces of TTY/PTY initialization code scattered throughout
the monitor.

[Diagnosis]
Was necessary at one time, not any longer.

[Cure]
Move TTYINI to SCNSER and PTYINI to PTYSER (under $INIT, of course).
Delete about 40 global symbols from SCNSER (LDB words/bits/bytes).

[Keywords]
CLEAN UP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	PTYSER	PTYINI
		SCNSER	TTYINI
		SYSINI	PTYINI,TTYINI


[End of MCO 13649]

MCO: 13650		Name: JAD		Date: 14-Oct-87:13:01:20


[Symptom]
Autoconfiguring a CPU = death to KLIPA or KLNI.

[Diagnosis]
When the device is detected and the driver is called, the driver
will call AUTKDB to build a KDB for the device.  If the device
already exists, AUTKDB just returns the existing KDB, but doesn't
tell the driver it has done this.  Without some indication of
whether or not this is a new KDB, the driver may blindly attempt
to configure the "new" device, which in the case of the KLIPA or
KLNI causes a microcode load, disks to go offline, etc.

[Cure]
Change AUTKDB to have 3 returns: non-skip indicates no core
for the KDB, single-skip indicates an existing KDB, double-skip
indicates a new KDB.  Teach all callers of AUTKDB about this, and
have KLPSER and KNISER ignore the device on the "existing KDB"
return from AUTKDB.

[Keywords]
AUTO CONFIGURE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	AUTCON	AUTKDB
		FILIO
		KLPSER
		KNISER
		T78KON
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON
		USRONC


[End of MCO 13650]

MCO: 13651		Name: DPM		Date: 15-Oct-87:07:35:39


[Symptom]
AUTCON doesn't (45 of n)

1. Stopcode IME doing diag to seize and release magtape kontrollers prior
   to autoconfigure call under timesharing.

2. KEEP ALIVE CEASED in SYSINI after autoconfiguring a small system.

3. Potential damage if I/O in progress when AUTCON is called.

4. System startup slower than need be with SMP configurations of more
   than two CPUs.

[Diagnosis]
1. Not AUTCON's fault, but we gotta blame someone.  The diag dispatch for these
   functions is messed up.  These magtape diags are a relic of the past.  Even
   if they worked, they would only protect magtape I/O.  All other devices are
   ignored.

2. AUTCPU will enter/exit protocol pause around the code to configure a CPU.
   If system has a small number of devices, this happens rather quickly.
   Stupid RSX-20F thinks that exiting protocol pause mode means it should
   enter primary protocol, even if primary protocol wasn't running in the
   first place.  Although -20F hasn't been told to start primary protocol,
   because system initialization didn't complete, it is content to try to
   KAF the -10.

3. Sorta related to #1 above.  If I/O was initiated, but not completed prior
   to calling AUTCPU, a kontroller (such as a magtape, but maybe others like
   RP20s) can be royally screwed up by doing simple DATAO/DATAI to read device
   registers.  If you're lucky, you will only have to deal with hung devices.

4. Routines capable of configuring CPUs simultaneously are not being called.

[Cure]
1. Teach RECON. UUO function .RCRAC to force a "run only me" before calling
   AUTCON.  This will prevent I/O requests from being initiated on the CPU
   configuring, and on others which might try to do queued protocol to said
   CPU.  Obsolete old the old diag magtape functions.

2. Test DINITF at the top of the protocol pause routines and avoid -20F
   communication if called by SYSINI.

3. Teach AUTCPU to wait for all I/O to complete before scanning the devices.
   Also fix day-one bug where the RECON. UUO function to wait for I/O to
   complete doesn't handle CI disks.

4. No guts, no glory.  Letterrip.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	AUTCON	AUTCPU
		DTESER	DTESPP,DTERPP
		TAPUUO	TPMDIA
		UUOCON	RCNIOW,RCNAC1
		UUOSYM	.DIASM,.DIARM


[End of MCO 13651]

MCO: 13654		Name: RCB		Date: 20-Oct-87:08:10:36


[Symptom]
Too many problems with ANF.

[Diagnosis]
Bugs.

[Cure]
Fix them.
Setting TTY [NO] CRLF, TTY [NO] TAB, and TTY [NO] FORM will now work
properly to an ANF FE TTY, rather than starting a short status war with
the -10 which results (usually) in the old settings winning out.
TTY EIGHTBIT will now work to an ANF FE TTY.
Configuration messages will always be sent in response to a request-config
message, even if the node has no devices to report.
NCL protocol had to be extended for this, but since it's already true
that the only current documentation is the code, that doesn't matter much.
For the curious:
	NODEID messages now have the current NCL version number in the
		'optional data' string (after the NODEID TYPE field).
	NCL START/STACK messages also have the NCL version number in
		the 'optional data' field (after the system date).
	CONNECT CONFIRM messages have a forms-type (TTY type) added after
		the DVV field.
	DEVICE CONTROL messages for TTY characteristics have an optional
		TTY TYPE field after the APL/8BIT bits word (there is a
		flag in this word indicating the presence of the TYPE field).
	DEVICE CONTROL messages for LPTs have a new sub-type, 2, for
		setting the forms type name string.
As of this MCO, the NCL version number (for both -10s and -11s) is 25(8).
The -11 knows this as VDAS85 and the -10 knows it as NCLVER.
Due to the way NODEID, START, and STACK are processed, old versions of NCL
will seem to be version 0.
The new fields and sub-messages will not (MUST NOT) be sent to old -11s.


Doc changes:

Old GETTAB items that previously did not have symbols in UUOSYM:
 (in .GTNTP)
	%NTNIP==15,,141	;ANF/ETHERNET PROTOCOL NUMBER (0 IF NOT ENABLED)
	%NTNIA==16,,141	;ANF/ETHERNET MULTICAST ADDRESS (HIGH FOUR BYTES)
	%NTNIM==17,,141	;ANF/ETHERNET MULTICAST ADDRESS (LOW TWO BYTES OR ZERO)
	%NTNII==20,,141	;ANF/ETHERNET BROADCAST INTERVAL MAXIMUM
	%NTNIJ==21,,141	;ANF/ETHERNET FEK KEEP-ALIVE TIMER VALUE

New item in .GTNDB:
	%NDNVR==25,,161	;NCL VERSION NUMBER OF REMOTE

New sub-function for NODE. function .NDNDB:
	ND.NVR==21	;NCL VERSION NUMBER OF REMOTE

After MCO 13654, ANF FEs can support TTY EIGHTBIT.
If all systems involved have MCO 13654 installed, the FE TTYs will remember
their TTY TYPE settings across a disconnect/reconnect sequence (including
SET HOST).

[Keywords]
ANF
8-bit
status wars

[Related MCOs]
None

[Related SPRs]
33120

[MCO status]
Checked

[MCO attributes]
Documentation change
PCO required
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	NETPRM
703A		NETSER
		NETDEV
		SCNSER
		COMDEV
		UUOCON
		UUOSYM
		S
		MACROS
		DNTTY
		DNCTAB
		DNDEV
		DNNCL
		DNDH11
		DNDZ11
		DNLPT
		DNLBLK
		DNLP20
		DNCNFG
		DNCOMM
		DNRDA
		MONGEN


[End of MCO 13654]

MCO: 13655		Name: RCB		Date: 20-Oct-87:08:13:55


[Symptom]
Can't tell MONGEN whether printers are LC or UC.

[Diagnosis]
No code to use the MDT data.

[Cure]
If LPT.UC is set in the MDT for a printer, then it is upper case only.
Otherwise, it is lowercase.  While we're here, fix CFE LPTs to default
DEVHCW correctly (which they have never previously done).

[Keywords]
MDT
LPT
LC

[Related MCOs]
13634

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	DLPSER
		LPTSER
		LP2SER


[End of MCO 13655]

MCO: 13656		Name: JAD/DPM		Date: 20-Oct-87:08:15:45


[Symptom]
SYSINI core allocation is a mess.  NZSCGT calling sequences expect
the caller to account for its off-by-one word count bugs.  LINKDB
is filled with all sorts of service routine specific code that ought
to be in the service routines.

[Diagnosis]
Old cruft.

[Cure]
Make yet another entry point into GFWNZS which will work when called
during SYSINI.  Call  it GFWNZN for now.  Remove LINKDB.  Put all core
allocation stuff that used to be in LINKDB into the appropriate service
routines.

[Keywords]
SYSINI

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	AUTCON
		COMDEV
		COMMON
		CORE1
		CPNSER
		D36COM
		ETHSER
		KLPSER
		KNISER
		LATSER
		ONCMOD
		SYSINI
		VMSER


[End of MCO 13656]

MCO: 13657		Name: RCB		Date: 20-Oct-87:08:18:30


[Symptom]
Too hard for Galaxy to keep track of forms types, especially
now that LPTSPL doesn't stick around forever.

[Diagnosis]
No support in the monitor to help the Galaxy keep track.

[Cure]
Add DEVOP. function 1005/2005 (.DFFRM), to read and set the forms
type name (in SIXBIT).  This is supported by all four types of printers,
at least after MCO 13654.  This way, Galaxy can tell the monitor when it
wants to set a forms type, and then (after LPTSPL gets restarted), ask
the monitor what it set.

[Keywords]
Losing forms types
Aggravation

[Related MCOs]
13654

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	316	UUOSYM
703A		UUOCON
		LPTSER
		LP2SER
		DLPSER
		NETDEV
		DNLPT


[End of MCO 13657]

MCO: 13658		Name: JMF		Date: 23-Oct-87:03:30:25


[Symptom]
Monitor is too slow.

[Diagnosis]
If an SMP monitor is run on a single CPU, CDB references aren't
cached.

[Cure]
Turn on PM.CSH in the slots which map the CDBs. Turn it off if a CPU
is added.

[Keywords]
slow
cache

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	317	CPNSER	SETCSB


[End of MCO 13658]

MCO: 13659		Name: JAD/DPM		Date: 23-Oct-87:09:48:57


[Symptom]
316 kinda doesn't.

[Diagnosis]
1. Allocating TTY chunks at the start of section 4 causes problems with
   section-local referencing via byte pointers in the LDB.  The references
   to chunk addresses 4,,0 - 4,,17 turn into references into the ACs.  IMEs
   are likely whenever the first two TTY chunks are allocated.

2. Double skip returns from AUTKDB don't make it after SAVEx calls.

3. Even thoughthe PI system is shut off when AUTCON starts to run, someone
   else turns it back on, leading to spurious interrupts.

4. After loading with /E and patching, the monitor gets wierd IMEs if started
   at DEBUG.

[Cure]
1. Allocate LDBs before TTY chunks.

2. Since knowledge of new vs. old KDBs in the driver is sort of against the
   new philosophy of AUTCON, let the drivers be responsible for subverting
   AUTCON.  Remove the double skip.  Teach KLPSER and KNISER devious methods
   of configuring.

3. DDBLOK, LOKSPI, LOKBIT, etc. have the nasty habit of turning on the PI
   system for free.  Too hard to make that work correctly.  Have AUTCON
   shut off all channels.  Teach DDBULK to only re-enble those channels
   which DDBLOK had previously shut off.  Do not arbitrarily turn on DSKCHN.
   Adds new CDB locations .CPDBI and .CPATP to remember the saved PI system
   state for DDBLOK/DDBULK, and AUTCON respectively.

4. EDDT remembers that last section referenced (due to symbol definitions)
   was section one, so DEBUG$G starts the monitor in section one.  Not good.
   XJRST into section zero at DEBUG.


[Keywords]
TTY CHUNKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	317	COMDEV	LINKTT


[End of MCO 13659]

MCO: 13660		Name: DPM		Date: 26-Oct-87:03:00:08


[Symptom]
AUTCON doesn't (46 of n)

Tape DX20s load their microcode twice.

[Diagnosis]
While autoconfiguring, TD2UNI (configure a single DX20 unit) gets called
twice.  Then again, sometimes it doesn't.  The RH20 loop at TD2CF1 calls
TD2UNI, which in turn calls TD2DRV to handle a single drive.  If a drive
is found, DX20 registers are pushed onto the stack, data structures, ect; 
are built.  If no drive exists, the stack is pruned, but in either case,
the DX20 error register must be cleared prior to returnining from TD2DRV.
If a drive was found, however, we forgot that we POP'ed the drive register
off the stack when we AOS the return PC to indicate success.  Consequently,
the return PC two PUSHJs ago is incremented.  Now, if the number of
instructions between TD2CF1 and TD2UNI just happens to equal the number of
existing tape drives on the currently configuring DX20, the final POPJ from
TD2UNI will return to TD2UNI.  We just happen to have five tape drives.

OK Barb, we know that TD2UNI=TD2CF1+x+y.  If x=1 because of the PC increment
that happens when a PUSHJ is executed, and y=the number of tape drives on 1026,
can you tell us

   a) How many instructions are there between TD2UNI and TD2CF1?
   b) What is the difference (numerically of course) between said labels?
   c) What would happen if you had 7 drives instead of 5?  (you may consult
      a listing)

The answers to this quiz may be found in MCO 13661.

[Cure]

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	317	TD2KON	TD2DRV


[End of MCO 13660]

MCO: 13662		Name: JAD		Date: 26-Oct-87:08:49:50


[Symptom]
Stopcode BAC, etc., etc., etc.

[Diagnosis]
Off by one in MSGSER - prototype DDB length is short one word
(missing DEVISN).  Causes subsequent block of 4-word core to be
overwritten which can lead to BACs, etc.

[Cure]
Fix the DDB.  While we're touching MSGSER, change the name of
the foolish module to MPXSER, since it IS the service routine
for the MPX: device.  Delete the MCS-10 reference in MONGEN;
replace it with DTELDR.

[Keywords]
MPX
MSGSER
MPXSER

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	317	COMMON
		MONGEN


[End of MCO 13662]

MCO: 13663		Name: DPM		Date: 27-Oct-87:02:04:03


[Symptom]
DIAG. UUO to add CPUs takes the error return with the AC unchanged.
Also, there's lots of duplicate code left over from the old RECON stuff
to add and remove CPUs.

[Diagnosis]
1. POPJ instead of a JRST ECODxx if the CPU wasn't detached.
2. Forgot to take the skip return on successful add.
3. Lazy.

[Cure]
1. JRST DIAAAF
2. AOS (P)
3. Remove driver dispatch entries for attach/detach controller and the
   old RECON code as well.  Obsolete RECON. UUO functions .RCATT, .RCDET,
   and .RCIOW since these are already handled internally by the monitor
   on attach, detach, and autoconfigure calls.

[Keywords]
DIAG. UUO

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	317	CD2SER
		CDPSER
		CDRSER
		CPNSER
		DCRSER
		DEVPRM
		DLPSER
		DPXKON
		FHXKON
		FSXKON
		KLPSER
		KNISER
		LP2SER
		LPTSER
		PLTSER
		PTPSER
		PTRSER
		RAXKON
		RHXKON
		RNXKON
		RPXKON
		T78KON
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON
		UUOCON
		UUOSYM


[End of MCO 13663]

MCO: 13665		Name: DPM		Date: 27-Oct-87:06:49:20


[Symptom]
New:  Teach KNISER how to dump its DRAM as KLPSER alreay does.
KNISER will no longer call KNILDR to have this happen.

[Diagnosis]

[Cure]

[Keywords]
KLNI DUMP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	317	KNISER	RLDKNI,KNILOD


[End of MCO 13665]

MCO: 13666		Name: KDO		Date: 27-Oct-87:07:35:13


[Symptom]
LATSER doesn't (11 of n).

[Diagnosis]
1. Eliminate LHDSP. and LSLDT. macros.
2. Handle entry not in queue correctly in HSSTRT.
3. Implement random portion of connect id as described in the LAT 5.1 spec.
4. Rename COMDEV's global variables to more reasonable names 
   (NFRSBQ --> SBBITS) (NSBWDS --> SBBWDS).
5. Split the new slot block fields for host-initiated connects out of the
   SB block and put them in a new data structure called "PR".  This will
   greatly facilitate START SLOT parsing at HSSTRT.
6. Remerge sources with TOPS-20.

[Cure]
New code.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	317	LATSER
		COMDEV	NFRSBQ,NSBWDS


[End of MCO 13666]

MCO: 13667		Name: RCB		Date: 27-Oct-87:07:40:13


[Symptom]
Three things:
	1)  .TOAPL was removed by an overzealous programmer.
	2)  TTY EDITOR has been decommitted.
	3)  Some FE drivers don't support TTY EIGHTBIT.

[Diagnosis]
Yes.

[Cure]
Restore .TOAPL in most of its glory, but ignore it at command level and make
it go away on RELEAS or RESET.  This puts it in the same category as a PIM
break set or IO.ABS.

Decommit TTY EDITOR/.TOEDT.
If one really wants to use this unsupported 'feature', patch the SIXBIT/.EDIT/
in TTCWDT to be a SIXBIT/EDITOR/ and patch the 0 at TOPTB1+107 to be
<TOP.SA+TOP.IF+TOP.RT+TOPEDT>.

Invent a new LDBISB bit, LIL7BT.  This will be set by TTDINT.  It will also be
set by NETMCR for front ends running old NCL versions.

[Keywords]
APL MODE
SINGLE-LINE EDITOR
TTY EIGHTBIT

[Related MCOs]
13083

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	317	SCNSER	LDBISB,LDPAPL,TOPTB1,RIBSP,TTYRS2
		COMCON	TTNAME,TTC8BT
		NETDEV	MCRSTS,MCRCH4,GETCR,MCRTC1,MCRTC2,VTMCH1,SCNCHP,MCROKE,VTMRE4
		COMDEV	DECTRM
		TTDINT	TTDRL1
		UUOSYM	.TOAPL


[End of MCO 13667]

MCO: 13668		Name: ERS		Date: 27-Oct-87:08:15:00


[Symptom]
USRONC doesn't write to disk.

[Diagnosis]
1) We try to return core in a way we didn't get it.
2) We try to do a CONO PAG,.
3) We look at some bizarre flags that have no significant meaning for approval.

[Cure]
1) Don't return the core.
2) Don't do the CONO.
3) Ignore the irrelevant flags.

[Keywords]
TWICE
USRONC

[Related MCOs]
13467

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	315	REFSTR	REFXI1
		FILIO	SATW2
		USRONC	USRDO


[End of MCO 13668]

MCO: 13669		Name: JAD		Date: 29-Oct-87:08:53:56


[Symptom]
KS doesn't run (n of 2**18).

[Diagnosis]
Loop at MMIN10 didn't hack it on the KS since CORLST isn't the
same on the KS as it is on the KL; eventually it would IME after
referencing past the end of PAGTAB.

Oh yeah, no room for BOOT either.

[Cure]
Use the size of the memory management tables as the loop counter,
and move MONORG down a few pages (again).

[Keywords]
KS DOESN'T (AS USUAL)
BOOT
MONORG

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KS10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	SYSINI	MMIN10,MMIN12
		COMMON	MONORG


[End of MCO 13669]

MCO: 13671		Name: DPM		Date: 30-Oct-87:08:00:14


[Symptom]
Monitor too hard to debug.  You can't start the monitor at SYSINI with
EDDT and breakpoints and still have symbols.  Also, the preserved ASL
stuff gets in the way when you want to use stand alone disks.

[Diagnosis]
SYTBFX will only preserve the symbol table if the sign bit of DEBUGF is
set.  Preserved ASLs are usually a feature, but rarely for me.

[Cure]
Teach SYTBFX to test for the presence of EDDT rather than use the debugging
bit.  Fix my ASL headaches by defining a word called DDTDSK.  If you plug a
sixbit value into DDTDSK, that structure will be stuffed into the bootstrap
vector as the only structure in the SSL or SDL.  It's logical unitid will be
set as the only unit in the ASL.  A minus one means use the bootstrap
structure/unit.

[Keywords]
DEBUGGING

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	SYSINI	BOOTDB,DDTDSK,DEBUG,MOVXST,PATSIZ,SYTBFX
		ONCMOD	NXTUNI


[End of MCO 13671]

MCO: 13672		Name: DPM		Date: 30-Oct-87:08:09:36


[Symptom]
AUTCON does not run when a CPU is attached.

[Diagnosis]
The code to make this happen was removed from SPRINI when SYSINI underwent
surgery.  In retrospect, SPRINI wasn't really the proper place for the call
anyway.

[Cure]
Call AUTCON from CPNSER when the CPU is attached.  While we're at it, remove
all the old AUTCON initialization code that used to be called from SPRINI.

[Keywords]
CONFIG

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	AUTCON	AUTCON
		CPNSER	CPUATU


[End of MCO 13672]

MCO: 13673		Name: DPM		Date: 30-Oct-87:08:20:38


[Symptom]
New:  Load KLNIs when they are configured instead of waiting for the
first clock tick.  This behavior will be consistant with that of KLIPAs.

Doing this caused strange DECnet behavior in the form of a ROUBCD crash.
ROUTER is complaining that it's routing checksum was bad.  It corrects the
checksum and the system continues normally thereafter.  This only happens
once.  Obviously, this is a bug to pursue, but the ROUBCD is quite similar
to a CMU in the sense that you won't find anything particularly interesting
in the crash, and the problem corrects itself.  Therefore, change the ROUBCD
to an INF rather than a CHK.

Also, KNIPRM is only searched by KNISER.  Delete KNIPRM and move its contents
into KNISER.

[Diagnosis]

[Cure]

[Keywords]
KLNI

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	KNISER	RLDKNI
		SYSINI	ETHSTR
		ROUTER	ROUBCD


[End of MCO 13673]

MCO: 13676		Name: JAD		Date:  2-Nov-87:09:10:45


[Symptom]
Stopcode BAC when front-end crashes.

[Diagnosis]
When DTELDR calls DTECLR, SCNSER may get called if there was data
in transit from the FE to the -10.  If SCNSER happens to call XMTWAK,
the ETD address in F will get smashed.  When DTECLR attempts to loop
over queued messages in the ETD, it will pick up a bogus pointer and
probably lead to a BAC.

[Cure]
Save/restore F around call to DTEPST.

[Keywords]
BAC
ETD

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	DTESER	DTEPST


[End of MCO 13676]

MCO: 13678		Name: JAD		Date:  2-Nov-87:15:04:30


[Symptom]
Litter left in AUTCON.

[Diagnosis]
DX20 interface routines wound up in AUTCON because there wasn't
anyplace else to put them.  They don't belong there, since AUTCON
isn't supposed to have any knowledge of the devices, and also as
we waste some code space if the configuration doesn't have any
DX20-based devices.

[Cure]
For lack of a better place, stick them at the end of COMDEV,
where the IPA20 stuff went.

[Keywords]
DX20
CRUFT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	AUTCON	DXLOAD
		COMDEV	DXLOAD


[End of MCO 13678]

MCO: 13679		Name: KDO		Date:  3-Nov-87:00:49:09


[Symptom]
LATSER doesn't (12 of n).

[Diagnosis]
1. IME377
2. Connect id not returned after connect with wait bit on.
3. Assign terminal device correctly.

[Cure]
1. Don't jump to LTHNGU (which skip returns).
2. Return the value in all cases.
3. Save the job number for a device assigned with ASSCON.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	LATSER


[End of MCO 13679]

MCO: 13680		Name: DPM		Date:  3-Nov-87:03:40:10


[Symptom]
1. Tape soft write error count incorrect.
2. Junk logged instead of good tape statistics.

[Diagnosis]
1. The tape soft write error count is never zeroed and the tape soft read
   error count is zeroed twice.
2. Bad XBLT setup.

[Cure]
1. SETZM TUBSRE(U) --> SETZM TUBSWE(U)
2. XMOVEI T2,TUBRID+1(U) --> XMOVEI T3,TUBRID+1(U)

[Keywords]
TAPE STATISTICS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	TAPUUO	TPMCEC,TPDCPY


[End of MCO 13680]

MCO: 13681		Name: DPM		Date:  3-Nov-87:04:50:21


[Symptom]
DAEMON does not correctly log tape errors and statistics.

[Diagnosis]
At SYSINI time, TPMINI sets up CNFMTA and TAPDDP with DDB and UDB offsets
that DAEMON will read with GETTABS.  These locations are not being setup
because TPMINI isn't being called.  IOGO never calls any INI routine for
devices whose DDBs are marked with CPU code 6 (dual/multi- ported device).

[Cure]
Call the service routines for dual ported devices.  While we're at it, make
sure that DSKINI won't be adversely affected.  Remove useless code in DSKINI
that tickles RP20 controllers if they are stopped.  AUTCON makes sure they
are running.  Stopcode KID (Kontroller Is Down) goes away.

[Keywords]
TAPE ERROR LOGGING

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	SYSINI	IOGO,DSKINI


[End of MCO 13681]

MCO: 13682		Name: DPM		Date:  3-Nov-87:05:44:20


[Symptom]
Undefined globals building a monitor without the LOCK UUO.

[Diagnosis]
Oversite.

[Cure]
Make dummy definitions.  Also remove LOKN symbol.  Use M.LOK instead.

[Keywords]
LOCK

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	COMMON	M.LOK,LOKN,CONEVA,LOKEVX,UUNLOK,CHKLPG,LOKPHY


[End of MCO 13682]

MCO: 13684		Name: JAD		Date:  3-Nov-87:08:05:36


[Symptom]
Difficult for customers to know how to add site-specific hardware
configuration input to MONGEN and etc.

[Diagnosis]
Missing examples.

[Cure]
Add some.  Reserve some controller type codes for customer use.
Add some examples (which are never asked) in MONGEN, sample MDT
stuff in COMDEV, block size table in TAPUUO.

[Keywords]
I'LL TAKE THE/"A" FIFTH

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	320	COMDEV	MDT
		DEVPRM	TYPXX,K.XX
		ERRCON	CP.XX
		MONGEN	DOAUT
		TAPUUO	BSZTBL


[End of MCO 13684]

MCO: 13685		Name: JAD		Date:  4-Nov-87:10:37:10


[Symptom]
FTCIDSK is all-encompassing when it shouldn't be.

[Diagnosis]
Lots of enhancements to FILIO which aren't strictly specific to
CI disks appear under FTCIDSK.  In particular, the use of DRBs
(disk I/O request blocks) is under FTCIDSK, when the feature
may be of use to other (customer developed) drivers.

[Cure]
Split off the DRB feature from the CI disk code.  Invent a
word in the KDB which indicates the driver wants a DRB rather
than data in the UDB/KDB.  Obviously, only RAXKON would want
to set the bit.  KONMX is still used for "multi-transfers"
checks (really CI disks).  Also, delete CP.MX since it is
only used once and the KDB can be referenced there instead.

[Keywords]
DRBS
CI DISKS
KONMX
KONDRB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	COMMOD	DRB
		DEVPRM	KDB
		DPXKON
		FHXKON
		FILIO
		FSXKON
		KLPSER
		RAXKON
		RHXKON
		RNXKON
		RPXKON


[End of MCO 13685]

MCO: 13686		Name: DPM		Date:  5-Nov-87:06:17:10


[Symptom]
More SYSINI cleanup.

[Diagnosis]

[Cure]
1. DSKINI and ACCINI do very little these days.  Combine them into something
   called DSKINI which will be called only once from IOGO through DINI.  Move
   the code into FILUUO under $INIT.

2. QUESER init code (in QUESER) resides in $HIGH.  Move to $INIT.

3. Lump all scheduler init code (NXTINI, SCDINI, plus miscellaneous stuff)
   into a routine called SCDINI.  Put the code in SCHED1 under $INIT.

4. Combine all real time trapping init code into RTINI.  Put code in RTTRP
   under $INIT.

5. Move LOKCON init code into LOKCON.  Clean up dummy global definitions.

[Keywords]
SYSINI

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	COMCON
		COMMON
		FILUUO
		LOKCON
		ONCMOD
		QUESER
		RTTRP
		SCHED1
		SYSINI
		UUOCON


[End of MCO 13686]

MCO: 13687		Name: JAD		Date:  5-Nov-87:14:27:36


[Symptom]
M wrong after ENTER specifying account string; may lead to funny
SET WATCH FILES typeout.

[Diagnosis]
FILSER's usual nonsense about playing with M with gay abandon.

[Cure]
PUSH/POP around the code.

[Keywords]
SET WATCH FILES
SUCKS EGGGS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	FILUUO	SETE14


[End of MCO 13687]

MCO: 13688		Name: JAD		Date:  6-Nov-87:14:52:07


[Symptom]
SETVAL screws up for "RIBUSD" (RIBFFB) on non-directory files when
a privileged user is trying to change RIBFFB on an ENTER or RENAME.

[Diagnosis]
Not enough checks, and some convoluted code.

[Cure]
Straighten out the code, and make it a little more readable.
Also, document the bizzare bit masks used by SETVAL.

[Keywords]
SETVAL
RIBUSD
RIBFFB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	FILUUO	SETVAL


[End of MCO 13688]

MCO: 13689		Name: DPM		Date: 10-Nov-87:07:05:08


[Symptom]
AUTCON doesn't (47 of n)

[Diagnosis]

[Cure]
1. Remove crufty references to CORLOC.  It is no longer used by AUTCON.

2. Teach MSCCOM & SCASER that CORLOC is meaningless.

3. Remove checks for contiguous core allocation in AUTCON.  S0 free core is
   always contiguous.  If we never use NZS core, CHKCTG would never hack it.

4. Remove AUTUNC and its call from SYSINI.  AUTCON can always do it's own
   uncaching since PAGTAB is always addressable when AUTCON runs.  I know
   S0 free core is uncached.  Don't ask.

5. Interlock the data base at clock level around the code to process the
   call-back routine for DTE devices.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	AUTCON
		KLPSER
		KNISER
		MSCCOM
		SCASER
		SYSINI


[End of MCO 13689]

MCO: 13690		Name: DPM		Date: 10-Nov-87:07:11:27


[Symptom]
Too many globals.  Inconsistant references to time-of-day quantities.

[Diagnosis]
There's a JIFSEC, JIFSC2, JIF2SC, JIFMIN, TICSEC, TICMIN, and several
scheduler parameters based on JIFSEC, in addition to M.TPS which is
largely ignored by the most of the monitor.  The scheduler parameters,
while defined at runtime,  are superseded by constants conjured up in 
ONCMOD.

[Cure]
Delete all flavors JIF???.  Use the memory locations TICSEC and TICMIN.
Remove assembled in scheduler parameters dependent upon the number of
ticks per second.  For KL10s only, remove the MONGEN question about the
power line frequency.  APRID returns the necessary information.  KS10s
come up a few bits short as usual.  M.TPS will only be defined for the
KS10 monitor and referenced in one place (SYSINI).

[Keywords]
TICKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	CLOCK1
		COMMON
		D36COM
		D60SER
		ERRCON
		LATSER
		MONGEN
		SCNSER


[End of MCO 13690]

MCO: 13691		Name: DPM		Date: 10-Nov-87:07:37:48


[Symptom]
DDRPI (at least) doesn't run under 7.04.  It also doesn't run under
7.03.

[Diagnosis]
It peeks all over the monitor for UDB info, mostly MASSBUS registers.

[Cure]
Create a new DIAG. UUO function (.DIDVR==34) which will read the device
registers for any device willing to support the function.  The calling
sequence is:

		MOVE	AC, [-n,,addr]
		DIAG.	AC,
		  <usual error codes>
		<skip>

addr/	.DIDVR
	SIXBIT	/device/		;Kont or unit
	-m,,offset

Where:

	-m	is the number of words to return
	offset	is the starting offset in the specified data structure

[Keywords]
DIAG

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	FILIO	DIADVR
		S	.DIDVR
		UUOCON	DIADST
		UUOSYM	.DIDVR


[End of MCO 13691]

MCO: 13692		Name: JAD		Date: 10-Nov-87:08:23:28


[Symptom]
Dragnet

[Diagnosis]
The names were changed to protect the innocent.

[Cure]
CHB22B ==> CHNTYP

[Keywords]
CHANNEL TYPE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	321	APRSER
		AUTCON
		COMMON
		D78INT
		DEVPRM
		ERRCON
		FHXKON
		FILIO
		KLPSER
		KNISER
		RPXKON
		TAPUUO
		TCXKON
		TMXKON
		VMSER


[End of MCO 13692]

MCO: 13694		Name: JAD		Date: 11-Nov-87:08:18:01


[Symptom]
MONGEN asks whether you want MONGEN.MIC.  If you say "NO", MONGEN
decides you are a cretin and tells you it isn't writing MONGEN.MIC.

[Diagnosis]
Left over cruft from the days when it would do it for free?

[Cure]
Scalpel, forceps, some 3-0 silk, and a cathether, please, Nurse
Huizenga.

[Keywords]
MONGEN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	MONGEN	DUMGEN


[End of MCO 13694]

MCO: 13695		Name: JAD		Date: 11-Nov-87:09:02:14


[Symptom]
Monitor too big and too slow.

[Diagnosis]
A number of places in the monitor where system uptime in milliseconds
is desired have to manually calculate it from the uptime in ticks.

[Cure]
Have CLOCK1 maintain the system uptime in milliseconds as well.
While we're at it, delete all references to "UPTIME" (equated to
"SYSUPT") and replace with "SYSUPT".  Invent new location "SYSUTM"
which contains system uptime in milliseconds.  Invent new GETTAB
"%CNUTM==206,,11" which contains system uptime in milliseconds.

[Keywords]
SYSTEM UPTIME

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322


[End of MCO 13695]

MCO: 13696		Name: JAD		Date: 11-Nov-87:11:24:45


[Symptom]
Support for obsolete hardware abounds in the monitor (well, not really,
but there IS a goodly amount of it).

[Diagnosis]
18-bit channel devices would never work with TOPS-10 anymore, so why
carry around lots of code to support them?

[Cure]
Delete all code specific to 18-bit channels.  The monitor now only
supports 22-bit channels, either a DF10C lookalike, or an RH20 clone
(KLIPA/KLNI). DraDX10 fix up a number of references to byte pointers which
are done based on magic numbers calculated from the channel type bits
(CP.xxx).

[Keywords]
18 BIT
OBSOLETE HARDWARE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	APRSER
		COMMON
		D78INT
		DEVPRM
		DPXKON
		ERRCON
		FHXKON
		FILIO
		FSXKON
		KLPSER
		KNISER
		RAXKON
		RNXKON
		RPXKON
		T78KON
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON
		USRONC
		VMSER


[End of MCO 13696]

MCO: 13697		Name: DPM		Date: 12-Nov-87:07:21:00


[Symptom]
AUTCON doesn't (50 of n)

1. KDBs for IPA channels get funny names in SMP systems.

2. DIAG to ignore/detach/attach devices can only do it for low numbered CI 
   disks.

3. Kludgery to include node numbers in some device names.

4. No easy way to designate device numbers must be decimal.

[Diagnosis]
1 through 4.  Annoying little things everyone (except me) hated, but no one
would bother to fix for themselves.

[Cure]
1. Add a byte in the driver dispatch table that says how many of this device
   may be in the system.  Actually works out well for things like LPTs too.

2. Distinguish between the number of devices a kontroller can handle and
   the highest legal drive number.  For CI disks, the highest drive number
   is 255.  A tad more than the HSC can handle.

3. Create a dispatch bit that says we want to include ANF node numbers.

4. Create a dispatch bit that says we want decimal device numbers in DDB names.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	AUTCON
		CD2SER
		CDPSER
		CDRSER
		DCRSER
		DEVPRM
		DLPSER
		DPXKON
		FHXKON
		FILIO
		FSXKON
		KLPSER
		KNISER
		LP2SER
		LPTSER
		PLTSER
		PTPSER
		PTRSER
		RAXKON
		RHXKON
		RNXKON
		RPXKON
		T78KON
		TAPSER
		TAPUUO
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON
		USRONC
		UUOCON


[End of MCO 13697]

MCO: 13698		Name: JAD		Date: 12-Nov-87:08:37:38


[Symptom]
Can't origin VMDDT wherever you might want to.  The monitor insists
it should go at 700000.

[Diagnosis]
Left over from the days of .VMX files.  Really no need to force DDT
to a certain address, since when VMDDT gets merged JOBDDT is set up
from the MERGEd .EXE file, and VMSER can use that address.

[Cure]
Delete two lines which set up JOBDDT since SEGCON already did that
for the MERGE. UUO.  Allows putting VMDDT wherever you'd like.

[Keywords]
VMDDT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	VMSER	GETDDT


[End of MCO 13698]

MCO: 13699		Name: JAD/DPM		Date: 12-Nov-87:08:58:07


[Symptom]
Monitor runs.

[Diagnosis]
Needs to be broken.

[Cure]
Change duplicate names of Channel Data Block locations from .CHxxx
to CHNxxx.  Delete CHN definitions from S.MAC (which were probably
not correct anyway).

[Keywords]
SYMBOLS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	AUTCON
		COMMOD
		DEVPRM
		ERRCON
		FILIO
		KLPSER
		KNISER
		RNXKON
		S
		T78KON
		TAPUUO
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TX1KON
		UUOCON


[End of MCO 13699]

MCO: 13700		Name: JAD		Date: 12-Nov-87:10:36:28


[Symptom]
Mixing a SUSET. and buffered I/O doesn't make it.

[Diagnosis]
SUSET. can diddle S while buffered I/O is completing at interrupt
level (IOACT is on).

[Cure]
Call WAIT1 from USUSET (like USETO/USETI) to wait for IOACT to
clear before proceding.

[Keywords]
SUSET.

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	FILIO	USUSET


[End of MCO 13700]

MCO: 13701		Name: JAD		Date: 12-Nov-87:13:11:32


[Symptom]
Possible IME from FILOP. if user specifies an illegal "returned path"
block or "file specfication" block.

[Diagnosis]
Call to check LOOKUP/ENTER/RENAME block (FCLERB) steps on T4;
FOPEN0 expects T4 to still contain the length of the FILOP. UUO
argument block.

[Cure]
HRRZ T4,FOPFLG at FOPEN0

[Keywords]
FCLERB
IME

[Related MCOs]
None

[Related SPRs]
36066

[MCO status]
None

[MCO attributes]
New development MCO
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	UUOCON	FOPEN0
703A	


[End of MCO 13701]

MCO: 13702		Name: JAD		Date: 12-Nov-87:14:14:46


[Symptom]
None observed here, but possible death doing a 96. page transfer
on an RH10/DF10C disk.

[Diagnosis]
The monitor checks for a GOTO CCW by testing whether the word
count field in the LH of the CCW is non-zero.  The mask used is
the tests is 577777.  Bit 1 (200000) is excluded since that is
set in an RH20 JUMP CCW.  Prior to MCO 12454, MAPIO went out of
its way to avoid generating an IOWD whose LH containing 200000.
12454 changed the test to only apply to internal channels.  This
can allow MAPIO to generate an IOWD which looks like a GOTO CCW.
SETL15 in FILIO can wander off into the weeds chasing user buffers
out of cache when it stumbles across one of these CCWs.

[Cure]
Delete the test on internal channels, and never generate a
CCW of the form under discussion.  Comment this restriction in
MAPIO (original SPR complained of reduced performance).

[Keywords]
MAPIO

[Related MCOs]
12454

[Related SPRs]
35336

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	APRSER	MAPIO3

703A	


[End of MCO 13702]

MCO: 13703		Name: JAD		Date: 12-Nov-87:15:57:31


[Symptom]
SAT core (and any other NZS core allocated at ONCE time) has
numerous little free chunks scattered throughout it.

[Diagnosis]
If the amount of core desired is less than that which is
available, GFWNZN will create a new page, use the first part
of the page to satisfy the request, and return the "excess"
part to the free list.  This leaves two chunks when it might
have been possible to combine the first chunk and the new page
and carve the space out of the beginning of the resulting
chunk.

[Cure]
Have GTFWD9 test DINITF, and if set, romp through GTFWD2
a second time after giving up the newly acquired page.  This
will cause the second pass to find the new chunk which will
contain the excess from the last page allocated, plus the
new page, resulting in fewer small free chunks in section 7.

[Keywords]
ADDRESS SPACE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Extended addressing only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	VMSER	GTFWD9


[End of MCO 13703]

MCO: 13704		Name: DPM		Date: 13-Nov-87:09:10:19


[Symptom]
Monitor programmer paranoid

[Diagnosis]
Extra code exists in the CPU startup code and SYSINI which keeps starting
the RP20 microprocessor just incase it had stopped.  AUTCON already made
sure it was running.  What more could someone ask?

[Cure]
Remove calls to RNXKON.  Delete unreferenced routines to satisfy paranoid
desires.  Make local those routines which are not referenced outside RNXKON.

[Keywords]
RP20

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	COMMON	SPRINI
		COMDEV	M.RNX
		FILIO	FREINT
		RNXKON
		SYSINI	FORGET


[End of MCO 13704]

MCO: 13705		Name: DPM		Date: 13-Nov-87:09:16:35


[Symptom]
Tape DX20 interrupt code convoluted.  There's alot of hand waving to find
the "correct" DX20 which generated interrupts, etc.

[Diagnosis]
AUTCON made sure the only time you'll ever get to TD2KON is when an interrupt
for the KDB in AC 'W' happens.  What more could you want?

[Cure]
Delete needless code.  Shrink TD2KON.

[Keywords]
DX20/TAPE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	TD2KON


[End of MCO 13705]

MCO: 13706		Name: DPM		Date: 13-Nov-87:09:20:39


[Symptom]
Tape and disk DX20 microcode loading is needlessly complex.

[Diagnosis]
With the advent of the new AUTCON, all the special routines to handle
DATAIs and DATAOs, and defend against register access errors are no
longer needed.

[Cure]
Convert DXLOAD to use RDMBR and WTMBR.  Shrink the microcode loader block
definition a few words to account for the I/O instructions that are no
longer referenced.

[Keywords]
DX20

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	AUTCON
		COMDEV
		KNISER
		KLPSER
		RNXKON
		S
		TD2KON
		TX1KON


[End of MCO 13706]

MCO: 13707		Name: DPM		Date: 16-Nov-87:06:09:13


[Symptom]
Feature test skews building monitors.

[Diagnosis]
A bogus version of FGEN.HLP was used.

[Cure]
Eliminate FGEN.HLP.  Put its contents into MONGEN.MAC (FGEN dialogue
section) in a macro called "FET".  The FET macro contains feature test
names, configurations (processor types), and a one line of text to
describe the feature test.  All the old functionality of adding, changing
or listing feature test settings still exists (including list ALL), but
you can no longer step through all features to individually change each
setting.  No great loss, as no one does this in real life.  The resulting
output file is clean and readable, and doesn't suffer from semicolon disease
or junk answers in the file.

[Keywords]
FGEN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	MONGEN	FGEN


[End of MCO 13707]

MCO: 13708		Name: JAD		Date: 16-Nov-87:09:29:33


[Symptom]
Monitor too big and too slow.

[Diagnosis]
Physical drive number for disks is maintained in two places; UDBPDN
(where AUTCON puts it for all UDBs), and UNIDS2 (via UNYPUN) for FILSER.

[Cure]
Delete the UNYPUN references and use UDBPDN instead.  Saves a few
cycles by deleting DPBs, and a few instructions where a direct
reference to UDBPDN can be made (LSHs, etc.).

[Keywords]
PHYSICAL DRIVE NUMBER

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	COMMOD
		DEVPRM
		DPXKON
		FHXKON
		FILFND
		FILIO
		FILUUO
		FSXKON
		RAXKON
		RHXKON
		RNXKON
		RPXKON


[End of MCO 13708]

MCO: 13709		Name: JAD		Date: 16-Nov-87:11:12:47


[Symptom]
RP20 driver too complicated.

[Diagnosis]
Lots of pre-new-AUTCON code left over which determines DCU address,
DX20 unit number, etc., which has already been done when AUTCON has
called RNXCFG to configure the DX20 and units.

[Cure]
Delete cruft, delete RNXFKA routine, RN.DCU, RNPUPA, global
RNYDXN (use LH of KDBUNI), simplify things in general.

[Keywords]
RP20
AUTCON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	COMDEV
		FILIO
		RNXKON


[End of MCO 13709]

MCO: 13710		Name: DPM		Date: 17-Nov-87:06:42:59


[Symptom]
Cannot shut off DECnet for debugging purposes.

[Diagnosis]
All of DECnet is a big noop if it's state is set to "OFF".  ROUTER will
respect this, but if it's address (node number) is non-zero, it will turn
the world on.

[Cure]
Currently, D36COM assembles in node and area numbers even though these
will be overwritten at SYSINI time (remember the patchable stuff?).  Don't
assemble in anything.  Let D36INI do its job if called.  Otherwise,
the state will be set to off and the monitor will run without it.
Patching a JFCL at D36STR will neuter DECnet now.

[Keywords]
DECNET

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	322	D36COM	RTRADR,RTRHOM


[End of MCO 13710]

MCO: 13711		Name: JAD		Date: 20-Nov-87:13:28:21


[Symptom]
Macros to define PI channels in COMMON are a mess.

[Diagnosis]
Too many of them (some of which aren't even referenced), and
mucho duplication of stuff.

[Cure]
Delete some unreferenced macros, add one macro to define DDB entries
to INTTAB, re-order some of the definitions to increase legibility.

[Keywords]
MACROS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	323	COMMON	MACROS


[End of MCO 13711]

MCO: 13713		Name: DPM		Date: 23-Nov-87:02:30:50


[Symptom]
FTGALAXY is unreferenced.  Unnecessary pain required to run MPB.

[Diagnosis]
Only a couple of dozen lines of code are surrounded by FTMPB, and that
code enables the monitor to determine at runtime, which spooling system
is in use.  There's really no need to reassemble your monitor just to run
MPB.

[Cure]
Remove FTGALAXY.  Remove FTMPB, leaving the code normally turned on.

[Keywords]
FTMPB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	323	COMCON	URUN1,URUN4
		FILUUO	SPTSO3
		MONGEN	FTGALA,FTMPB
		UUOCON	LOGIN2,FETTBL


[End of MCO 13713]

MCO: 13714		Name: DPM		Date: 24-Nov-87:06:14:21


[Symptom]
Stopcode EUE trying to connect a device to an MPX channel

[Diagnosis]
DTELDR is attempting to connect a DL line to its MPX device.  The
line is not available because INITIA hasn't given it up yet.  When
the assigment fails in the CNECT. call we JRST to ECOD11.   Earlier
J was pushed on the stack.  When we JRST to ECOD11 we forget to POP
J.

[Cure]
Phase the stack in all places where an error return could be taken.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	323	MPXSER	CNDEV4


[End of MCO 13714]

MCO: 13715		Name: DPM		Date: 24-Nov-87:06:44:49


[Symptom]
Inaccessible code in KNISER's once-a-second code.  No memory
offline processing done.  No idle timer checks being made.

[Diagnosis]
In the rearangement of code to handle KLNI reloads at SYSINI
time, two instructions were dropped.

[Cure]
Add them back in.

[Keywords]
KLNI

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	323	KNISER	KNISEC


[End of MCO 13715]

MCO: 13716		Name: JAD		Date: 24-Nov-87:07:42:03


[Symptom]
Magic numbers in COMMON, excess code.

[Diagnosis]
Not using symbols for PI system bits or bits in .CPRUN.
Two adjacent tests on .CPRUN, both of which can be combined
into a single test.

[Cure]
Clean it up.

[Keywords]
neatness counts

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	323	COMMON


[End of MCO 13716]

MCO: 13718		Name: JAD/KDO		Date: 25-Nov-87:08:37:06


[Symptom]
Section 3 address space gets corrupted; happens most frequently on a
multi-CPU configuration, but seems possible on a single.  Also (?)
evidenced by IME stopcodes in MAPBUC.

[Diagnosis]
CREMNS searches through section 3's page map to find "n" contiguous
map slots to use for the new virtual addresses.  CREMNS is called by
GFWNZS, which has obtained the MM resource.  Unfortunately, CREMNS
will call GETPHP to get the physical pages, and GETPHP may return
the MM resource and block if the pages aren't available.  If some
other job decides to allocate section 3 space, it will probably
wind up using the same map slots the first job found.  Later, when
the pages are available, some job will fill in the map slots before
the other, and when the other runs, the map slots will be over-
written with the new entries.  Both jobs have allocated the same
virtual addresses, leading to a future PIF stopcode when the space
is returned.

[Cure]
Have CREMNS reserve the map slots (via a "1,,0" entry) before
calling GETPHP.  This will ensure the slots are not found by any
other job if the first job blocks in GETPHP.

[Keywords]
NZS CORE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Extended addressing only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	323	VMSER	CREMNS,STMAPE


[End of MCO 13718]

MCO: 13721		Name: DPM		Date:  1-Dec-87:07:34:19


[Symptom]
Cannot set density zero.

[Diagnosis]
Wizzy ADP density code didn't take into account someone might
want to set the drive default density.

[Cure]
Pick the drive default if code zero specified in the TAPOP. UUO.

[Keywords]
DENSITY

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	324	TAPUUO	GETDN1,TAPDEN


[End of MCO 13721]

MCO: 13724		Name: ERS		Date:  1-Dec-87:08:02:15


[Symptom]
ONCE/TWICE has an obnoxious dialogue.

[Diagnosis]
That's the way it's always been.

[Cure]
Change it.
It will now be command driven.

[Keywords]
TWICE
ONCE

[Related MCOs]
13467

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	324	ONCMOD	MANY


[End of MCO 13724]

MCO: 13725		Name: RCB		Date:  1-Dec-87:08:27:28


[Symptom]
TRMOP. function .TOEAB doesn't work for anything but DC76s, despite old
promises to customers to fix that.

[Diagnosis]
No code in other drivers to handle ISRLPC calls from SCNSER.  The call from
the TRMOP is also dependent upon the LILCFE (clever FE) bit.  This is also the
only remaining test of this bit.

[Cure]
Fix NETMCR, NETVTM, TTDINT, DZINT, D76INT, and the -11s to handle .TOEAB.
The LILCFE flag will now mean that .TOEAB will work on this line.  While I'm
here, finally free up some space in .INIT. by cleaning up the way we 
initialize the terminal database.

[Keywords]
AUTOBAUD REQUEST

[Related MCOs]
None

[Related SPRs]
33324, 33107

[MCO status]
Checked

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	324	DZINT
703A		COMMON
		COMDEV
		SCNSER
		TTDINT
		D76INT
		NETPRM
		NETDEV
		DNTTY	P11
		MACROS	P11


[End of MCO 13725]

MCO: 13729		Name: DPM/RCB		Date:  2-Dec-87:08:07:06


[Symptom]
Occasional checksum inconsistancy errors using BACKUP.

[Diagnosis]
Cache bug.  When switching I/O from one KDB to another, if the two KDBs
reside on different CPUs (which is the normal case), then the cache in
the CPU about to start the I/O may not be correct.

[Cure]
Testing for RH20 channels isn't good enough.  If the tape drive is dual
ported, always sweep cache.

[Keywords]
DUAL PORTED TAPES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	325	TAPUUO	TPMSWP


[End of MCO 13729]

MCO: 13735		Name: JAD/RJF		Date:  4-Dec-87:10:13:09


[Symptom]
DAU stopcode kinda maybe after a TMDELI stopcode kinda maybe after
another CPU gets a KAF if a cosmic ray comes in the right direction.

[Diagnosis]
For INFORM stopcodes, DIE types out using the "normal" SCNSER
TTY output routines.  These just happen to do "SCNOFF"s to keep
the TTY chunks intact.  If someone already owns the SCNSER lock,
DIE will hang on the interlock, and maybe get a KAF, and maybe
not, but it will wind up eventually croaking with a DAU stop or
some reasonable facsimile.

[Cure]
Make the SCNSER interlock multi-level, but to keep Spider
happy, only allow recursion when DIEFLG is non-zero, which
indicates (probably) this CPU is in the middle of a stopcode.

[Keywords]
DAU
SCNSER LOCK

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	325	COMMON	LOKSCI,ULKSCI


[End of MCO 13735]

MCO: 13736		Name: DPM		Date:  7-Dec-87:06:04:21


[Symptom]
Stopcode PFN following autoconfigure

[Diagnosis]
AUTCON calls the routine RCNIOW to wait for all I/O to stop.  This always
takes the skip return (historical).  Naturally we weren't expecting this,
as it skipped over the CONI PI, which saves the PI system state.  At the
end of autoconfiguring, we restore the PI system to what we beleive was the
correct saved state.  In reality, it is restored to what SYSINI would like
to use (since that's the last time AUTCON ran).  Not very useful for the
timesharing monitor.

[Cure]
Remove skip returns.

[Keywords]
RECON

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	325	UUOCON	RCNSPN,RCNIOW


[End of MCO 13736]

MCO: 13737		Name: DPM/JAD		Date:  8-Dec-87:04:10:38


[Symptom]
TAPSER can't handle multiple kontrollers on an RH11

[Diagnosis]
Thought we could, but a few instructions are missing.

[Cure]
Add them.  Maybe some day, the hardware will be functional and this
stuff can be tested.

[Keywords]
KS10 MAGTAPES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	325	TAPSER	TAPINT


[End of MCO 13737]

MCO: 13738		Name: DPM		Date:  8-Dec-87:07:45:57


[Symptom]
Code cleanup in TAPUUO.

[Diagnosis]
Messy conditionals.

[Cure]
1. In most places FTKL10&FTMP is incorrect.  Remove FTKL10 references.

2. Put comments on closing brackets in all conditionals.

3. .ORG'ing DDB offsets to DEVLLD+IFN FTKL10&FTMP,<3> makes for errors
   when DDB definitions are changed.  Define DEVLEN to be the length of
   the common DDB definition.

[Keywords]
MAGTAPES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	325	S	DEVLEN
		TAPUUO	LOTS


[End of MCO 13738]

MCO: 13742		Name: DPM		Date:  9-Dec-87:06:54:17


[Symptom]
Stopcode KAF, others possible following ARM stopcode.

[Diagnosis]
Someone thinks we can contine running with corrupted access tables.

[Cure]
Guessed wrong.  Make ARM a STOP rather than a DEBUG stopcode.

[Keywords]
STOPCODE ARM

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	FILFND	S..ARM


[End of MCO 13742]

MCO: 13743		Name: JAD		Date:  9-Dec-87:07:18:09


[Symptom]
Monitor too slow.

[Diagnosis]
CREMNS does CLRPGTs when it really only needs to do a CLRPT.

[Cure]
Replace two CLRPGTs with CLRPTs; the last CLRPGT must be left in.

[Keywords]
CREMNS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Extended addressing only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	VMSER	CREMN1,CREMN3


[End of MCO 13743]

MCO: 13744		Name: JAD		Date:  9-Dec-87:07:38:01


[Symptom]
Section 3 map gets corrupted (MCO 13718 revisited).

[Diagnosis]
13718 tried to fix the bug by reserving the map slots in the section
map before it called GETPHP to get the physical pages.  Since this was
done under the MM, it was thought this would close the window where a
second CPU might sneak in and reuse those map slots under us.

However, it turns out the routine CREMN5 is calling to reserve the map
slots gives up the MM while waiting for other CPUs to flush their own
paging memories.  Thus, only the first page allocated is completely
protected from reuse.

[Cure]
For slots 1 through n-1, simply insert the pointer in the section
map without using STMAPE.  Only use STMAPE for the last slot (or the
only slot if n = 1).

[Keywords]
NAMPFU
CREMNS

[Related MCOs]
13718

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	VMSER	CREMN5


[End of MCO 13744]

MCO: 13747		Name: JAD		Date: 10-Dec-87:13:39:56


[Symptom]
Proprietary violations running DPL.

[Diagnosis]
SETNAM was never taught about the new format of JBTSGN - it still
thinks segment bits are in the left half of JBTSGN, so when SETNAM
decides whether or not to clear XO it always succeeds.  However, as
MAPHGH wants REDOMP to be set for the high segment, and it isn't,
MAPHGH never redos the map, so the pages are never marked public.

[Cure]
Smarten up SETNAM, and teach it about MHS.  The rules are:

1) If IC.LIP is clear, it is always OK to clear XO.

2) If IC.LIP is set, XO can only be cleared if a GETSEG wasn't done
   (GTSSEG is not set in any high seg for this job).

Also set REDOMP when we decide to clear XO so MAPHGH manages to
redo the map.

[Keywords]
SETNAM
MHS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	UUOCON	SETNAM


[End of MCO 13747]

MCO: 13748		Name: DPM/RCB		Date: 11-Dec-87:16:40:21


[Symptom]
Listings too hard to read.

[Diagnosis]
Too many conditionals clutter it up.

[Cure]
Remove the following feature tests:

	FTDAS78 - removed equal to FTKL10.
	FTCMSR, FTDN60, FTAPLB, FTEQDQ, FTTRPSET - removed on.

While we're at it, clean up the resulting code a bit.  This mainly means that
the ENQ/DEQ GETTAB table now lives in QUESER (with a dummy in COMMON if M.EQDQ
is zero).

[Keywords]
IFE
Feature tests
Cleanliness

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	COMMON
		COMDEV
		CLOCK1
		NETSER
		UUOCON
		COMCON
		S
		MONGEN
		D78INT
		D8KINT
		D8RINT
		DTESER
		NETDEV
		SYSINI
		FILUUO
		DATMAN
		CTXSER
		QUESER
		APRSER
		CPNSER
		CORE1
		SCHED1


[End of MCO 13748]

MCO: 13749		Name: RCB/DPM		Date: 11-Dec-87:17:19:51


[Symptom]
Too hard to define disk sets correctly.

[Diagnosis]
It has to be entered as an arcane mask of off-by-one bits in the
octal or decimal constants section.

[Cure]
Add a question for the list of disk sets.  It comes just after the
question about ENQ/DEQ.  It takes a simple list of disk set numbers as
its response.

[Keywords]

Cleanliness
Disk sets

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	MONGEN
		GEN.CT


[End of MCO 13749]

MCO: 13752		Name: DPM		Date: 15-Dec-87:04:23:25


[Symptom]
DECtape service lacking required features.

[Diagnosis]
The accounting project required we keep track of DECtape reads and writes.
On a deassign, the monitor supplies QUASAR with two zero words which are
properly logged in the usage files, but contain no useful data.

[Cure]
Tally up the reads and writes.  Supply real numbers to QUASAR.

[Keywords]
DECTAPE ACCOUNTING

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	COMDEV	DTXDDB
		DTASER	BLKCHK,DTXINT,DTAIN2,ERRS
		IPCSER	SNDFIN
		S	.ERDTA


[End of MCO 13752]

MCO: 13753		Name: DPM		Date: 15-Dec-87:04:46:59


[Symptom]
Queued protocol I/O does not perform as well as it could.

[Diagnosis]
All queued I/O requests are handled at CIPXIT, after the scheduler has run.
In 7.01, this was done prior to calling the scheduler.  Later performance
tests showed that starting TTY output before NXTJOB caused lots of interrupts
out of the scheduler, while the scheduler interlock was being held.  The
solution was to move all queued I/O calls out to CIPXIT, when only the .CPSTO
call needed to be moved.  The other queued I/O calls were moved unnecessarily,
as they didn't generate lots of interrupts.

[Cure]
Put the queued disk, tape, and KLNI calls back before NXTJOB.

[Keywords]
PERFORMANCE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	CLOCK1	CIP5,CIPXIT


[End of MCO 13753]

MCO: 13754		Name: JAD/DPM		Date: 15-Dec-87:05:39:16


[Symptom]
New:  For the benefit of those customers with IBM disks and tapes on SA10
channels, provide UNSUPPORTED service routines which know how to communicate
with SA10s.  This code is largely based on old 6.02 Cyphernetics (now ADP)
code, upgraded and retrofitted into 7.04 AUTCON, file service, and tape
service.  Wizzy features include block multiplexor mode on disks and dual
ported magtapes.  These are not modifications to the software supplied by
Systems Concepts, the manufacturers of the SA10 channel.

The modules include SAXPRM (parameter file), SAXSER (generic SA10 service),
DSXKON (disk driver), and TS1KON (tape driver).  All the necessary grunt work
including modifications to INTTAB for PI assignments, autoconfigure, FILSER
hooks, SMP necessities, MONGEN questions, etc. have been made.  This code will
be tested at a 7.04 field test site, and any necessary changes required to
make it work will be incorporated into the sources prior to release with
7.04.  As usual, any bug fixes in this or any other UNSUPPORTED code after
a release will be made at the discretion of Software Engineering.

The existance of this UNSUPPORTED code will enable those sites dependent upon
SA10 hardware to upgrade to 7.04 without the costly expense of purchasing new
hardware or making major software modifications.

Sorry, but since we have no access to line printer driver code or an IBM
printer, we can't supply an SA10/LPT driver.

[Diagnosis]

[Cure]

[Keywords]
SA10

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	COMDEV
		COMMON
		DEVPRM
		DSXKON
		MONGEN
		SAXPRM
		SAXSER
		TS1KON


[End of MCO 13754]

MCO: 13755		Name: DPM		Date: 15-Dec-87:06:24:31


[Symptom]
ACTDAE looses track of PPNs in usage files.  The mail system records the
wrong user as sender of mail.

[Diagnosis]
The user is privileged and has changed his/her PPN.  While for years we
have officially frowned upon such antics, the sad reality is most customers
provide facilities to change PPNs, for at least a select group of users.
The facilities most often used are the programs (like PIVOT) which we supply
to the customers.

[Cure]
Provide a new GETTAB (.GTLPN==213) to return a job's logged-in PPN rather
than the current PPN of the job.  This wastes a whopping 1 word per PDB,
yet makes it possible to provide accurate accounting records.

[Keywords]
LOGGED-IN PPN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	COMMON	.PDLPN
		UUOCON	LOGIN1,NUMTAB
		UUOSYM	.GTLPN


[End of MCO 13755]

MCO: 13756		Name: DPM		Date: 15-Dec-87:07:10:23


[Symptom]
Some tape hardware errors go unnoticed, especially on a DX10.

[Diagnosis]
Since the DX10 does it's own error recovery, the only indication of possible
drive problems are the unload statistics.  If for example, a tape has 1000
soft read errors on one drive, but none on any others, it's a good bet that
there's something wrong with the one drive.

[Cure]
Include some additional data in the ERROR.SYS entry for unloads.  It will be
stored in the TUB at the start of each positioning or I/O transfer (necessary
because of dual ported tapes).  There are two additional words at the end of
the ERROR.SYS entry:

Word 1:	Bits  0- 2 MASSBUS unit number (or zero if not multi-unit)
	Bits  3-35 device code or UNIBUS (UBA,,CSR) address
Word 2:	Bits  0-35 standard kontroller type code

DAEMON %23(1023) will pass store this information in the error file.

[Keywords]
MAGTAPE ERROR STATISTICS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
Field service attention

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	326	DEVPRM	TUBDVC,TUBKTY
		TAPSER	TAPSIO


[End of MCO 13756]

MCO: 13758		Name: DPM		Date: 17-Dec-87:07:14:54


[Symptom]
Wrong densities [sometimes] reported on TU7x drives.

[Diagnosis]
When the TUB was rearranged, TUBCNF and TUBSTS were split off into
separate words.  Both TX1KON and TD2KON we not taught about this
change.  Consequently, when they check to see if a forced sense was
necessary, the answer was always "NO" and densities didn't get updated.

[Cure]
Note the data resides in two different words now.

[Keywords]
DENSITY

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	TD2KON	SETMO2
		TX1KON	SIO1


[End of MCO 13758]

MCO: 13759		Name: DPM		Date: 17-Dec-87:07:19:15


[Symptom]
Some user-mode diagnostics (IPA) don't work.

[Diagnosis]
TRPSET getting in the way again.

[Cure]
Reset M to point to the user's argument block after stuffing the
AC back.

[Keywords]
IPA DIAGS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	UUOCON	DIAUO3


[End of MCO 13759]

MCO: 13760		Name: DPM		Date: 17-Dec-87:07:24:51


[Symptom]
Globs of globals get in the way.

[Diagnosis]
1. Many globals that no longer referenced externally
2. SA10 channel command opcodes are prefered by EDDT for typeout over
   hardware instructions.

[Cure]
Localize & suppress

[Keywords]
BLOB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	SAXPRM
		TAPUUO


[End of MCO 13760]

MCO: 13761		Name: DPM		Date: 22-Dec-87:02:51:10


[Symptom]
Random stopcodes, ORION hangs, etc. trying to add a CPU.  Once having fixed
this problem, you can't do it more than M.CPU-1 times.

[Diagnosis]
CPUATU (UUO level CPU attach routine) expects AUTCON to run before the CPU is
marked as usable.  Also, now that the monitor is capable of attaching a CPU
without CONFIG's help, the count of running CPUs in the system is no longer
maintained.  Therefore, removing a CPU counts down NCPRUN, but no one ever
counts it up.

[Cure]
The proper order of doing things is:

1. Clear CP.RMV in addition to CP.DET, otherwise things won't start up
   automatically.
2. Call ONCPUN to get to the target CPU.
3. On KL10s, sleep for a second so -20F gets a chance to notice we started
   primary protocol.  Without the delay, -20F will report primary protocol
   not running when AUTCON enters protocol pause.  A real crock, but then
   so it -20F.
4. Run AUTCON.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	CPNSER	CPUATU


[End of MCO 13761]

MCO: 13762		Name: RCB		Date: 22-Dec-87:03:37:22


[Symptom]
1. DL10 based DN60s don't work.
2. I/O bus card readers don't work
3. I/O bus plotter interrupt service doesn't work.

[Diagnosis]
If we only had the hardware ...

[Cure]
1. Fixup FEK to base table pointers.
2. Rework interrupt code.
3. Ditto.

[Keywords]
DL10
DN60
CDR
PLT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	327	COMMON	FEKDLX
		D6DINT	D60SEC
		CDRSER	LOTS
		PLTSER	LESS


[End of MCO 13762]

MCO: 13764		Name: KDO		Date: 23-Dec-87:10:49:12


[Symptom]
LLMCIF stopcodes

[Diagnosis]
Subroutine PSVINI calls ETHSER to Read Channel Status after the portal is
opened.  However, if KNISER/ETHSER can get to the callback routine quickly
enough to call PSTBUF to post the receive buffers, the Read Channel Status call
will fail.

[Cure]
Remove the call to Read Channel Status since none of the information is used.
At the same time, remove the LLMCIF stopcode.

Why call PSTBUF inside the Channel State Change callback routines?
Let's call PSTBUF immediately after opening the portal.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	330	LLMOP	PSVINI,LPSRCI,RSCRCI


[End of MCO 13764]

MCO: 13765		Name: KDO		Date: 23-Dec-87:14:30:14


[Symptom]
DECnet End Nodes don't work.

[Diagnosis]
We are dropping adjacency to the designated router.

[Cure]
Fix RHMASE, which parses Hello messages for end nodes, so that it takes the
Hello Timer.  There is code to do this in RHMASR, which does the parsing for
routing nodes.  But it is missing for RHMASE.

Also, unwanted multicast messages are using up the DECnet receive buffers.  The
result is lots of User Buffer Unavailable errors.  Fix ETHSER so that it returns
error code UNIMA% (Invalid Mulicast).  Then fix DNADLL to post a new receive
buffer when one of these events occurs.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		ROUTER	RHMASE
		DNADLL	NIIRCE
		ETHSER	ETCRDG

704	330	ROUTER	RHMASE
		DNADLL	NIIRCE
		ETHSER	ETCRDG


[End of MCO 13765]

MCO: 13766		Name: RJF		Date: 24-Dec-87:11:35:12


[Symptom]
SYSTAT calculates swapping space incorrectly for structures
on the KS10.
SYS T doesn't work at all on the KS10.

[Diagnosis]
SYSTAT needs to know the offsets of UNIk4S in the UDB and LDBREM
in the LDB.  Conditionals like FTDUAL, FTCIDSK, FTMDA and FTXMON
shorten the UDB and LDB if turned off.  Hence, SYSTAT finds the
wrong locations.

[Cure]
Make %CNK4S=210,,11 and %CNREM=207,,11 so SYSTAT can GETTAB
these offsets.

[Keywords]
SYS P
SWAPPING SPACE
SYS T
DATASETS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	330	COMMON
		UUOSYM


[End of MCO 13766]

MCO: 13767		Name: JAD		Date: 28-Dec-87:09:37:58


[Symptom]
NZS core allocation is still racey (see 13718 and 13744).

[Diagnosis]
CREMNS has to reserve ALL map slots it picks BEFORE it calls
STMAPE or any variant, since STMAPE sleeps IN CPU ORDER waiting
for the hardware page table to be flushed on CPUn.  This means
CPU2 could sneak in while CPU0 is sleeping, and steal the last
map slot which CPU0 is in the process of reserving.

[Cure]
Stuff temporary markers in ALL map slots, then call STMAPE to
store a temporary marker in the last map slot.  Hopefully this
will close the window and fix the problem.

[Keywords]
CREMNS

[Related MCOs]
13718, 13744

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	330	VMSER	CREMNS


[End of MCO 13767]

MCO: 13769		Name: JAD		Date: 28-Dec-87:13:39:51


[Symptom]
Problems with the HSC detecting the -10 has crashed if it comes
back up quickly.

[Diagnosis]
Not using the "software incarnation number" in the START packet
to indicate a new incarnation of the software (gee, what a clever
name for that word!).

[Cure]
Maintain an SCA software incarnation number in the bootstrap
vector, and bump it each time SCA is initialized.  Use the new
incarnation number in the START packets KLPSER builds.

[Keywords]
SCA

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	330	KLPSER	STRTDT
		MONBTS	BTAVAL
		SCASER	SC.INI


[End of MCO 13769]

MCO: 13770		Name: JAD/DPM		Date: 29-Dec-87:08:09:37


[Symptom]
Nice to be able to read DECtape read/write counts, but it would be
even nicer to be able to clear the counts between mounts of different
tapes (don't want to bill for cumulative usage).

[Diagnosis]
Missing functionality.

[Cure]
Add a little; a new function of the DEVOP. UUO to manipulate the
data stored in the DECtape DDBs.

Format of new function:

ARG:	.DFDTI			;(1006) + .DFSET TO SET
	DEVICE IDENTIFIER
	SIXBIT REELID		;RETURNED OR SUPPLIED
	WORDS READ		;RETURNED; IGNORED WHEN SETTING REELID
	WORDS WRITTEN		;RETURNED; IGNORED WHEN SETTING REELID

Read/write counts are zeroed when setting new reel ID.

[Keywords]
DECtape accounting

[Related MCOs]
13752

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	330	DTASER
		UUOCON
		UUOSYM


[End of MCO 13770]

MCO: 13771		Name: DPM		Date: 29-Dec-87:08:17:46


[Symptom]
When writing a multi-reel tape on a TU78, the density of the second reel may
not match the density of the first reel.

[Diagnosis]
MCO 11483 (PCO 10-702-081 of 18-Sep-84) tried to program around cosmetic
bugs in density reporting.  It assumed a valid density could be read any
time, regardless of the position of the tape with respect to BOT.  Not so.
This nonsense was eventually fixed correctly in 7.04.

TU78s are one of those wierd drives which will only return a valid density
after the first operation.  If the tape was originally written at 1600 BPI
and is now being written at 6250, the density read at the time of the
attention interrupt will return 1600 for the second and subsequent OUT UUOs.
When the next reel of the save set is mounted, we will start writing at 1600
BPI because that's the last "valid" density the drive gave us.  Note that the
drive returned 1600 even though the lights indicated 6250.

[Cure]
Undo MCO 11483.  7.04 always gets the density right (as far as I can tell).
7.03 sites may want to do the same.  It's a toss up which is more annoying;
having PULSAR report the wrong density and forcing you to use /DENSITY
switches on MOUNT commands or the monitor hosing you over when multi-reel
tapes are written.

[Keywords]
DENSITY

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	330	T78KON	T78DFL


[End of MCO 13771]

MCO: 13773		Name: LWS		Date: 30-Dec-87:18:15:45


[Symptom]
Batch jobs submitted when SCHED is set to something that
doesn't allow batch jobs to login won't always get scheduled to run
by QUASAR after SCHED is set to something that allows batch jobs
to login. (KBY sentence)

[Diagnosis]
After SCHED is set to something reasonable and nothing
causes QUASAR to make a scheduling pass, the batch job will just
sit in the queue.

[Cure]
Kick QUASAR. Drop him an IPCF message. New IPCF message type
 .IPCSM (51).

[Keywords]
BATCH
IPCF
SCHED

[Related MCOs]
None

[Related SPRs]
36077

[MCO status]
None

[MCO attributes]
PCO required
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	COMCON	SETSC1
703A		IPCSER	SNDSCM
		UUOSYM	.IPCSM


[End of MCO 13773]

MCO: 13775		Name: DPM		Date: 31-Dec-87:04:55:25


[Symptom]
When logging out, the new 704 LOGIN will attempt to change your PPN back
to the logged in PPN if it is different.  This is done to keep the usage
accounting files straight.  The CHGPPN UUO may fail depending upon the
local hacks a customer may have in that area of the monitor.

[Diagnosis]
LOGIN needs a little supported assistance.

[Cure]
Change the behavior of the CHGPPN UUO slightly.  In addition to working if
the job is not logged in, let it succeed if the job is [1,2], running with
JACCT, has POKE privs, or a any customer privileges defined by the symbol
CHGPPP with the MONGEN dialogue.  This last item was included because many
sites have a customer defined "change PPN" priv bit.

[Keywords]
CHGPPN UUO

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	UUOCON	CHGPPN


[End of MCO 13775]

MCO: 13776		Name: JAD		Date: 31-Dec-87:09:58:36


[Symptom]
SCNRIA stopcodes on single CPU systems when SCASER attempts to type
a node online/offline message if the CTY is presently active.

[Diagnosis]
Single CPU configurations don't turn off DSKCHN when obtaining the
SCNSER interlock.  This may or may not be a design goal, but it does
cause problems if anyone attempts to type at interrupt level.

[Cure]
Queue a clock request to print the message at clock level.  Lets
SCNSER's interlock work properly in both cases.

[Keywords]
PATH MESSAGES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	SCASER	PTHONL,PTHOFL,PTHSE0


[End of MCO 13776]
MCO: 13777		Name: KDO		Date:  4-Jan-88:07:52:49


[Symptom]
Too many IFN's in the LATSER code.

[Diagnosis]
TOPS-10 uses Jiffies, and TOPS-20 uses milliseconds.

[Cure]
Now that we are maintaining the uptime in milliseconds, remove the dependencies
on time in Jiffies.

[Keywords]

[Related MCOs]
13695

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	LATSER


[End of MCO 13777]

MCO: 13780		Name: JAD		Date:  4-Jan-88:08:55:32


[Symptom]
IME stopcodes don't go to EDDT when debugging to give you a chance
to do anything useful before you get the BOOT prompt.

[Diagnosis]
Previous MCO cleaned up some of the adjust stack code so it would
properly adjust the continuation address.  Unfortunately, that broke
calling EDDT after the stopcode.

[Cure]
Add a test in RELOAD and eXeCuTe .CPDDT if DEBUGF is set.

[Keywords]
stopcode

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	ERRCON	RELOAD


[End of MCO 13780]

MCO: 13781		Name: DPM		Date:  5-Jan-88:08:10:10


[Symptom]
AUTCON doesn't (51 of n); Loose ends.

[Diagnosis]
1. Building DDBs out of INTTAB is filled with crocks because of devices
   like TTYs and PTYs which are special, but there's no way to tell AUTCON
   how to handle them.

2. Some DDBs are never added to GENTAB.

3. FILSER and SCNSER both think they ought to be the one to clear DINITF.

4. Still some 143 restart code lurking in SYSINI.

5. PTYN still being used.

[Cure]
1. "autoconfigure" MPX, PTY, and TTY devices.  This amounts to little more
   than taking the assembled in device counts and calling AUTDDB to do the
   dirty work.  The advantage here is you have a use driver dispatch which
   contains all sorts of neat bits to control the DDB's destiny, and AUTDDB
   knows how to deal it.  This shrinks INTTAB by a few.  Those who beleive
   PTYDDB and SCNDDB are real DDBs will be in for a shock.  These are now
   prototypes which point to the first real DDB of it's kind.  Stopcode MXM
   is gone.

2. If the GENTAB slot for a given device is empty, then don't load up F with
   a zero and pull bytes out of the non-existant DDB.  Comparrisons used to
   determine where to splice a new DDB into the chain are not always going to
   work to your advantage.

3. Both loose.  Let SYSINI clear DINITF at the appropriate time.

4. Not AUTCON's fault.  Remove CLRDDB.  DDBs can't be inited during SYSINI,
   so ASSCON, ASSPRG, etc. should never be turned on.

5. PTYN superseded by M.PTY.  Delete PTYN.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	331	AUTCON
		COMDEV
		COMMON
		DEVPRM
		FILUUO
		MPXSER
		PTYSER
		SCNSER
		SYSINI


[End of MCO 13781]

MCO: 13782		Name: KDO		Date: 12-Jan-88:02:08:53


[Symptom]
1. Bogus PRSTS value.
2. LATNSC's, types 2 and 12.
3. Had to butcher the Master/Slave test.
4. FMCAN builds bad Cancel messages.

[Diagnosis]
Need to bring in Waddington's latest edits.

[Cure]
Do it.

[Keywords]

[Related MCOs]
13777

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	332	LATSER


[End of MCO 13782]

MCO: 13783		Name: DPM		Date: 12-Jan-88:04:03:32


[Symptom]
AUTCON doesn't (52 of n); "Go west young man"

Narf travels to the wild west border town of El Paso and rescues fair
Julie from the Mexican bandits storming the walls of the computer center
in the 19th region of territorial Texas.

[Diagnosis]
1. Ghost I/O bus devices appear after autoconfigure under timesharing.

2. Several drivers don't bother looking at the MDTs because the code's
   author knew there was nothing there to look at.  This precludes easy
   mods by a customer who wants to do obscene things to (or with) the
   device in question.

3. After autoconfigure under timesharing, disk drives are left in a "pack
   not mounted" state.  For drives which already have structures mounted on
   them, this seems not to matter much.  However new structures are not
   easily mounted.

4. Attaching new magtapes and other devices leaves them useful in the sense
   that if they're not MDA controlled devices, everything is OK.  However,
   the attach really fails because DDBATT beleives the device is owned by
   some job.

5. Error recovery code missing from many drivers to deal with core allocation
   failures.

6. It is possible for AUTCON's data base to get smashed while building CFE
   devices.  The drivers start twiddling CPU variables without getting the
   interlock.

[Cure]
1. Add primitives to allow detection of already configured I/O bus devices
   such as LPTs and CDRs which have only DDBs as their data structures.

2. Pick up the device-specific data from the MDT.  Leave it in a useful AC
   and add comments telling the customer when it's appropriate to make the
   local mods.

3. Wrong value & backwards test.  UNVPNM/TLNN --> UNVPIM/TLNE.

4. Test for job zero correctly.  Don't store junk in PJOBN.

5. Add error recovery code.  Delete DDBs which may not be entirely usable.
   Recycle device numbers so future attempts will generate devices with the
   correct names.

6. Use interlock.  If not available, tickle -20F to get another interrupt
   later.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	332	AUTCON
		CD2SER
		CDPSER
		CDRSER
		DCRSER
		DLPSER
		FILIO
		LP2SER
		LPTSER
		MPXSER
		PLTSER
		PTPSER
		PTRSER
		TAPSER
		UUOCON


[End of MCO 13783]

MCO: 13784		Name: ERS		Date: 12-Jan-88:08:04:03


[Symptom]
Spinning disk known to USRONC as off-line or OPERATOR action requested.

[Diagnosis]
USRONC believes what DSKCHR tells it.  And DSKCHR sometimes lies.
Specifically, a disk that is spinning but not mounted will probably return with
a status of no disk.  Also, sometimes HSC disks have a disk spinning status
but USRONC recieves the action requested message.

[Cure]
Don't believe what DSKCHR tells you.  While we're searching through all the
disks turn on interrupts for OPERATOR action requested.  Instead of blindly
believing DSKCHR about a disk's status try and touch all disks.  If you get the
interrupt mark it as off-line and proceed.  If not, we're golden.

[Keywords]
TWICE
USRONC

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	332	USRONC	DOLSAV
		ONCMOD	REDHOM


[End of MCO 13784]

MCO: 13785		Name: LWS		Date: 12-Jan-88:08:07:24


[Symptom]
Hung device errors on TU78's and TU77's when both the TM78
and TM03 are on the same RH20. Setting one type of drive online while
the other is reading/writing is usually the scenario.

[Diagnosis]
Neither T78KON or TM2KON face the fact that another controller
may be on the same RH20. Each of them blindly clears CI.DON whether or
not there was a done interrupt for them. What has been observed is
that an attention interrupt will happen for one controller and by the
time the interrupt service routine gets near completion, CI.DON will
be lit for the other controller. Each of the drivers clears CI.DON
in a commonly used exit path, CLRCTL, where it reenables for interrupts.
Once CI.CON is cleared erroneously, the other controller never gets
its "done" interrupt serviced -- hung device.

[Cure]
Get the channel CONI bits as early as possible and store
them away in the TKB. Never clear CI.DON unless it was on when the
CONI was executed.

703 patch: Have TAPINT do the CONI first thing. Just modify T78KON
and TM2KON to use the CONI bits instead of getting their own. This
was mainly for the purpose of an SPR and support call, plus TM03's
and TM78's on the same RH20 is the only config we support right now.

704 patch: Put the CONI for the channel in TAPICD, store the bits
in TAPICD also. Modify only T78KON and TM2KON (for now) to use these
bits. The CONI is essentially the first thing done at interrupt time.
Modify all the driver to set up the destination of the CONI.

[Keywords]
HUNG DEVICE
TAPE

[Related MCOs]
None

[Related SPRs]
36070

[MCO status]
None

[MCO attributes]
KL10 only
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	332	TAPSER	TAPICD,TAPINT
		T78KON	T78ISR,NOATT1,CLRCTL,T78UNI
		TM2KON	TM2ISR,CLRCTL,TM2UNI
		TCXKON	TCXCFG
		TD2KON	TD2UNI
		TMXKON	TMXCFG
		TX1KON	TX1CFG

703A		TAPSER	TAPINT
		T78KON	T78INT,NOATT1,CLRCTL
		TM2KON	TM2INT,CLRCTL
		COMDEV	TKBCII


[End of MCO 13785]

MCO: 13786		Name: KDO		Date: 13-Jan-88:11:58:09


[Symptom]
Startup option "GO/NETWORKS" does not ask for the LAT service name.

[Diagnosis]
No code.

[Cure]
Add code.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	333	SYSINI	NETCH3


[End of MCO 13786]

MCO: 13787		Name: JMF		Date: 14-Jan-88:06:00:36


[Symptom]

1) CORE command reports incorrect results if low segment is locked in core, i.e.

Page number	Page status	Origin

0		EX RD WR	Private page
1-47		EX RD WR	Private pages

2) CORE command doesn't tell about locked pages.

[Diagnosis]

1) It is assumed that page 1 will only have PA.WRT and PA.RED on but it will
also have PA.CPO on if its locked.
2) No code.

[Cure]

1) Do a page accessability on page 0 and ignore PA.CPO for the real truth.
2) Add code. Type LK as an attribute in page status if a page is locked.

[Keywords]
CORE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	333	COMCON	COR5,COR8,PRTACC


[End of MCO 13787]

MCO: 13789		Name: JAD/JMF		Date: 21-Jan-88:09:49:21


[Symptom]
The continuing saga of CREMNS.

[Diagnosis]
In our last episode, the Boy Wonder had fixed what he  thought  was  the
last  bug  in CREMNS, namely, preventing CREMNS from allocating the same
virtual address more than once.  "Golly Gee, Batman", said Robin,  "sure
glad  we've  defeated  that  nasty  CREMNS and restored law and order to
Gotham City!" "Right Robin", said the Caped Crusader, "now let's hop  in
our  Batmobile  and  chase Aunt Harriet around the study;  oops, I mean,
let's go tackle that villian VVIEF".  So the Caped Crusader and the  Boy
Wonder rode off into the sunset, keeping their appointment with a (lower
case) 4-bit lobotomy.

Meanwhile, our guest villian wasn't about to be content with his stay in
the  Gotham  City  pen.  Plotting and scheming, CREMNS found yet ANOTHER
hole in the facade of Gotham City.  Now he was  simply  chasing  through
the  PAGTAB  chain,  without  regard  to  how many pages he was actually
allowed to examine, plugging those pages into the section map.   Zounds!
If  some  other  CPU managed to allocate pages off the PAGTAB chain, our
guest villian COULD manage to get his hands on THOSE pages as well!

"Begorra, Commissioner Gordon, has he no decency?!",  asked  the  Chief.
"Not  in  the  slightest!",  exclaimed  our  bastion  of  law and order.
Reaching for the Batphone, the Commissioner replied "I'd hate  to  think
what recourse we would have if we couldn't rely on the Dynamic Duo.  All
residents of Gotham City can sleep at night, knowing the Caped  Crusader
and the Boy Wonder are ever vigilant."

Back at the mansion, in the middle  of  our  heroes'  Bat-exercise,  the
Batphone   rang!   Imperturbable  Alfred,  the  embodiement  of  Engligh
butler-hood, answered the Batphone and  assured  the  Chief  Batman  and
Robin would soon be at the scene of the crime.  With a quick stop at the
Batroom, the Dynamic Duo jumped in the Batmobile and zoomed away.

"Zowie, Batman, we caught that culprit red-handed!", exclaimed  the  Boy
Wonder.   "Yes, Robin, most villians can't resist returning to the scene
of the crime.  Bat-a-rangs, Robin!" cried the Caped Crusader.

     <"BONK">
     <"OOOFF">

The Caped Crusaders quickly dispatched the villianous CREMNS,  restoring
a normal semblance of order to Gotham City.

Will the villian CREMNS again escape from the Gotham City pen?  Tune  in
again next week, same Bat-time, same Bat-monitor.

[Cure]
Duh da duh da duh da duh da, duh da duh da duh da duh da, Batman!

[Keywords]
CREMNS

[Related MCOs]
13718, 13744, 13767

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Extended addressing only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	334	VMSER	CREMN7


[End of MCO 13789]

MCO: 13790		Name: JAD		Date: 22-Jan-88:08:13:57


[Symptom]
Short on section 0 free core.

[Diagnosis]
CSBORG is too low; it is set to 320K now, with MONORG at 340K.
We need at the most 10K for .CSUB., so we're wasting 10K of space.

[Cure]
Move CSBORG up to 330K.

[Keywords]
FREE CORE

[Related MCOs]
None

[Related SPRs]
54

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	334	COMMON	CSBORG


[End of MCO 13790]

MCO: 13792		Name: JAD		Date: 25-Jan-88:09:33:16


[Symptom]
System initialization takes too long if the system has CI disks; a
goodly amount of time is spent waiting for the CI network to settle.

[Diagnosis]
16 second wait for CI network to settle begins once the date and time
have been entered.  There is no real reason the wait can't begin once
the KLIPAs have been started other than the fact we don't have any way
of knowing how much time has been spent in initialization.

[Cure]
When starting the APR clock on the KL, give it a PI assignment and
let it vector into SYSINI.  SYSINI will keep track of clock ticks and
increment a counter which may be used for timing initialization.  Move
the code which sets up BNDBEG to right after AUTCON has run.

[Keywords]
INITIALIZATION
LONG WAITS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	334	COMMON	.CPTMI
		ONCMOD	ONCBND
		SYSINI	ONCINT,TIMINI


[End of MCO 13792]

MCO: 13793		Name: JJF		Date: 25-Jan-88:21:39:38


[Symptom]
Large buffers remain in effect for ASSIGNed logical devices.

If a job OPENs a channel on an ASSIGNed logical device with UU.LBF lit, then
proceeds to re-open the channel later with the default buffer size, the value
in the size field of the (still-existing) DDB is not reduced.


[Diagnosis]

During an OPEN, DBFSIZ gets the size of the disk buffer from the DEVCHR word of the DDB associated with the assigned logical name, on the assumption that it
is a newly-created DDB and therefore has been pre-set to the default.

However, since the DDB was actually just 'lying around' from its last use 
(which is the case with ASSIGNed device DDBs), it still has the buffer size
value from the previous OPEN.


[Cure]

In the absence of any user directives to the contrary, get the buffer size
from the prototype disk DDB instead of the present scheme.


[Keywords]
ASSIGNed devices
Buffer size

[Related MCOs]
None

[Related SPRs]
36080

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	334	FILUUO	DBFSIZ

703A	


[End of MCO 13793]

MCO: 13794		Name: DPM		Date: 26-Jan-88:08:00:24


[Symptom]
Problems with ONCMOD and the new user-mode long dialogue in general.

[Diagnosis]
The new user-mode code was supposed to make the dialogue simpler and
easier to understand.  In reality, it is just as complex and confusing
as its predecessor.

[Cure]
Rewrite ONCMOD.  The modifications will be described in the 7.04 beware
file.  The TWICE spec will also be updated to reflect the changes.  The
new code (and dialogue) doesn't resemble anything you ever knew before.
Beware.

[Keywords]
ONCMOD

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
Field service attention

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	334	ONCMOD	ALL
		SYSINI	LOTS


[End of MCO 13794]

MCO: 13795		Name: JAD		Date: 29-Jan-88:12:36:52


[Symptom]
Strange errors if free core is returned before FREPTR is set up.

[Diagnosis]
GETWDS has a counterpart which is used during initialization to
simply advance SYSSIZ and not bother with the bit map stuff.  If
someone who called GETWDS in such a case decided to return the
free core they obtained, GIVWDS will lose big.

[Cure]
Test for DINITF and FREPTR set up, and call a different routine
in this case.  For now it simply loses the core, but it probably
could call GFVWDS in VMSER to chain the free core off the section
zero once-only list.

[Keywords]
GETWDS
GIVWDS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	335	CORE1	GIVWDS


[End of MCO 13795]

MCO: 13797		Name: JAD		Date:  1-Feb-88:08:52:42


[Symptom]
"Foreign" disks may get garbage scribbled on them.

[Diagnosis]
An -11 format disk might get spun up.  PULSAR tries to recognize
it, and fails.  When the channel is released, the monitor tries to
update the BAT blocks.  Not a good idea if the disk isn't in a
format with recognizable BAT blocks.

[Cure]
Don't do the BAT scan if UU.DER (disable error retry) is set in
the OPEN/INIT block.

[Keywords]
BAT BLOCKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	335	FILUUO	DSKREL


[End of MCO 13797]

MCO: 13798		Name: DPM		Date:  2-Feb-88:02:31:01


[Symptom]
AUTCON doesn't (53 of n)

[Diagnosis]
1. IPA KDBs have strange names on SMP systems with fewer than 6 CPUs.
   How many could that be?

2. INITIA cannot be forced on a line after startup option "NOINITIA" is
   used.

3. If one or more CPUs in the system are not running at startup, the boot
   CPU may not wait for AUTCON to finish running on the other CPU(s).

4. -20F devices are sometimes ignored instead of being configured.

5. If the CTY logs in and out, OPENing the CTY will sometimes give you
   the wrong TTY DDB.

[Cure]
1. Wrong computation when dividing up the maximum number of devices in the
   system.  6/M.CPU doesn't give nice ascending integers used to generate
   the KDB names.  Set the maximum devices to M.CPU rather than 6.

2. Lots of code moved.  The crock of zeroing the forced command name in
   TTFCOM is a sloppy way of flagging a NOINITIA startup.  For reasons
   only Spider knows, he wants to be able to determine how the system was
   started.  Therefore, store the sixbit startup option name and teach
   SCNSER to look at it rather than TTFCOM.  Define %CNOPT (211,,11) to
   keep Spider happy and aggravate the documentation group.

3. SYSINI doesn't give the other CPUs enough time to start running AUTCON.
   Spin our wheels 262143 times through a SOJG loop before we
   begin checking each CPU's AUTCON interlock word.

4. We loose track of FE devices whenever AUTCON cannot get the DDB interlock.
   Since AUTCON will try to get it on about 80% of all the calls, modify the
   AUTCON interlock slightly.  The AUTCON interlock will not be granted unless
   the DDB interlock is free.  This scheme works because AUTCON runs only at
   UUO or clock level.  If at UUO level, this isn't a problem cuz the caller
   can block.  At clock level, the autoconfiguring code in the drivers can
   easily requeue the operation for later.   Create new CDB location .CP20D
   for DTESER and friends to keep track of the deferred autoconfigure requests.

5. When AUTCON is called to create a DDB, it makes a GENTAB entry for that
   DDB if necessary.  This assumes that the DDBs are not recycled out of a
   pool.  Therefore, to accomodate SCNSER, if called without a device name,
   do not make GENTAB entries.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	335	AUTCON	AUTLOK,GENADD
		COMMON	STOPTN,.CP20D
		KLPSER	DRVCHR
		KNISER	DRVCHR
		SCNSER	SCNCF1,SCNINI,TTYINI
		SYSINI	STACN1,STRTU3,STRTU4,.NOINI
		UUOSYM	%CNOPT


[End of MCO 13798]

MCO: 13799		Name: KDO		Date:  2-Feb-88:06:27:13


[Symptom]
LATSER should't run INITIA for LAT application terminals: let LPTSPL do it.

[Diagnosis]
Don't call TTFGRT for reverse LAT connections.

[Cure]
Easy.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	335	LATSER	GETTDB


[End of MCO 13799]

MCO: 13800		Name: DPM		Date:  2-Feb-88:07:45:55


[Symptom]
Time to finish up ONCMOD.

[Diagnosis]

[Cure]
Fill out missing functionality.  Briefly, you can now do the following:

Startup options:
CHANGE		Change system parameters
		Keywords are:	ASL, DATE, NETWORKS, SDL, SETS, SSL,
				STRUCTURES, UNITS
DEFINE		Define structures and system lists
		Keywords are:	ASL, SDL, SSL, STRUCTURES
DESTROY		Dissolve all structures in the system
DISSOLVE	Dissolve a single structure
EXIT		Return to monitor level
		(user-mode only)
GO		Start timesharing
		(exec-mode only)
NOINITIA	Start timesharing without system initialization
		(exec-mode only)
REFRESH		Refresh selected structures
SHOW		Display system parameters
		Keywords are:	ASL, DATE, NETWORKS, SDL, SETS, SSL,
				STRUCTURES, UNITS

Switches are:
NOASL		Don't use preserved active swapping list
NOCOPY		Don't start CRSCPY
NOPRIMARY	Start timesharing in secondary protocol
		(KL10 only)
NOSDL		Don't use preserved system dump list
NOSSL		Don't use preserved system search list
NOVALIDATE	Don't require account validation
STANDALONE	Start timesharing with SCHED 10 set


*** Note ***
Startup option QUICK is gone.  There has been no difference between GO
and QUICK for several monitor releases.  An informal survey showed most
people type GO rather than QUICK.

Currently, user-mode has no switches.

/ASK is gone.  It hasn't worked for several monitor releases.

/DATE is superseded by CHANGE DATE.

/OFFLINE is meaningless in autoconfiguring monitors.

/NETWORKS is superseded by CHANGE NETWORKS

/NOERROR is gone.  I Doubt anyone wants to initialize disks and not care
about errors in that process.

/SETS is superseded by CHANGE SETS.

ONCMOD will no longer ask about offline or down disks or controllers.
These concepts are meaningless in autoconfiguring monitors.

Position in the ASL is meaningless since the multi-threaded swapper
was written several years ago.  Therefore, if a unit is destined for
the ASL, ONCMOD will assign positions rather than relying on the HOME
block data.

Position in the SDL is meaningless.  Therefore, if a structure is destined
for the SDL, ONCMOD will assign positions rather than relying on the HOME
block data.

The option to rewrite HOME blocks has been removed.  Only under very arcane
circumstances was it possible to successfully run a monitor without rewriting
some or all HOME blocks.  Besides, the old value of "ALL" really didn't mean
all units.  It meant all units the monitor marked to be changed.

The value "ALL" in response to structure and unit questions has been removed
except for SHOW class commands.  User-mode will still accept "ALL" for read
and write units.

DESTROY will no longer conjure up disgusting things like structures containing
16 RP06s.  Instead it will initialize all the HOME blocks on all the disks
and leave the structure definitions up to your imagination.

[Keywords]
ONCMOD

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
Field service attention

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	335	COMCON
		ONCMOD
		REFSTR
		SYSINI
		USRONC


[End of MCO 13800]

MCO: 13803		Name: JAD		Date:  3-Feb-88:11:45:50


[Symptom]
LOCATE command causes EUE stopcode if FTNET is off.

[Diagnosis]
Misaligned stack.

[Cure]
Move a PUSH outside of the FTNET conditionals.

[Keywords]
LOCATE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	COMCON	CLOCAT


[End of MCO 13803]

MCO: 13804		Name: JAD		Date:  4-Feb-88:08:46:13


[Symptom]
Possible DHC stopcode, probable memory management confusion.

[Diagnosis]
At GETH1 in SEGCON, if the call to CHKHSA takes the error return,
GETH1 will exit through CAFREE.  Trouble is, CAWAIT was never called,
so the CA can be freed from under some other job.  If that other job
happens to be in SEGCON doing a GETSEG, it can eventually stopcode
DHC at STONAM because that job no longer has the CA resource.

[Cure]
Don't call CAFREE at GETH1.

[Keywords]
DHC

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	SEGCON	GETH1


[End of MCO 13804]

MCO: 13809		Name: JAD		Date:  8-Feb-88:15:43:05


[Symptom]
Lost dumps if system reloads after being up less than 5 minutes.

[Diagnosis]
MONBTS notices ARFLAG hasn't expired and decides to prevent an auto
reload.  That's fine, but preventing an auto dump of a crash isn't a
real good idea, since at that point you're depending on the operator
to remember to type /D before typing a new monitor name.

[Cure]
If ARFLAG hasn't expired, dummy up a "/D<cr>" in BOOTXT and let
BOOT prompt AFTER it has taken the dump.

[Keywords]
RELOADS
DUMPS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	MONBTS	RLDMON


[End of MCO 13809]

MCO: 13810		Name: JMF		Date:  9-Feb-88:06:48:39


[Symptom]
Underserved ?illegal address in UUO on a MERGE. UUO when the LOOKUP
fails.

[Diagnosis]
MERBAD puts the flags (GTMRG) in P1 but SGRELE expects them to be
in SGAEND.

[Cure]
MOVEM P1,.JDAT+SGAEND

[Keywords]

[Related MCOs]
None

[Related QARs]
None

[MCO status]
None

[MCO attributes]
New development MCO
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	COMCON	MERBAD


[End of MCO 13810]

MCO: 13813		Name: JAD		Date:  9-Feb-88:08:10:51


[Symptom]
Logging in with a "moronically small" core limit prevents the job
from being able to log out.

[Diagnosis]
Code in UUOCON which zapped the job's core limit when LOGOUT is run
doesn't do the same thing for LOGIN (LOGOUT in drag).

[Cure]
Test for both LGINAM and LGONAM when clearing .PDCVL.

[Keywords]
CORE LIMITS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	COMCON	URUN4


[End of MCO 13813]

MCO: 13814		Name: DPM		Date: 12-Feb-88:04:55:29


[Symptom]
Stopcode CIB, others possible after autoconfiguring a CPU with one or
more DX20s.

[Diagnosis]
DX20s take quite a while to load.  The rest of the system is usually
unwilling to wait that long.

[Cure]
Trim down the process some.  Don't clear the DX20.  Since the entire CRAM
is always loaded, this proceedure does nothing useful.  Also, omit the
CRAM verify process.  This was done (in 7.03) to speed up DX10 loading
with no ill effects.

Clearing and verifying the CRAM were holdovers from the old BOOTDX program.

[Keywords]
DX20

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	COMDEV	DXCLR,VERIFY


[End of MCO 13814]

MCO: 13817		Name: DPM		Date: 12-Feb-88:08:57:20


[Symptom]
Typing bad arguments to a RUN command immediately followed by another
command which does an auto-save & run, may cause the second command to
fail with "?No such device" errors.

[Diagnosis]
Parts of the save/get command parsing can exit on errors without clearing
JS.ASA.  CTXSER points user AC 0 at a real RUN UUO argument block starting
at .JBDA.  If JS.ASA is turned on, the contents of user AC 0 will be fetched
from the shadow ACs rather than AC block 1.

[Cure]
Try to find all the error exits from save/get argument parsing and make
sure CLRASA gets called before returning to COMCON proper.

[Keywords]
CONTEXTS

[Related MCOs]
11102

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	COMCON	SGSET6,SGSE6A,SGSE6B,SGSET7


[End of MCO 13817]

MCO: 13818		Name: JMF/DPM		Date: 12-Feb-88:09:01:26


[Symptom]
Stopcode KAF trying to resume a suspended system.

[Diagnosis]
When the CPUs are restarted, RP20 kontrollers (among others) have their
microcode reloaded.  DXLOAD and subsequent subroutines expect W to contain
a KDB address.  FILSER has it in J.

[Cure]
Load up AC W with the contents of J before calling DXLOAD.

[Keywords]
RP20

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	RNXKON	RNXRLD


[End of MCO 13818]

MCO: 13823		Name: RCB		Date: 16-Feb-88:02:48:44


[Symptom]
Still can't autoconfigure DTEs.

[Diagnosis]
Not enough code.

[Cure]
Add the code.

For the curious:

The 'master' FE (CFE) is special.  We already know about it, so we set it up
for RSX20F.  Any other DTE we treat (at first) like an MCB.  It is up to the
-11 to tell us if it's anything other than an MCB.  It does so by acting like
an MCB just enough to get us talking (exchange of 'light INIT+ring doorbell').
However, before it rings our doorbell in response, it changes some data in its
owned region header and in its to-10 area.  It zeros the protocol type and
comm. region version, and sticks a line-user index (DD.ANF or DD.IBM) in the
protocol version number field.  The ten notices this upon receipt of the
doorbell in the QPRV2 handshaking, and tries starting primary protocol again.
The next time, howver, it uses the line-user type it got from the -11.  The FE
likes this much better, and really goes through with it this time.

[Keywords]
Autoconfigure
DTE
DN87S
DN60S

[Related MCOs]
13465

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Beware file entry required
New development MCO
Documentation change

[BEWARE text]
If you have any DTE-based ANF-10 or DN60 front-ends, you will need to rebuild
them with this tape, before running them with this monitor.

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	336	DTEPRM
		DTESER	LOTS,BUT,MOSTLY,IN,STXPPC
		D8SINT	D8SUSR
		D6SINT	D6SUSR
		DNDTE	P11
		XDTE10	P11


[End of MCO 13823]

MCO: 13826		Name: JAD		Date: 18-Feb-88:10:47:27


[Symptom]
Can't ADD/REMOVE disk controllers/units via DIAG. UUO.

[Diagnosis]
The "Set Device Status" subfuction of DIAG. doesn't make it for
disk drives.  The code is getting confused over what arguments
are in which ACs.

[Cure]
Replace the code in FILIO with the code from TAPUUO with a few
minor mods to make it work for disks.

[Keywords]
ATTACH
DETACH

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	337	FILIO	DIASDS


[End of MCO 13826]

MCO: 13827		Name: DPM		Date: 19-Feb-88:04:00:18


[Symptom]
Stopcode WTP using the ATTACH command to add a CPU.

[Diagnosis]
WTP caused by calling SLEEP without a UUO level stack.  Programmer
assumed the command entry point was reached after a SAVCTX call.

[Cure]
Call SAVCTX before jumping into the UUO level code.

[Keywords]
ATTACH CPU

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	337	CPNSER	CPUATT


[End of MCO 13827]

MCO: 13830		Name: LWS		Date: 21-Feb-88:13:52:23


[Symptom]
1. Monitor not always detecting density of a TU78 on 1st record
   read from BOT. This really makes PULSAR's job tough!

2. TUBREC off by one (on the high side).

[Diagnosis]
1. When an error occurs reading the 1st record of a tape, a sense
   is done and INTRD is not entered until after the sense is complete.
   However, INTRD assumes that if a sense has already been done, then it
   doesn't have to start one if at 1st record out of BOT to determine the
   density -- cause it's already been done. Wrong! The tangled web woven before
   getting to INTRD in this case doesn't check the tape's density.

2. Starting a sense at 1st record out of BOT when no errors on the read causes
   CHEKIT to increment TUBREC twice when there was only one read done.

[Cure]
1. Have INTRD check the density of a tape (when it's supposed to)
   and set it in the IORB.

2. When INTRD starts a sense (1st record and no errors), lite RB.SNM
   in the IORB so CHEKIT doesn't bump the record count.

[Keywords]
DENSITY

[Related MCOs]
13771

[Related QARs]
None

[MCO status]
None

[MCO attributes]
PCO required
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	337	T78KON	ATTEN5,INTRD

703A	


[End of MCO 13830]

MCO: 13832		Name: RCB		Date: 23-Feb-88:04:20:23


[Symptom]
No support for 8-bit terminals on RSX20F lines.

[Diagnosis]
No code for Andy's new RSX20F.

[Cure]
Add code.  Old CFEs will still be flagged as 7-bit only, but new ones
will be noted as 8-bit capable.  FE reloads will reinitialize this flag.

This adds a new CDB word, .CPSPF (Secondary Protocol Flags), to make it easier
to test the RSX20F features mask.

[Keywords]
RSX20F
8-bit ASCII

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	337	DTESER
		DTEPRM
		COMMON
		COMDEV
		TTDINT
		SCNSER
		PTYSER
		APRSER


[End of MCO 13832]

MCO: 13836		Name: DPM		Date: 23-Feb-88:07:29:32


[Symptom]
AUTCON doesn't (54 of n)

[Diagnosis]
Yes

[Cure]
1. DIAG. UUO to attach and detach devices only beleives in octal unit
   numbers.  Fix DIAG. dispatch to look at the kontroller's table and
   test the "decimal unit numbers" bit.

2. Same DIAG. UUO function cannot handle KLIPAs and KLNIs.  Non-standard
   (two character) KDB names are used.  Change CIn to KLPn and NIn to KNIn.

3. Attaching or detaching a single drive does the requested one and the
   next one too.  Off-by-one in the loop counter.

4. Autoconfiguring magtape channels do not cause detached drives to become
   attached.  The drivers try to be clever and bypass critical code.  Said
   code makes detached drives usable again.

5. AUTUDB cannot be called to fixup a UDB for an existing magtape if both
   ports are configured without causing an IME.  When checking the port
   words of the UDB to find a free slot, the storage address isn't set up.
   Sixbit drive names don't often work as addresses.

6. Can't test multi-kontroller tape code on the KS10 (hardware's been
   broken for months).  Tired of patching this one out.  When the hardware
   works, it's a simple change to turn on the code and see if we can make
   the code work.

7. SA10 tapes don't have a chance of working.  Lots of unfinished code.  Add
   some.  It still needs a little work, but it's much closer now.  Also put
   the sense byte definitions in DEVPRM so TX1KON and TD2KON can use them
   (someday).

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	337	AUTCON
		DEVPRM
		KLPSER
		KNISER
		TAPSER
		TAPUUO
		T78KON
		TD2KON
		TM2KON
		TS1KON
		TX1KON
		UUOCON


[End of MCO 13836]

MCO: 13840		Name: JAD		Date: 25-Feb-88:15:00:41


[Symptom]
GETTAB "item" tables with only 1 item don't make it.  The monitor
insists on returning a zero (and taking the skip return) when a
caller asks for the only item in such a table.  This kind makes
the caller think they really got something.  Not really.

[Diagnosis]
Using a maximum index is fine as long you're guaranteed to have
more than 1 entry in a table.  However, if a customer adds ONE
(and only one) command via MONGEN, HELP will loop forever as
it tries to read the range information for that table.

[Cure]
Add a little smarts to the code which determines if the
maximum requested is zero because of a non-existant table.
In the case of "configurable" GETTAB tables (ANF, DECnet)
equate the table address to "NULGTB" so the GETTAB UUO can
differentiate between a non-existant table and a table with
only 1 entry.

[Keywords]
GETTABS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Beware file entry required
New development MCO

[BEWARE text]
Any GETTAB tables defined by the customer which conditionally
exist based on MONGEN parameters should be equated to the symbol
"NULGTB" if the table is not included to ensure the GETTAB UUO
can function properly with tables which have only a single entry.

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	340	COMDEV	ANF,DECNET
		UUOCON	GETTAB


[End of MCO 13840]

MCO: 13842		Name: LWS		Date: 29-Feb-88:08:24:47


[Symptom]
1. After system startup, attention interrupts aren't enabled for some massbuss
tape controllers. (sometimes no PI channel assignment too, depending on what
controllers are on the massbus).

2. KAF stopcodes observed when putting a tape online.

[Diagnosis]
1. During autoconfiguring, if we set up things for a tape controller
on a massbus and then call RDDTR to sniff on something else on the same massbus,
whatever state the channel was left in previously is blown away because
RDDTR just leaves the massbus enabled. If the tape driver doesn't do anything
later to reenable the channel for interrupts, it doesn't get done until
we start I/O.

2. MCO 13785 added code to do a CONI at interrupt time and stick the bits
in the KDBCSO block. This word had to be initialized at -1 due to the wonders
of AUTCON. If there's multiple KDBs and the controllers are on the same
massbus, during an attention interrupt W is not guaranteed to reflect
the proper KDB - hence the CONI bits may still be -1 for that KDB. TM2KON
and T78KON check this word for CO.CCD. Thinking "done" was lit on an
attention interrupt is not always the best thing to do.

[Cure]
1.TM2KON already enables the channel for interrupts at once a second
time in TM2ONL. However, T78KON never did. Make T78KON do it too.

2. Zero the TAPCII word in the KDBCSO block after we build the KDB.

[Keywords]
TAPES

[Related MCOs]
13785

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	340	T78KON	T78UNI,T78UN2,T78ON2
		TM2KON	TM2UNI
		TX1KON	TX1CFG
		TCXKON	TCXCFG
		TMXKON	TMXCFG
		TD2KON	TD2UNI


[End of MCO 13842]

MCO: 13847		Name: DPM		Date:  3-Mar-88:02:53:11


[Symptom]
Some stopcodes claim to be continuable but aren't.  Some stopcodes produce
dumps which contain no useful information.

[Diagnosis]
1. EUEs try to continue but rarely do.  The reason is it's a DEBUG rather
   than a JOB stopcode.  The monitor usually crashes when the victim of an
   EUE trys to do something else with his job.

2. FON, FOP, and PFL stopcodes rarely continue.  Since they are JOB stopcodes
   ERRCON blows away funny space in an attempt to eliminate the source of the
   memory manager errors.  However, 99 and 44/100 percent of the time, the
   errors occur while managing NZS (monitor) core.

3. CTX, KSW, and USW stopcodes dump, never contain useful information, and
   correct the problem which was detected, allowing the monitor to continue
   with no further interruptions.

[Cure]
1. Change EUEs from DEBUG to JOB stopcodes.

2. Change FON, FOP, and PFL from JOB to STOP stopcodes.

3. Change CTX, KSW, and USW from DEBUG to INFO stopcodes.

[Keywords]
STOPCODES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	341	CTXSER	CTXSTP
		ERRCON	EMUERR
		TAPSER	TAPSI1,TAPSI2
		VMSER	GVFWD4,GVFWD7,GVFWD9


[End of MCO 13847]

MCO: 13848		Name: JAD		Date:  3-Mar-88:10:19:18


[Symptom]
IME stopcode after a job is halted due a parity/NXM error.

[Diagnosis]
If the job happens to have had active disk I/O, there is a good
chance a DDB owned by the job is in one of the unit/channel queues.
When a disk interrupt occurs and FILIO tries to access the DDB, it
dies with an IME because funny space for the owning job has been
nuked.

[Cure]
Invent a routine "ZAPDSK" which is called from ZAPUSR and DEVHNG,
which will remove any DDBs owned by the dieing job from any queue
it may happen to be in (unit/channel/cross-CPU).

[Keywords]
IME

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	341	ERRCON	ZAPUSR,DEVHNG
		FILIO	ZAPDSK


[End of MCO 13848]

MCO: 13849		Name: DPM		Date:  4-Mar-88:05:47:06


[Symptom]
Stopcode IME when refreshing a disk that has bad spot(s) in
the HOM blocks.

[Diagnosis]
Stack out of phase when jumping to error message routine.

[Cure]
POP P,(P)

[Keywords]
REFRESH

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	341	REFSTR	NOBLK


[End of MCO 13849]

MCO: 13850		Name: DPM/JAD		Date:  4-Mar-88:08:56:58


[Symptom]
APR interrupt definitions are a mess.  Lots of needless symbols are
defined under the assumption that different CPUs can have the APR on
different PI channels.  Also, there must have been some notion that
CPUs of different types might someday exist in the same configuration
because CONI/CONO bits are defined on a per-CPU basis.

[Diagnosis]
Different PI channels probably hasn't worked since mid-5 series monitors.

[Cure]
Clean up:  .CPAPI, .CPSPR, .CPCPR, .CPNAP, .CPCCF, .CPHCT, .CPNXM, and
 .CPMPE all go away in favor of immediate references to APRxxx equivalents
defined in COMMON.  The contents of .CPAPP has changed to be the APR channel
push down list pointer for this CPU.   This paves the way for moving the
APnINT and TMnINT code into APRSER.

[Keywords]
APR

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	341	APRSER
		CLOCK1
		COMMON
		S
		SYSINI
		UUOCON


[End of MCO 13850]

MCO: 13851		Name: JAD		Date:  4-Mar-88:12:05:15


[Symptom]
Various and diffuse.

[Diagnosis]
Rescheduling onto a CPU at clock level doesn't quite make it.

[Cure]
Have ONCPUN test for UUOLVL and stopcode if not.  New stopcode
"ONCPUI", ONCPUx called at interrupt level.

[Keywords]
ONCPUS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	341	CPNSER	ONCPUN


[End of MCO 13851]

MCO: 13852		Name: LWS		Date:  7-Mar-88:18:02:58


[Symptom]
1. More hung device errors with 2 tape controllers on the
same massbus. This time 2 TM78s.

2. Autoconfiguring a TU78 seems to work, but T78ONL gives a double
skip return when only a skip return is expected. Maybe only causes
problems when a "new" drive appears after startup.

3. CONI bits in KDB of controller causing attention interrupt aren't
always correct.


[Diagnosis]
1. Changing the massbus interrupt vector when "done" is
still pending from a previous transfer.

2. That's what I get for code reading.

3. KDB pointed to by W interrupt time is not always the KDB of the
controller causing the attention interrupt -- oops.

[Cure]
1. Only set the RH20 interrupt address on commands that will
cause a "done" interrupt.

2. JRST CPOPJ1 -> POPJ P,

3. Make sure interrupt CONI bits are put in KDB of controller
causing the attention interrupt.

[Keywords]
HUNG DEVICE
RH20

[Related MCOs]
13785

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	341	TAPSER	TAPINT
		T78KON	T78SIO,T78RES
		TM2KON	TM2SIO,TM2RES

703A	


[End of MCO 13852]

MCO: 13854		Name: RJF		Date:  8-Mar-88:11:14:28


[Symptom]
DIEBAD STOPCDs

[Diagnosis]
A job can logout on a non-policy cpu while a command is
being processed on the policy cpu.  JOBKL and TTYKIL smash the LDB
and DDB/LDB links while the command is using them.

[Cure]
Make JOBKL run on the policy cpu (ONCPU0).

[Keywords]
DIEBAD
TTKJOB
JOBKL
LOGOUT

[Related MCOs]
13720

[Related SPRs]
36018, 36105, 36083

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	COMCON	JOBKL

703A		COMCON	JOBKL


[End of MCO 13854]

MCO: 13856		Name: JAD		Date: 10-Mar-88:19:35:21


[Symptom]
Inconsistent and non-reproducible run times for compute-bound jobs on
a KL system with heavy disk I/O.

[Diagnosis]
A long time ago STEUB/MKADD were taught to light the "inhibit update
of accounting meters" flag when changing the UBR.  This was done to fix
some problems with the LOCK UUO which occurred when the UPT was moved
and locked (the old UPT page would get junk written from the accounting
meters when the new UPT was set up).

Unfortunately, this caused the loss of up to one-half of a full count
worth of accounting data (the microcode/hardware updates the counts in
the UPT when the counters are half full) for a job which happens to be
running when a disk interrupt is taken, since when FILSER processes the
interrupt it makes the corresponding job addressable.  (Gee, I'm getting
kinda of long winded like Kimo - must be the chemistry class.)  The net
result is variations in the amount of time charged to the compute job.

[Cure]
Don't light the "inhibit update" flag in STEUB.  Instead, have LOKCON
do the DATAO PAG, by hand (it almost does everything else), setting the
"inhibit update" flag there.

[Keywords]
ACCOUNTING
RUN TIMES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	APRSER	STEUB
		LOKCON	LOCK17,LOCK36


[End of MCO 13856]

MCO: 13858		Name: JAD		Date: 11-Mar-88:10:31:36


[Symptom]
DOC stopcode possible after hung disk.

[Diagnosis]
GIVRSC calls RETRES to return any FILSER resources the job owned.
RETRES checks if the job owned the CB, and calls GVCBJ if so.  BUT,
GVCBJ also checks if .CPJOB owned the CB, and stopcodes DOC if not.
Since HNGDSK can call HNGSTP at clock level, .CPJOB won't bear any
resemblance to the job in J.  Stopcode DOC.

[Cure]
Have RETRES call CBFREE directly rather than calling GVCBJ.  Add
the test for DINITF in RETRES like in GVCBJ.

[Keywords]
DOC STOPCODE
GVCBJ

[Related MCOs]
None

[Related QARs]
92

[MCO status]
None

[MCO attributes]
New development MCO
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	FILIO	RETRES


[End of MCO 13858]

MCO: 13859		Name: JAD		Date: 11-Mar-88:13:23:26


[Symptom]
?<garbage>P of core needed trying to GET a sharable program.

[Diagnosis]
Errors eventually branch to SHRERR, with the amount of core needed
in T1.  SHRERR immediately calls LOWSPC to clear user mode in the
return PC.  Guess which AC LOWSPC uses when testing for SEGOP.?
Yep.

[Cure]
PUSH T1 before calling LOWSPC.

[Keywords]
N P OF CORE NEEDED

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	SEGCON	SHRERR


[End of MCO 13859]

MCO: 13864		Name: JAD		Date: 14-Mar-88:12:16:16


[Symptom]
Excessive overhead on CI/NI packet manipulation.

[Diagnosis]
Calls to physical MOVE/MOVEM routines in DATMAN which do the
PMOVE/PMOVEM instructions add lots of extra instruction to each
physical memory reference.

[Cure]
Replace the calls with the PMOVE/PMOVEM instructions.

[Keywords]
PHYSICAL MOVE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Beware file entry required
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	KLPSER	LOTS
		KNISER	MORE


[End of MCO 13864]

MCO: 13865		Name: DPM/JAD/JEG		Date: 15-Mar-88:04:13:04


[Symptom]
SA10 disks and tapes don't.

[Diagnosis]
Yes

[Cure]
Now tapes do, probably disks too.  A couple of doc changes:
1. New device type code
		.TYSAX==40 	;SA10 CHANNEL
2. New magtape kontroller channel type
		.TFKSX==17	;SA10 IBM CHANNEL MAGTAPES
3. New disk kontroller channel type
		.DCCSX==17	;SA10 FOR IBM DISKS (3330, ETC.)
4. New disk unit types
		.DCUS0==0	;3330	(DC.CNT=17)
		.DCUS1==1	;3331	(DC.CNT=17)

[Keywords]
SA10

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	COMDEV
		COMMON
		DSXKON
		FILIO
		S
		SAXPRM
		SAXSER
		TD2KON
		TS1KON
		TAPSER
		TAPUUO
		UUOSYM


[End of MCO 13865]

MCO: 13866		Name: DPM		Date: 15-Mar-88:05:43:18


[Symptom]
APR and timer interrupt code is still a mess.

[Diagnosis]
COMMON.MAC

[Cure]
Move it to APRSER.  This nearly eliminates all CPU-specific code
and macro expansions for these interrupts.

New CDB locations:
	.CPPFD		;THREE WORDS OF SCRATCH PAD STORAGE FOR
			; POWER FAIL RESTART
	.CPKAF		;KEEP-ALIVE FAILURE TRAP ADDRESS
	.CPSVP		;SAVED AC 'P' ON KAFS
	.CPKFP		;ONE-WORD KAF PDL

Stopcode changes:
1. ADn, CDn, SBn (where n=CPU number) have been moved from COMMON to
   APRSER and have been replaced by APE, CDE, and SBE respectively.

2. DTEIOP, KAF, and IOP moved from COMMON to APRSER.

[Keywords]
APR INTERRUPTS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	APRSER
		COMMON
		CPNSER
		MOSSER
		SYSINI


[End of MCO 13866]

MCO: 13867		Name: RCB		Date: 15-Mar-88:06:06:06


[Symptom]
MCO 13214 got lost.

[Diagnosis]
Not really, but let's recover.

[Cure]
The change was to extend the QUEUE UUO header by yet another word,
 .QUPID==4.  This word, if present (i.e., if QF.HLN contains at least 5),
will contain the PID which is to receive the message from [SYSTEM]GOPHER.
This is for debugging programs which have system PIDs (such as ACTDAE).
If the word is present but it contains a zero, we will use the PID implied
by the function code, just as we would have done had .QUPID not been given.

[Keywords]
QUEUE UUO
Debugging

[Related MCOs]
13214

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	UUOSYM	.QUPID


[End of MCO 13867]

MCO: 13868		Name: RCB		Date: 15-Mar-88:07:12:09


[Symptom]
STOPCD DTEBDN (Bad DTE Number) reloading a DN60 FE with something
other than DN60 code.

[Diagnosis]
DN60s abuse the LH of FEKUNI (CPU number) in ways that no other FE
driver expects.

[Cure]
Clean up FEKUNI when changing FE drivers for a DTE.

[Keywords]
Autoconfigure DTE

[Related MCOs]
None

[Related QARs]
61

[MCO status]
Checked

[MCO attributes]
New development MCO
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	DTESER	DFKSE1


[End of MCO 13868]

MCO: 13869		Name: DPM		Date: 16-Mar-88:03:17:24


[Symptom]
TAPUUO's table of maximum allowable block sizes on a transfer skews
whenever a new driver is added.

[Diagnosis]
No real need for a table.  The driver knows how much it can handle.

[Cure]
Remove BSZTBL and fetch the limit from the driver.

[Keywords]
MAGTAPE BLOCK SIZE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	TAPUUO	TAPSBS
		T78KON	TPK
		TCXKON	TPK
		TD2KON	TPK
		TM2KON	TPK
		TMXKON	TPK
		TS1KON	TPK
		TX1KON	TPK


[End of MCO 13869]

MCO: 13870		Name: DPM		Date: 16-Mar-88:02:14:06


[Symptom]
Offline dual ported disk drives don't get linked up to their alternate ports.

[Diagnosis]
The offline drive tests preceed the drive serial number checks.  If a drive
is offline, no serial number checking is done.

[Cure]
Move the test for offline line drives 'til after the primary/secondary port
linkups are done.

[Keywords]
DUAL PORTED DISKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	342	ONCMOD	TRYUN1


[End of MCO 13870]

MCO: 13871		Name: JAD		Date: 16-Mar-88:15:36:57


[Symptom]
Missing functionality in the new TWICE system.

[Diagnosis]
The old TWICE had a feature whereby a novice operator could "learn"
how to use TWICE by using a scratch file rather than a real disk.
The scratch file feature provided a "safe" way to play with the
TWICE program without any chance of possible file system damage.
USRONC has no such capability.

[Cure]
Add the feature to the new TWICE as well.  Only major changes
to the existing dialogue are:

	1) When first invoked, the user is asked if they want to
	   use a scratch file.  Default is "NO" for jobs logged
	   in under [1,2], "YES" for others.  TWICE will still
	   exit if run by a non-[1,2] job if the user tries to
	   get by with a "NO" response.

	2) When TWICE first touches the disk (scratch file), it
	   will print a message of the form:
		[Creating scratch file TWICE.BIN]
	   If the file is not accessible an error will result.

[Keywords]
TWICE
SCRATCH FILE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	343	USRONC	LOTS


[End of MCO 13871]

MCO: 13874		Name: JAD		Date: 18-Mar-88:09:01:32


[Symptom]
System may fail undeservedly if a CPU dies in the middle of parity
error processing.

[Diagnosis]
 .USPFN gets diddled around in several places during parity error
processing logic.  If the null job happens to be running on that CPU,
 .USPFN may be left in, shall we say, a less than ideal state.  This
can lead to problems when new UPTs are created from the null job's,
or if some other CPU happens to be running the null job and gets a
page fault.  (Not particularly common, but may happen.)

[Cure]
Invent a new CDB location which contains the address of the pre-emptive
fault handler.  Insert a test in SEILM and branch to the pre-emptive
fault handler if it is set up.  Never diddle .USPFN of anyone's UPT.

[Keywords]
PARITY ERRORS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	343	APRSER	PRTRAP
		COMMON	.CPPFT


[End of MCO 13874]

MCO: 13875		Name: JAD		Date: 18-Mar-88:12:56:42


[Symptom]
Missing documentation of use of words in the HOMe block by KLDCP and
RSX-20F.

[Diagnosis]
Its probably somewhere, I can't find it though.

[Cure]
Add the info (about two dozen lines) in COMMOD following the HOMe BLOCK
definitions.

[Keywords]
HOME BLOCKX

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	343	COMMOD	HOMBUF


[End of MCO 13875]

MCO: 13877		Name: DPM		Date: 22-Mar-88:05:44:08


[Symptom]
Debugging an SMP problem can be difficult if all the necessary CPUs are
not running.  ASKCPU will not wait for you to start CPUs when EDDT is loaded.

[Diagnosis]
Historical.

[Cure]
Remove the checks for DEBUGF so ASKCPU asks all the time.  For those who
really need all CPUs running, this is a godsend.  For those who don't care,
then typing a CRLF in response to the "not running" question is preferable
to typing a DETACH command when the system comes up.

[Keywords]
DEBUG

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	343	SYSINI	ASKCPU


[End of MCO 13877]

MCO: 13879		Name: JAD		Date: 23-Mar-88:07:50:17


[Symptom]
Potential for system failure following non-recoverable parity errors
involving high segments.  BAC, IME, KAF, etc., all likely.

[Diagnosis]
If a parity error occurs in a high segment, and the high segment has
not been modified AND exists on the swapper, the monitor will simply
force all users of that segment to get a new copy from the swapper.
An attempt is made to reschedule the job which was running when the
parity trap/interrupt occurred.  Unfortunately, the call to WSCHED
does an XSFM, wiping out the "user mode" flag in the PC flags word.
This will cause the user job to resume in exec mode somewhere in the
monitor (at the user PC where the parity trap/interrupt occurred).
Things kinda go downhill from there.

[Cure]
Don't call WSCHED to reschedule.  Save the page fault flags and
PC in .CPPC and call CLKSPD.

[Keywords]
PARITY ERRORS

[Related MCOs]
None

[Related SPRs]
36103

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	344	APRSER	PRHMF

703A		KLSER	PRHMF


[End of MCO 13879]

MCO: 13881		Name: JAD		Date: 24-Mar-88:13:52:59


[Symptom]
Two words in physical page 773 get trashed.  Depending on the system
configuration, this may wind up being two words in some SAB.  After
a long while someone notices the SAT on disk has free clusters and
is looking REEEALLL spooky!  Who ya gonna call?  SABbusters!

[Diagnosis]
Assembled into the null job's UPT in COMMON is a 1:1 mapping for
funny space (pages 740-777) so we can stuff initialization code there.
Seems reasonable, eh?  Trouble is, there are several reserved EXEC
virtual addresses at the end of that range (770-777).  One of these
just happens to be .JDAT (job data area mapping).  If someone just
happened to call SRWAIT during initialization, which stores ACs 16
and 17 into the dump ACs in .JDAT (locations 36 and 37), well, gee,
I guess that would trash two words in the physical page corresponding
to the .JDAT mapping (page 773).  What's that?  You said someone DOES
call SRWAIT during initialization?  Well, golllleee.

        \ | | /
        ------- /
       (       ) 
        ------- \
        / | | \

A BUG!   STOMP ON IT!!!

[Cure]
Stop the assembled-in map at 770 so there will be no mapping set
up for those reserved EXEC virtual addresses.  Manually set up a
mapping for .JDAT for the null job in SYSINI (like is already done
for .UPMP and etc.).  We don't really CARE if locations 36 and 37
in the null job's UPT/page map get stomped.  Of course, it just
happens that DOORBL winds up in page 37, so I guess we do!  Move
the code which sets up the mapping for DOORBL to the end of SYSINI
so the mapping will be sancrosact.

[Keywords]
WORD SPRAY

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	344	COMMON	NULPMP
		SYSINI	SYSIN2,NODDT

704	342	SYSINI	SYSIN2,NODDT


[End of MCO 13881]

MCO: 13883		Name: DPM		Date: 25-Mar-88:04:49:42


[Symptom]
Linking new disk drives onto the SYSUNI chain is needlessly complex.

[Diagnosis]
Under timesharing, the DSKDRV routine goes to great pains to find the
proper place in which to insert a new unit in the chain.  This is done
to make the chain look as if it had been built at system initialization.
Routines already exist in FILIO to do this for us.

[Cure]
Remove lots of code.  Call LNKSUN.  This change obsoletes and removes
CDB location .CPACD.

[Keywords]
SYSUNI

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	344	AUTCON	AUTCP6
		COMMON	.CPACD
		FILIO	DSKDRV


[End of MCO 13883]

MCO: 13884		Name: DPM		Date: 25-Mar-88:04:57:26


[Symptom]
AUTCON doesn't (55 of n)

[Diagnosis]
I/O bus card punches, paper tape readers, and punches don't work
for various reasons.

[Cure]
1. Correct bogus DDB length definitions.  Offset all device-specific
   definitions from DEVLEN instead of DEVLSD.

2. Use DEVPTR and DEVCTR rather than special storage for same.  UUOCON
   can't find non-standard PTR and CTR words.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	344	CDPSER
		PTPSER
		PTRSER


[End of MCO 13884]

MCO: 13885		Name: DPM		Date: 25-Mar-88:05:16:50


[Symptom]
Confusion over how to prevent IPA devices from starting.  Most people
beleive the IPAMSK half-word contains the bit which corresponds to the
CPU the device lives on.  That's not so.

[Diagnosis]
Guess people didn't read MCO 13262 which documented the bits.

[Cure]
Change things to coincide with public opinion.  The LH controls CIs (CPU0=1B17,
CPU1=1B16, etc.).  The RH controls NIs (CPU0=1B35, CPU1=1B34, etc.).  The
device's bit now matches that of the CPU (.CPBIT), in the appropriate half
word of course.

[Keywords]
IPAMSK

[Related MCOs]
13262

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	334	COMMON	IPAMSK
		KLPSER
		KNISER


[End of MCO 13885]

MCO: 13886		Name: DPM		Date: 25-Mar-88:09:13:27


[Symptom]
According to what the DEVTYP UUO returns, magtapes claim to be
generic devices.

[Diagnosis]
GNRCDV knows that any device with a five character name must
be generic because it has an ANF-10 node number imbedded in it.
That's not the case for high numbered (>9) magtapes.

[Cure]
Be more clever.  Check the bit which says whether or not node numbers
are included.  Also clean up DDB chain building somewhat.  In only a couple
of places does the monitor differentiate between the DDBs starting at
HNGLST and those begining at DEVLST.  Clean up by elimintating the
difference altogether.  DEVLST and HNGLST both point at the same DDB
now.  Mark %CNHDL as obsolete, persistant programs will still get a
DDB address if they do the GETTAB.

[Keywords]
DDBS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	344	AUTCON
		COMMON
		CPNSER
		UUOCON
		UUOSYM


[End of MCO 13886]

MCO: 13887		Name: JAD		Date: 28-Mar-88:11:01:02


[Symptom]
AUTCON doesn't (56 of n)

[Diagnosis]
DF10s or DF10Cs in 18-bit mode don't hack it.

[Cure]
Teach the drivers to check the appropriate bit and ignore the
errant controller if not in 22-bit mode.  Also prints a message
to the operator telling them we did this.

[Keywords]
RH10

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	344	AUTCON	AUTEBD
		FSXKON	FSXCFG
		RPXKON	RPXCFG
		TM2KON	TM2CFG


[End of MCO 13887]

MCO: 13889		Name: JAD		Date: 28-Mar-88:16:25:36


[Symptom]
Refreshing a structure still has problems.

[Diagnosis]
Structure full error message gets garbled, P can be off
when returning from an error condition.

[Cure]
Fix the call to PMSHL1, save/restore P during REFSTR.

[Keywords]
REFRESH

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	344	REFSTR


[End of MCO 13889]

MCO: 13890		Name: RCB		Date: 29-Mar-88:05:06:32


[Symptom]
Refreshing disks often doesn't.  Stopcodes ZBC, FON, DAU, etc.

[Diagnosis]
Stack out of phase, HOME blocks out of phase, core allocations
out of phase.

[Cure]
Yes.

The following STOPCDs were removed in favor of error messages:
ERD, ERH, ZBC, CRH, HBE, and EWH.

The ERB STOPCD had its type changed from DEBUG to INFO.

[Keywords]
TWICE
ONCE
Refresh

[Related MCOs]
None

[Related QARs]
102

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	344	REFSTR
		ONCMOD
		USRONC


[End of MCO 13890]

MCO: 13893		Name: JAD		Date: 30-Mar-88:15:01:11


[Symptom]
BOOT11 doesn't.

[Diagnosis]
To prevent problems with core allocation during initialization which
crosses a page boundary, the monitor was taught to allocate pages from
SYSSIZ up, rather than from SYSORG down.  This means the monitor will
most likely suck up the pages from SYSSIZ - 256K.  The poor old DL10
can't hack more than 18 bit addresses, and since there are no pages
available in the first 256K, BOOT11 excretes a brick.

[Cure]
When setting up the free page list, make two passes through PAGTAB.
The first pass looks at pages 1000 - end, while the second pass looks
at pages 0 - 777.  This will cause pages under 256K to be linked at
the end of the free page list, making them available to users.

[Keywords]
BOOT11
LOCK

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	345	SYSINI	MMIN10


[End of MCO 13893]

MCO: 13895		Name: DPM		Date:  4-Apr-88:06:39:58


[Symptom]
Confused operator when swapping units are write protected.

[Diagnosis]
No warning message is printed during SYSINI time.  System crashes with MIZ
stopcodes.

[Cure]
Put out a message when the ASL is built.  This will allow the operator to fix
the disk, type ESCAPE, and restart gracefully.  There's not too much which can
be done about the MIZ.  It happens at a point when we know swapping space
exists and must be usable.

[Keywords]
SWAPPING UNIT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	345	ONCMOD	DSKAS3


[End of MCO 13895]

MCO: 13896		Name: DPM		Date:  4-Apr-88:06:42:48


[Symptom]
Tape problems:

1. Occasionally, dual ported tapes get hung.

2. Tape error recovery sometimes misses the [tape] mark.

3. Kontrollers are not scheduled when they could be.

[Diagnosis]
1. Hung timers never really worked right for tapes.  Tape activity is timed
   in a number of ways.  It's done in the DDB for reads and writes.  It's
   done in the KDB for positioning.  And it's done in the TUB for rewinds
   and unloads, even if there's no tape on the drive!  It is possible for
   one CPU to be completing I/O while another CPU notices the drive's hung
   timer go to zero, but still have IOACT lit, causing undeserved hung
   device errors.  If the CPU detecting this hung device is not the one which
   owns the KDB completing the I/O, an ONCPUn call could be done on the wrong
   CPU (at interrupt level causing an ONCPUI stopcode).  TUBAKA cannot be
   trusted to have a valid KDB address since it's never cleared.

2. Forward or backspacing files by performing multiple record operations
   can miss tape marks on DX10, DX20, or SA10 based tape subsystems.
   The STC subsystems (TX01/TX02) use different criteria than is used by the
   cheap subsystems for detecting gaps for reads vs. space record (block).
   If you are doing a backspace block, the TCU (tape control unit) thinks
   that you may be backspacing over a bad record in write error recovery,
   so it is very careful to avoid considering a crease in the tape as a
   false gap.  What it does when it detects what may be a gap is it keeps
   GO set for a delay of 1/2 a gap and "keeps listening" for what may be
   data.  If it "hears anything", it keeps going until the real gap is
   detected.  If it drops GO at the 1/2 gap time and the section of tape
   has weak amplitude so its AGC (Automatic Gain Control) is goosing the
   read gain, it detects the transition of GO as a data glitch, and goes
   a little further back into the gap.  If it does another backspace, and
   the next record back is a file mark (which is a lot smaller then a data
   record) it can hit the tape mark before getting to speed and miss it.
   This explanation may confuse people into thinking there are difficiencies
   in the STC logic.  On the contrary, it is this sophistication that allows
   TU70/71/72 drives to read and position tapes that other drives cannot.

3. Some operations on some types of kontrollers (DX10, DX20, SA10, and TM78)
   do not tie up the KDB.  It could be possible for a single KDB to have 
   multiple operations going at the same time.

[Cure]
1. Change the way hung timers are done for tapes.  Time only the TUB.  Hung
   timer values come from the driver who knows how long a given operation
   usually takes.  TUBHTT is a 4-word 9-bit byte stream.  Indexing it by
   IORB function gets you the initial hung timer value.  This is stored in
   the TUB so if non-standard drives are used, reasonable variations in the
   timer values may be selected at autoconfigure time.  The timer value stored
   in TUBTIM.  Only the CPU doing the I/O will count down the hung timer.
   Here, I/O is defined to mean synchronous read, write, or positioning
   requiring an active IORB, or rewind/unload.  Asynch read/write requests
   are ignored since timing is a function of the user program.  Upon I/O
   completion, set the sign bit of TUBAKA to indicate the word is no longer
   valid.

2. Change tape positioning to use the hardware forward and backspace file
   functions.  The old school reluctance to space files was based on the
   idea that if user 1 does a space file on unit 1, and the file was a
   long one, user 2 would not get in to use unit 2 until the first user
   got to his file mark.  Realistically, there will probably be no users
   with real time tape jobs, and that more work would get done per day if
   unit 1 proceeded to its file mark at full steam 200 ips.  It's possible
   to restore the old functionality by defining MTFILE equal to zero in
   the MONGEN dialogue.  MTFILE will normally be set to 1.  TAPSBF may also
   be patched in the running monitor.  It contains the value of MTFILE.

3. Set the stage for scheduling based on intelligent kontroller feedback
   rather the simply testing @KDBCHN(W).  Provide an entry point (TPKBSY)
   to test for kontroller busy.  A later MCO will be written to make use of
   this entry point for testing kontroller availability.

[Keywords]
MAGTAPES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	345	COMDEV
		DEVPRM
		TAPUUO
		TAPSER
		T78KON
		TCXKON
		TD2KON
		TM2KON
		TMXKON
		TS1KON
		TX1KON


[End of MCO 13896]

MCO: 13898		Name: JAD		Date:  4-Apr-88:12:29:06


[Symptom]
CDB can extend into the reserved mappings (.CPUMA/.CPMMA) without
anyone knowing.  This can lead to strange errors during initialization
when the section 37 references to page maps are done.

[Diagnosis]
No checks for CDB growing too large.

[Cure]
Add a PRINTX which tells the poor soul if the CDB has gotten too
big.

[Keywords]
CDB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	345	COMMON	CDB


[End of MCO 13898]

MCO: 13905		Name: JAD		Date:  8-Apr-88:11:49:04


[Symptom]
1) EPT definitions are a mess.  There are some .EPxxx symbols
   which are offsets in the EPT and some where are addresses
   of locations in CPU0's EPT.  Some times you use .EPxxx,
   and other times you use .EPxxx-.EPMP, when you refer to
   an offset in an EPT.  VERY confusing.

2) Reserved exec virtual addresses for the CDB depend on a
   symbol defined in S, which has to match the CDB length.
   Catch-36.  If the CDB expands, someone has to go back
   and change the definition in S, AND remember to recompile
   all affected modules.  Also very confusing.  In addition,
   not enough checks are made for section 37 mappings in the
   CDB getting stomped by the CDB variables.

[Diagnosis]
Single processor stuff which was expanded for multi-processors.

[Cure]
1) Define the .EPxxx definitions in S (like the .UPxxx defs).
   NOW, .EPxxx is an offset in an EPT.  .Enxxx is the actual
   address (as it always has been).  Clean up the EPT macro
   GREATLY by using the defined offsets from S.

2) Define .EPCDB and CDBPGS in COMMON after we know the length
   of a CDB.  Ditto for HLCSAD.  Move the PSECT limit defs to
   the end of COMMON so they can still reference HLCSAD (since
   you can't do a forward reference in a .TEXT pseudo-op).
   Fix the CDB macros so the CDB length gets adjusted correctly
   if the variables would have overflowed into the section 37
   mappings.

[Keywords]
CDB
EPT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	346	APRSER
		AUTCON
		COMMON
		CPNSER
		DTEPRM
		S
		SYSINI


[End of MCO 13905]

MCO: 13907		Name: JAD		Date: 11-Apr-88:08:33:04


[Symptom]
Some customer monitors can't see some RP disk drives.

[Diagnosis]
RPXKON wants to test the "ignore unit" mask at RPXUNI.  Trouble
is, if J isn't set up, RPXKON tests location RPXIUM.  Guess what
offset RPXIUM just happens to be?  That's right, 136, which also
just happens to be .JBCST.  If a customer uses .JBCST for anything
the monitor will not configure some drives.

[Cure]
A JUMPE J, around the test on xxXIUM will solve the problem.
Note that while the QAR was on RPXKON, the same code (and problem)
exists in FSXKON and RHXKON.

[Keywords]
IGNORE UNITS

[Related MCOs]
None

[Related QARs]
2006

[MCO status]
None

[MCO attributes]
New development MCO
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	346	FSXKON	FSXUNI
		RHXKON	RHXUNI
		RPXKON	RPXUNI


[End of MCO 13907]

MCO: 13913		Name: DPM		Date: 14-Apr-88:04:32:14


[Symptom]
CDB definitions are a mess.  The "C" macro cannot be used to define
multi-word quantities, yet it is used in at least one place for that
purpose.  The "V" macro is supposed to define words in the variables
portion of the CDB, but is used sporadically throughout the constants
section where multi-word quantities are needed.  Random constants are
defined in random ways even though there are macros to do it correctly.
All invocations of the "C" and "V" macros require you to redundantly
specify the CPU number and often not supply arguments at the begining
of the argument list.  Finally, there seems no rhyme or reason to explain
why some CDB labels type out from DDT and others do not.

[Diagnosis]
No excuse.

[Cure]
Redo the CDB definition and it's macros.  To wit:

	CWRD	(NAM,VAL,LEN,LBL)
		Where	NAM is the 3-character suffix for .Cnxxx
			VAL is a constant to store (default = 0)
			LEN is a block length (default = 1)
			LBL is for compatibility with prehistoric notions
			    that you don't refer to CDB locations by their
			    proper name, but instead use funny CPU0 symbols
			    (CORMAX for example).
		VAL and LEN cannot both be specified.
		Maybe LBL will be eliminated in the future.

	CCON	(A,B)
		Where	A is a symbol name.
			B is a value to assign to A on the CPU0 pass.

	CJSR	(NAM,ADR)
		Where	NAM is the 3-character suffix for .Cnxxx
			ADR is an address to store in the 2-word JSR block

	CXPC	(NAM,FLG,ADR)
		Where	NAM is the 3-character suffix for .Cnxxx
			FLG is the new PC flags.
			ADR is the address to store in the 4-word XPCW block.

There are no options for DDT symbol suppression.  .Cnxxx and .CPxxx symbols
are all global and always type out.  Also clean up and align all comments
on the CDB definitions.

[Keywords]
CDB

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	COMMON
		CPNSER
		SYSINI


[End of MCO 13913]

MCO: 13916		Name: DPM		Date: 14-Apr-88:07:10:32


[Symptom]
REFSTR doesn't put reasonable dates and times on files it creates.
USRONC doesn't set up a date that REFSTR could use if it were so inclined.

[Diagnosis]
Missing code.

[Cure]
Add a DATE UUO to USRONC and a call to USRDTM from REFSTR.

[Keywords]
REFSTR

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	USRONC	USRDTM
		REFSTR	REFSTR


[End of MCO 13916]

MCO: 13926		Name: RCB		Date: 19-Apr-88:06:04:36


[Symptom]
Too hard for customers to add entries to PRVTAB.

[Diagnosis]
7.04 Code in COMMON to handle customer-defined commands will happily allow a
blank name and just add an entry to PRVTAB, but the code in MONGEN (and 7.03)
didn't keep pace.

[Cure]
Fix MONGEN to handle this case.  Either ",,,,FOO" or ",FOO" will add program
FOO to PRVTAB without defining a command.

[Keywords]
Customer commands
MONGEN
PRVTAB

[Related MCOs]
None

[Related SPRs]
36052

[MCO status]
Checked

[MCO attributes]
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	MONGEN	ASKCMD

703A		COMMON	UCMDNM
		MONGEN	ASKCMD


[End of MCO 13926]

MCO: 13927		Name: RCB		Date: 19-Apr-88:06:47:47


[Symptom]
SAVE processing does too much work for ABZ pages.

[Diagnosis]
CMPBIT finds out that it's an ABZ page in two different ways.

[Cure]
Skip the redundant check.

[Keywords]
Effeciency

[Related MCOs]
None

[Related SPRs]
36092

[MCO status]
Checked

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	COMCON	CMP2,CHKABZ


[End of MCO 13927]

MCO: 13928		Name: JAD		Date: 19-Apr-88:12:41:19


[Symptom]
ENTER can fail even though user has FCFS quota remaining on a structure.

[Diagnosis]
PCO 10-703-028 fixed a problem where the monitor's attempt to load
balance across structures could choose an inappropriate structure for
an ENTER (one with a small amount of space left in user's FCFS quota).
Unfortunately, the PCO has the nasty side effect of causing an ENTER
to fail when the "number of blocks tried for on output" parameter of
the structure is greater than the user's FCFS quota on that structure.

[Cure]
When checking for a suitable place to ENTER the file, don't disallow
structures where the user's quota is less than UNIGRP.  Remember the
best of such structures found and use than one for the ENTER if no
structure is found which has sufficient space.

[Keywords]
UFBSZ

[Related MCOs]
12981

[Related SPRs]
36140

[MCO status]
None

[MCO attributes]
New development MCO
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	347	FILFND	UFBSZ

703A	


[End of MCO 13928]

MCO: 13931		Name: JMF		Date: 22-Apr-88:08:18:49


[Symptom]
STOPCD IEZ

[Diagnosis]

PUNTB doesn't know that an IOWD list for the KLIPA looks like an IOWD list
for an RH20. Even when you teach it, CHNNUM still doesn't get computed
correctly.

[Cure]
Add CP.KLP to the channel type test and change a LSH T1,-222
to a LSH T1,-^D18.-BLKLSH.

[Keywords]
IEZ

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	350	FILIO	PUNTX
703A	


[End of MCO 13931]

MCO: 13935		Name: JAD		Date: 25-Apr-88:13:03:12


[Symptom]
Data sections don't get cached when bringing up a multi-CPU monitor on
a single CPU.

[Diagnosis]
Code which calls CCTRNS always assumes PM.CSH should be off, with
TNCSHB on.  If there is only 1 runnable CPU, PM.CSH should be on,
with TNCSHB on.

[Cure]
Change the code around slightly so the proper things get done for

data sections.

[Keywords]
CACHE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Extended addressing only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	350	SYSINI	CLRCCB,CCTRNS


[End of MCO 13935]

MCO: 13938		Name: DPM		Date: 26-Apr-88:04:16:51


[Symptom]
Tape hung timer tables incomplete.  No entry exists for a maximum
timeout value in case some other port not connected to the -10 exists.

[Diagnosis]
Yes.

[Cure]
Add the entry (offset -1) to the driver's hung table (HNGTBL).  Also
add TUBMTV to hold the working copy.  Add a KDB bit to indicate that other
ports exist and a bit to indicate at least one port is not connected to
the -10.  Test said bits when setting the hung timer and use the maximum
value if some port exists which the -10 cannot access.

[Keywords]
HUNG TIMERS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	350	DEVPRM	KDBSTS,TUBMTV
		TAPSER	TAPDRV,TAPSTM
		T78KON	HNGTBL
		TCXKON	HNGTBL
		TD2KON	HNGTBL
		TM2KON	HNGTBL
		TMXKON	HNGTBL
		TS1KON	HNGTBL
		TX1KON	HNGTBL


[End of MCO 13938]

MCO: 13939		Name: DPM		Date: 26-Apr-88:04:30:07


[Symptom]
Picking the best tape kontroller for I/O doesn't always choose the
optimal path.  It is possible, under arcane circumstances, to pick
a KDB which cannot perform the I/O, thus breaking queued protocol.

[Diagnosis]
There are three routines, all very similar in nature, and all almost
do the job correctly.  Deciding which routine to use is not always
an easy task.  Of TAPACC, TAPCPU, and TPMKON, TAPACC is what most
people call to check accessibility, but it never checks for a good CPU.
TAPCPU is a nightmare, mostly because of the way CPUOK behaves, but it
does all the right things.  TPMKON contains the best code, but it never
checks UDBCAM.

[Cure]
Replace TAPACC with the code from TPMKON and add CPU checking.  Delete
TPMKON.  This leaves TAPCPU, which will call TAPACC and make an ONCPUn
call.

[Keywords]
MAGTAPE HANGS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	350	TAPSER
		TAPUUO


[End of MCO 13939]

MCO: 13941		Name: JAD		Date: 26-Apr-88:07:49:55


[Symptom]
Multi-CPU monitor is too slow when only one CPU is running.

[Diagnosis]
CREMNS doesn't set TNCSHB in PAGTAB to tell CPNSER to set PM.CSH
for those pages when dropping down to one CPU.

[Cure]
Set TNCSHB.

[Keywords]
TNCSHB
CACHE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	350	VMSER	CREMN7


[End of MCO 13941]

MCO: 13951		Name: DPM		Date:  3-May-88:04:07:07


[Symptom]
AUTCON doesn't (57 of n)

[Diagnosis]
1. Old drives which are incapable of returning serial numbers sometimes
   do not get their S/N defaulted correctly.

2. Disk drivers depend on AUTDSN to store their S/Ns.  That's not the
   function of the subroutine.

3. MASSBUS disks sometimes claim to be RP04s even though the monitor read
   the right numbers out of the drive type register.

4. No provisions to handle kontroller serial numbers so we can distinguish
   being able to see both sides of a dual ported tape KDB from a KDB which
   has the dual port option, but one port is not visable to the -10.

[Cure]
1. For old-style units incapable of returning a drive serial number, but
   which can be dual ported, a scheme has been developed in which a serial
   number may be faked up.  The S/N double word is conjured up by putting
   the device code in the high word, the massbus unit & the physical drive
   number in the low word.  This is akin to the IBM standard of setting the
   serial number to the CU+drive number.  The restrictions to make this work
   are quite simple.  These drives must exist on kontrollers with the same
   device code and MASSBUS unit numbers.  Again, in IBM terms, the other
   ports must be addressed the same (i.e. the same CU).

   Using this scheme, the monitor will tollerate at most, two units with the
   same physical drive number per compatible kontroller which have serial
   numbers of zero.  Attempts to have more than two units with a serial number
   of zero will most likely cause the monitor to die a rapid and rabid death.

2. Don't rely on AUTDSN to store S/Ns.  Have drivers store their own.

3. RPXCPY is not defensive enough.  It returns "unknown" unit if the DATAI
   to read the drive status register fails.  This is incorrect since it has
   already determined the drive type and therefore knows the capacity.

4. Move temporary S/N storage to .CPTSN (new CDB word) from KDBDSN.  Reserve
   this word for a future edit which will make tapes shared with a DX20 work
   a little better (outstanding QAR).

[Keywords]
AUTOCONFIGURE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	351	AUTCON	AUTDSN
		COMMON	.CPTSN
		DSXKON	DSXUNI
		FSXKON	FSXUNI
		RHXKON	RPXUNI
		RNXKON	RNXCPY,RNXUNI
		RPXKON	RPXCPY,RPXUNI
		T78KON	T78DRV
		TD2KON	TD2DRV
		TM2KON	TM2DRV
		TS1KON	TS1DRV
		TX1KON	TX1DRV


[End of MCO 13951]

MCO: 13954		Name: JAD		Date:  4-May-88:10:41:25


[Symptom]
AUTCON doesn't (60 of n).

[Diagnosis]
AUTCON goes to great pains to uncache data structures depending on
bits set in the driver dispatch.  Unfortunately, all the effort is
an elaborate no-op, since the code which sets up the "temporarily
uncached" bits in PAGTAB executes AFTER AUTCON.

[Cure]
Move the code in SYSINI which sets up the "temporarily uncached"
bits immeidately following the check for running CPUs (which is
just before calling AUTCON).  This will allow AUTCON to diddle
TNCSHB in PAGTAB for pages which contain data structures which
should not be cached (UDBs, KDBs, etc.).

[Keywords]
cache

[Related MCOs]
None

[Related SPRs]
2999

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	SYSINI	CLRCCB


[End of MCO 13954]

MCO: 13957		Name: JAD		Date:  6-May-88:11:18:02


[Symptom]
KLPNMG stopcodes after CPU restarted or system resumed.

[Diagnosis]
KLPSER carefully remembers the number of free message and datagram
buffers on a KLIPA's queues before it shuts down the KLIPA.  Trouble
is, it never uses that information to restock the queues when a CPU
is restarted or resumed.

[Cure]
Rework the initialization code to use the restock counts if/when
appropriate.

[Keywords]
KLIPA
REBOOT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	KLPSER	PPDINX


[End of MCO 13957]

MCO: 13960		Name: KBY		Date:  7-May-88:11:39:58


[Symptom]
Stopcode BAC on fragmented swap-out when LOW on LOW core (probably
only happens with big LOW segs).

[Diagnosis]
Although there are other potential ways this problem can
be caused, running out of LOW core blocks while allocating swap space
causes the allocator to back-track and return what it got.  Unfortunately,
it doesn't count the number of free core words-to-return correctly.

[Cure]
JRST-->AOBJP and an ADDI goes away.

[Keywords]
BAC
LOW

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	SWPSER	FRGBK1,FRGBK2
703A	


[End of MCO 13960]

MCO: 13961		Name: LWS		Date:  7-May-88:12:38:27


[Symptom]
Swap read errors that have nothing to do with reading the swapper.

[Diagnosis]
Using IPCF routines that use funny space for messages. However,
when there is no job (doing a SET SCHED from the CTY not logged in) here's
what happens according to Spider:

Sending an IPCF packet with the null job mapped
gives the null job a page of funny space.  This lights bit 8 in word
WSBTAB+16 of any job created after that time.  Eventually, this causes
SETIMT to tell THIS to do one more page than is appropriate.  The final
page is physical page 0, which turns out to be a channel skip.  This
means that our expected termination word for the I/O is wrong, which
gives us an I/O error at POSDN3, eventually leading to a swap read error.

[Cure]
Change SNDSCM to send the message to QUASAR like FILSER does
for ATTACH/DETACH. Use GETWDS and let SNDMDX do the rest of the work.

[Keywords]
SWAP READ ERROR
SET SCHED
IPCF

[Related MCOs]
13773

[Related QARs]
None

[MCO status]
None

[MCO attributes]
New development MCO
PCO required
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	IPCSER	SNDSCM
		COMCON	SETSC1

703A	


[End of MCO 13961]

MCO: 13962		Name: KDO		Date: 10-May-88:03:28:28


[Symptom]
UUOSYM does not have LLMOP or LAT PSI event codes defined.

[Diagnosis]
Yep.

[Cure]
Add them.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	UUOSYM


[End of MCO 13962]

MCO: 13964		Name: DPM		Date: 10-May-88:04:18:16


[Symptom]
Undeserved hung device errors when trying to do tape I/O to a drive that is
shared with another system.

[Diagnosis]
When setting the hung timer, TAPSER does not take into account the fact that
another system may have the kontroller in use for a period longer than the
current I/O operation is expected to last.  For example, if a read is expected
to take 31 seconds, but the other system is doing a data security erase
through the same kontroller, the user on the -10 will get an undeserved hung
device error.

[Cure]
When configuring, remember if dual port hardware exists.  Then before picking
the normal hung timer value for the requested operation, see if all paths to
the device are known.  If so, then the normal value will suffice. Otherwise,
if there is at least one unknown path, then we must assume another actually
exists and could be used on another system.  In this case, use the maximum
reasonable timeout.  A path is identified by finding a KDB with a matching
serial number.  S/Ns are read from intellegent kontrollers or faked up as is
done for drive S/Ns.

This solution has the unfortunate side effect of using extremely large timeout
values in situations where dual port hardware exists, but only one path is
actually connected to a system (the -10).  It is likely that a site would not
pay for the additional hardware and then not use it, so this will be a very
rare case.

Also to implement this correctly, one must assume that 4 paths to a DX10,
DX20, or SA10 based drive exist if the TX/STC3600 CU claims to have two
channel capability.  Thus, we could say these are quad-ported devices, but
for the sake of consistancy, they will always be referred to in generic terms
(i.e. dual ported devices).  The monitor, however, can deal quite effectely
with up to 4 ports, all to the one -10 or split up amoung various systems.

[Keywords]
SHARED DEVICES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	AUTCON	AUTKSN
		DEVPRM	KDBSTS,KDBSER,MXPORT
		T78KON	T78UNI
		TD2KON	TD2DRV
		TM2KON	TM2UNI
		TS1KON	TS1DRV
		TX1KON	TX1DRV


[End of MCO 13964]

MCO: 13965		Name: DPM		Date: 10-May-88:05:25:44


[Symptom]
     The the DX10 cannot effectively deal with parity  errors  on  the
first  record  of a magtape when automatic error retry is enabled (the
default mode of operation).  When the DX10 performs error  retries  in
this situation, the tape offending record is read several times.  Then
about 50 feet of tape are skipped.  The DX10  never  informs  the  -10
that an unrecoverable hard error was detected.

[Diagnosis]
     Version 15 of the DX10 microcode introduced  this  bug.   If  the
monitor  performs  the  retry, it works correctly after installing PCO
10-703-107.

[Cure]
     Program around the DX10 bug.  The problem  only  occurs  at  BOT.
Therefore,  never let the DX10 do automatic error recovery if the tape
is at BOT.  Instead, disable  DX10  retries  and  use  TAPSER's  retry
algorithms.

[Keywords]
DX10 RETRY

[Related MCOs]
None

[Related SPRs]
30357

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	TX1KON	DONE,INSDVC

703A	


[End of MCO 13965]

MCO: 13966		Name: KDO		Date: 10-May-88:06:36:49


[Symptom]
ETHSER does not use mult-cast filtering.

[Diagnosis]
No code.

[Cure]
Add code.

[Keywords]

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	KNISER	KNUEMA,PCBINI
		ETHSER	ADDMC2,DELMC2,ETCEP1,ETCDP1,SETMCA,CLRMCA


[End of MCO 13966]

MCO: 13967		Name: RJF		Date: 10-May-88:10:16:56


[Symptom]
/REBOOT after a CONFIG>SUSPEND gets KLPSWOs and KLPKAFs in a
loop, preventing the system from coming up.

[Diagnosis]
CI not shut down correctly at SUSPEND time.

[Cure]
Call the correct routine "PPDRMV" at CIPXI2 in CLOCK1.

[Keywords]
SUSPEND
KLPSWO
KLPKAF

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	CLOCK1	CIPXI2


[End of MCO 13967]

MCO: 13968		Name: RJF		Date: 10-May-88:10:25:16


[Symptom]
Can't ADD a cpu that was down when the system came up.

[Diagnosis]
SPRINI trying to attach units that AUTCON does.

[Cure]
Remove the loop to attach units from SPRINI.

[Keywords]
ADD CPU

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	352	COMMON	SPRINI


[End of MCO 13968]

MCO: 13970		Name: JAD		Date: 13-May-88:10:15:40


[Symptom]
Can't look at section maps created by VMSER via funny addresses in
section 37 (37,,700000+section #*1000).

[Diagnosis]
No one remembered to update .CPMMA when VMSER created a new section
map.  Consequently, we reference junk since the map slot is zero.

[Cure]
Add the code.

[Keywords]
MAPPING

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Extended addressing only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	353	VMSER	CREMNS


[End of MCO 13970]

MCO: 13972		Name: JMF		Date: 13-May-88:10:52:41


[Symptom]
Swapper KAFs while processing expanding jobs.

[Diagnosis]
If JS.SIP and JXPN are both lit for a job, the swapper will loop
until I/O completes for the job.  If the I/O completes within the
keep-alive timer (from 0 to 3 seconds, depending on the time when
we got into the loop), no KAF will occur and the system will keep
running.  If, however, the I/O doesn't complete, or if the keep-
alive timer expires, the system will KAF.

[Cure]
Test for JS.SIP and JXPN both on, and branch to FLGNUL to run
the null job this tick.

[Keywords]
SWAPPER KAF

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	353	SCHED1	FORCEL


[End of MCO 13972]

MCO: 13973		Name: RJF/JAD		Date: 13-May-88:14:04:15


[Symptom]
ADD/REMOVE CPU is, shall we say, somewhat defficient.  Or in less polite
terms, it don't work worth a damn.

[Diagnosis]
Numerous ones that a sharp axe wouldn't cure.

1) Incrementing NCPRUN before calling SETCSB winds up leaving the low seg
   cached when ADDing a CPU.  This will cause all sorts of red herrings for
   the poor bum who tries to debug the reason why the clock queue doesn't
   appear to be processed on the BOOT CPU.  Ditto for RC? stopcodes from our
   old f(r)iend SCNSER.

2) Rescheduling ourselves onto CPUn so we can run AUTCON is a big lose.  If
   hardware just fixed CPUn and we think "it may work", and it doesn't, there
   is no way to ever unjam the system (run only me by ORION).

3) Never decrementing NCPRUN or calling SETCSB when removing the next-to-last
   CPU ensures the low seg never gets cached.  A real BIG performance lose.

[Cure]
Get out our Arkansas stone:

1) Just call SETCSB and leave NCPRUN alone.

2) Try for up to 10 seconds to reschedule onto CPUn.  If this fails,
   declare the CPU inoperative, and take the error return from the
   UUO.  Restore the state of the world before exiting so a second
   attempt to ADD CPUn will do all the right things.

3) SOS NCPRUN/call SETCSB at the clock level CPU remove routine.

[Keywords]
COW POOP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
Beware file entry required
New development MCO
Documentation change
Multi CPU only

[BEWARE text]
When ADDing a CPU via the CONFIG application of OPR, it is important
that the following steps be performed IN ORDER:

1) Run the KLI task to configure the KL10 CPU.

2) When the KLI task completes, type ^\ to get to the PARSER.

3) Type "J 400<CR>" to start the CPU.

4) From an OPR terminal, type "CONFIG ADD CPUn", where n is the number
   of the CPU being added.

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	353	CPNSER	CPUATT,CPUDET


[End of MCO 13973]

MCO: 13981		Name: RCB		Date: 18-May-88:22:43:37


[Symptom]
Too easy to get a program with user-I/O to crash the system.

[Diagnosis]
LOCK UUO happily puts programs above 256K in physical memory, which
they don't expect (most of them predate the KI).

[Cure]
Add a new bit pair to the LOCK UUO, LK.HHP and LK.LHP.  These say that
the corresponding segment is allowed to be locked at high pages (above 777).
If a segment is being locked physically contiguous and this bit is not on,
the LOCK UUO will fail if the segment can not be fit entirely below page 1000.

[Keywords]
LOCK
USER-I/O
DL10

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change
UUOSYM change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	354	LOKCON	LOKPH4
		UUOSYM	LK.HHP,LK.HLP
		S	LKAB


[End of MCO 13981]

MCO: 13987		Name: JAD		Date: 24-May-88:08:11:34


[Symptom]
IME from DTESER during DTEREL.

[Diagnosis]
Indexing off into the weeds

[Cure]
Index using F instead of T1 (which was clobbered).

[Keywords]
IME

[Related MCOs]
None

[Related QARs]
2063

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	354	DTESER	DTEREL


[End of MCO 13987]

MCO: 13992		Name: DPM		Date: 26-May-88:02:48:54


[Symptom]
Undeserved crash KLPNEN.

[Diagnosis]
Caused by a variety of things, external to the monitor.  In particular,
-20F fault continuation is guaranteed to blow away a CI20 PI assignment.
The crash never contains useful information.

[Cure]
Change from a DEBUG stopcode to an EVENT.

[Keywords]
KLPNEN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	355	KLPSER	KLPNEN


[End of MCO 13992]

MCO: 13994		Name: JAD		Date: 27-May-88:08:37:20


[Symptom]
Possible stack overflow when non-BOOT CPU crashes.

[Diagnosis]
CP1CRS branches off to RMVCPU after setting up P with .CPEPD (error
PDL).  Trouble is, the error PDL is too short for SCA's ravenous stack
appetite.

[Cure]
Tack a few dozen more words onto the error PDL.

[Keywords]
CPU1 CRASH

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	COMMON	ERRPLL


[End of MCO 13994]

MCO: 13997		Name: JAD		Date: 27-May-88:14:19:54


[Symptom]
Getting an IPA20 device DRAM dump is very hard and requires a lot of
human intervention.

[Diagnosis]
Original stuff was hacked in for LWS when researching the ADP CI
problem.  Needless to say, it was done quickly and dirtily.

[Cure]
Get out the Tide and the Brillo pads.  Revamp the code so the dump
process is easier to enable by either patching a "POPJ P," in the
un-run monitor or by writing a 2-line DDT program.  DAEMON will be
taught to write dump files on XPN: in the event of an IPA20 crash.

[Keywords]
IPA20 DUMP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	COMDEV	IPAADB,DMPIPA
		COMMON	IPADDB,%CNIDB
		DEVPRM	IPKDDB,IPKSIZ
		KLPSER	KLPCFG
		KNISER	KNICFG
		S	.ESICD
		UUOCON	DIAADB
		UUOSYM	.ERICD


[End of MCO 13997]

MCO: 14004		Name: DPM		Date: 31-May-88:05:38:14


[Symptom]
Stopcode PIN, and another, and another, etc.

[Diagnosis]
Someone thinks PINs are continuable.  The comments say otherwise,
and agree with the number of PINs which follow the first.

[Cure]
Change PIN from a DEBUG to a STOP.

[Keywords]
PIN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	355	VMSER	S..PIN


[End of MCO 14004]

MCO: 14006		Name: RCB		Date: 31-May-88:06:16:41


[Symptom]
SET HOST with local terminals hangs.

[Diagnosis]
NETVTM's VTMLOC routine calls LDBINI, which zaps such useless things as the
line speeds and the terminal type.

[Cure]
Don't do that.  Break out the part of LDBINI which we need, and call just
that.  The new routine is LDBVRS (LDB virgin reset).

[Keywords]
SET HOST
NETVTM

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	355	SCNSER	LDBINI,LDBVRS
703A		NETVTM	VTMLOC


[End of MCO 14006]

MCO: 14007		Name: ERS		Date: 31-May-88:08:16:57


[Symptom]
 .RU F: fails when it should work.

[Diagnosis]
If a user defines a pathological name with the /OVERRIDE switch a run

of that pathological name should work.  However, COMCON knows that the user 
did not specify a filename.  If we don't happen to have a default sitting around
in core then we get ?Too few arguments.

[Cure]
Let the user continue without the filename.  If the lookup fails, point out
that he didn't have a filename if that is the case.

[Keywords]
sigh

[Related MCOs]
None

[Related QARs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	355	COMCON	SGSET3,NOFILE


[End of MCO 14007]
MCO: 13992		Name: DPM		Date: 26-May-88:02:48:54


[Symptom]
Undeserved crash KLPNEN.

[Diagnosis]
Caused by a variety of things, external to the monitor.  In particular,
-20F fault continuation is guaranteed to blow away a CI20 PI assignment.
The crash never contains useful information.

[Cure]
Change from a DEBUG stopcode to an EVENT.

[Keywords]
KLPNEN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	355	KLPSER	KLPNEN


[End of MCO 13992]

MCO: 13994		Name: JAD		Date: 27-May-88:08:37:20


[Symptom]
Possible stack overflow when non-BOOT CPU crashes.

[Diagnosis]
CP1CRS branches off to RMVCPU after setting up P with .CPEPD (error
PDL).  Trouble is, the error PDL is too short for SCA's ravenous stack
appetite.

[Cure]
Tack a few dozen more words onto the error PDL.

[Keywords]
CPU1 CRASH

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	COMMON	ERRPLL


[End of MCO 13994]

MCO: 13997		Name: JAD		Date: 27-May-88:14:19:54


[Symptom]
Getting an IPA20 device DRAM dump is very hard and requires a lot of
human intervention.

[Diagnosis]
Original stuff was hacked in for LWS when researching the ADP CI
problem.  Needless to say, it was done quickly and dirtily.

[Cure]
Get out the Tide and the Brillo pads.  Revamp the code so the dump
process is easier to enable by either patching a "POPJ P," in the
un-run monitor or by writing a 2-line DDT program.  DAEMON will be
taught to write dump files on XPN: in the event of an IPA20 crash.

[Keywords]
IPA20 DUMP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	COMDEV	IPAADB,DMPIPA
		COMMON	IPADDB,%CNIDB
		DEVPRM	IPKDDB,IPKSIZ
		KLPSER	KLPCFG
		KNISER	KNICFG
		S	.ESICD
		UUOCON	DIAADB
		UUOSYM	.ERICD


[End of MCO 13997]

MCO: 14004		Name: DPM		Date: 31-May-88:05:38:14


[Symptom]
Stopcode PIN, and another, and another, etc.

[Diagnosis]
Someone thinks PINs are continuable.  The comments say otherwise,
and agree with the number of PINs which follow the first.

[Cure]
Change PIN from a DEBUG to a STOP.

[Keywords]
PIN

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	355	VMSER	S..PIN


[End of MCO 14004]

MCO: 14006		Name: RCB		Date: 31-May-88:06:16:41


[Symptom]
SET HOST with local terminals hangs.

[Diagnosis]
NETVTM's VTMLOC routine calls LDBINI, which zaps such useless things as the
line speeds and the terminal type.

[Cure]
Don't do that.  Break out the part of LDBINI which we need, and call just
that.  The new routine is LDBVRS (LDB virgin reset).

[Keywords]
SET HOST
NETVTM

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	355	SCNSER	LDBINI,LDBVRS
703A		NETVTM	VTMLOC


[End of MCO 14006]

MCO: 14007		Name: ERS		Date: 31-May-88:08:16:57


[Symptom]
 .RU F: fails when it should work.

[Diagnosis]
If a user defines a pathological name with the /OVERRIDE switch a run

of that pathological name should work.  However, COMCON knows that the user 
did not specify a filename.  If we don't happen to have a default sitting around
in core then we get ?Too few arguments.

[Cure]
Let the user continue without the filename.  If the lookup fails, point out
that he didn't have a filename if that is the case.

[Keywords]
sigh

[Related MCOs]
None

[Related QARs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	355	COMCON	SGSET3,NOFILE


[End of MCO 14007]

MCO: 14008		Name: JAD		Date:  1-Jun-88:13:51:14


[Symptom]
Can't determine cache status, etc., on the KS by PEEKing the reload
word (location 31 in memory).  All the bits which should come back
non-zero are returned as zeroes.

[Diagnosis]
During initialization the reload word is initialized via a MOVEM.
Since the 8080 does a logical DPB to update the keep-alive counter
in the reload word, the flags are never re-initialized by the 8080,
so CONFIG can't read them to determine cache status, etc.

[Cure]
Replace the MOVEM with a call to ENAKAL.

[Keywords]
CACHE
CONFIG
RELOAD WORD

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
KS10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	SYSINI	SYSINI


[End of MCO 14008]

MCO: 14011		Name: JAD		Date:  3-Jun-88:08:37:29


[Symptom]
NPJ stopcode bringing system up after having used exec address break
debugging facility.

[Diagnosis]
No one ever clears address break settings during system initialization.
Left-over break address causes gas pains.

[Cure]
DATAO APR,[EXP 0] at SYSTRT.  SYSRST and SPRINI already do this.

[Keywords]
ADDRESS BREAK

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	COMMON	SYSTRT


[End of MCO 14011]

MCO: 14012		Name: JAD/DPM		Date:  3-Jun-88:09:08:18


[Symptom]
Gee, I can't think of an appropriate term.

[Diagnosis]
Two words are reserved in the UPT for SPYing on the CDB.  If the
CDB ever grows longer than 2 pages the code will stop working.

[Cure]
Move the two word block to the second variable area in the UPT and
increase it to four words (hope the CDB never grows larger than
4 pages!).  Fix the code in CLOCK1 and VMSER which KNOWS there
are two pages in the CDB to use the variable CDBPGS from COMMON.

[Keywords]
CDB PAGES

[Related MCOs]
13330

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	CLOCK1
		S
		VMSER


[End of MCO 14012]

MCO: 14013		Name: JAD		Date:  3-Jun-88:09:18:19


[Symptom]
Difficult to allocate IPA20 channel DRAM dump buffer after the
system has started running.

[Diagnosis]
MCO 13997 didn't do quite enough work in UUOCON.

[Cure]
Fix the DIAG. UUO function .DIADB to accept the KDB name as
the second word in the argument block.

[Keywords]
IPA DUMP

[Related MCOs]
13997

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	UUOCON	DIAADB


[End of MCO 14013]

MCO: 14014		Name: RCB		Date:  4-Jun-88:05:18:09


[Symptom]
STOPCDs TMDELI, RCC, TIC, and CL0 possible.

[Diagnosis]
Calling TPCECH twice for the same character messes up the counts and bits
in the chunks, and can even mess up the chunk-stream link words.

[Cure]
Don't do that.  If we've already called TPCECH, don't store any updated
characters through LDBECT.

[Keywords]
TMDELI
RCC
CL0
TIC
8-bit controls

[Related MCOs]
None

[Related QARs]
2061, 2070, 2071, 2076

[MCO status]
Checked

[MCO attributes]
PCO required
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	SCNSER	XMTECX,XMTECU,XMTECD
703A	


[End of MCO 14014]

MCO: 14018		Name: JAD		Date:  6-Jun-88:08:41:50


[Symptom]
1) Symbol table too big.

2) Monitor too big.

3) NPJ stopcode continuable.

[Diagnosis]
1) Two names for the same find-a-PDB routine (FNDPDS and FNPDBS).

2) Get-a-word-from-a-PDB routine only called by UUOCON and uses twice as
   many instructions as is necessary.  This was probably necessary when
   someone thought swapping PDBs was feasible.

3) Trying to continue an NPJ stop ensures low core gets wiped out (feature?).

[Cure]
1) Replace references to FNPDBS with FNDPDS (latter tag user MUCH more
   extensively); delete tag FNPDBS.

2) Delete PDBWRD routine and add 3 lines to GETTAB to do the work there.

3) Make NPJ a STOP stopcode.

[Keywords]
PDBS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	COMCON
		DATMAN
		IPCSER
		SCHED1
		UUOCON


[End of MCO 14018]

MCO: 14020		Name: JAD		Date:  6-Jun-88:09:19:08


[Symptom]
%DECsystem-10 not running on all CTYs; all (or some) CPUs looping in
their ACs.

[Diagnosis]
If some culprit clobbers location 27 (CPNDDT), this monitor will
hang waiting for some CPU to leave EDDT.  Trouble, no CPU has entered
EDDT, so none will ever leave, so the system will wait forever, and
eventually someone might notice and zero location 27, but by that
time the state of the world is no longer valid, and etc.

[Cure]
If APRSER detects CPNDDT non-zero, test if BPTMSK is also non-zero
(the mask of CPUs allowed to enter EDDT).  If no CPU can enter EDDT,
then it doesn't make any sense to wait for someone to do so.  CPNDDT
will be zeroed after an event-type stopcode (CPNDDM) gets produced (which 
will type the contents of CPNDDT on the CTY).

[Keywords]
CPNDDT

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	APRSER	TIMINT
		COMMON	BPTMSK


[End of MCO 14020]

MCO: 14024		Name: RCB		Date:  7-Jun-88:07:12:08


[Symptom]
DECnet core allocation is a little bit wasteful.

[Diagnosis]
It always gets one more word than it needs, which at least 25%
of the time results in getting an extra 4-word block of core.

[Cure]
Fix the off-by-ones.

[Keywords]
DECnet
core hog

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
HOSS attention

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	D36COM	DNGWDS,DNFWDS
703A		GEN.CT	M.DNMX


[End of MCO 14024]

MCO: 14025		Name: RCB		Date:  7-Jun-88:07:30:30


[Symptom]
System is unusable if the default terminal type is not defined correctly.

[Diagnosis]
No easy way to tell that the problem on the CTY (and all terminals) is caused
by the failure to set a valid terminal type.

[Cure]
Add the DEFTTI (default terminal type invalid) STOPCD.  Since the system
is not very useful anyway, make it a STOP type.  Once the system programmer
realizes the mistake, it's a simple matter to patch DEFTTT in EDDT in order
to get the system to run.

[Keywords]
Default TTY type

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	356	SCNSER	LDBINI


[End of MCO 14025]

MCO: 14027		Name: DPM		Date:  9-Jun-88:12:54:50


[Symptom]
TM02/TM03 drives only move one record when told to position one file.

[Diagnosis]
Pea-brained hardware only knows how to position by records.

[Cure]
Add a bit to TUBCNF indicating file operations are illegal.  If set,
use multiple record ops instead.

[Keywords]
FILE POSITIONING

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	TAPSER	TAPFOL,TUCFOI,TAPSBF
		TAPUUO	TPMFSF,TPMBSF
		TM2KON	TM2CFG


[End of MCO 14027]

MCO: 14028		Name: RJF		Date: 10-Jun-88:10:08:14


[Symptom]
Monitor too big.

[Diagnosis]
No longer need KNILDR support in the monitor, since KNILDR is
no longer used.

[Cure]
Switch-out all KNIBT. UUO and KNILDR support code.  Remove all
code that attempts to run KNILDR automaticly.  Obsolete the DF.RQN bit
in DEBUGF.  Also fix the reload code so we don't try to automaticly reload
the NI if someone said CONFIG>SET NO MICROCODE NI.

[Keywords]
KNILDR
KNIBT.

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	KNISER
		CLOCK1
		S
		UUOSYM


[End of MCO 14028]

MCO: 14035		Name: DPM		Date: 14-Jun-88:04:43:24


[Symptom]
MTAs on the KS10 don't work if more than one kontroller has been configured.

[Diagnosis]
IVAR is never reset after system is autoconfigured.  All operations for the
MTA drives hang because the MTB kontroller is interrupting.

[Cure]
Add KS-specific code to SETIV and make the appropriate calls.

[Keywords]
MAGTAPES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	TM2KON


[End of MCO 14035]

MCO: 14036		Name: DPM		Date: 14-Jun-88:04:49:54


[Symptom]
DX10 and DX20 tape diagnostics fail claiming they cannot assign all drives
on the specified channel.

[Diagnosis]
The diags actually build up sixbit device names and try to init all the
drives.  Then the "set maintenance" TAPOP fails indicating not all drives
have been assigned.  This happens cuz the monitor can handle up to 15
drives but the diags can't count above 7.

[Cure]
Teach the "set maintenance" function to assign all the drives.  The "clear
maintenance" function will deassign them.  The diags still need fixing, but
this will get things moving in the right direction.

Historical note:

Many years ago, all tape diags were taught to invoke TAPOP function 1037 which
was never implemented.  This was supposed to cause all drives to be assigned
to the job.  Since it always failed, the diags looped through all drives doing
INITs.  The maintenance functions were modified rather than implementing a new
function (1037) becuase assigning drives is not a read/set function.  The
references to function 1037 should be removed when the diags are fixed.

[Keywords]
MAGTAPES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	TAPUUO	TPMSMM,TPMCMM


[End of MCO 14036]

MCO: 14037		Name: DPM		Date: 14-Jun-88:05:05:55


[Symptom]
DIAG. UUO problems:

1. Can't read serial numbers for tapes.

2. Can't read device registers for any devices except disks.

3. DIADEV can never find devices given a DDB name.

4. Occasional IMEs calling DIADEV.

[Diagnosis]
1. Conflicts between how user arguments are supposed to be supplied.

2. Code only accessible to FILIO.

3. Wrong AC setup in call to DEVPHY.

4. IPA devices have only KDBs and no UDBS.

[Cure]
1. Change the calling sequence of .DIDSN to require a sixbit device name
   rather than the strange diag device specifier.  No problem since no one
   uses this function yet and the original definition was kinda fuzzy.
   Put one common S/N routine in UUOCON instead of having one in each service
   routine.

2. Move code out of FILIO and into UUOCON.

3. T2 --> T1

4. Weed out devices which have CPU numbers in them.  Take the return which
   indicates no unit number was specified.

[Keywords]
DIAG. UUO

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	357	FILIO	DSKDIA,DIADSN,DIADVR
		TAPUUO	TPMDIA,TPMPPR,TPDDSN
		UUOCON	DIADST,DIADEV,DIADSN,DIAREG


[End of MCO 14037]

MCO: 14043		Name: CMQ/JJF		Date: 16-Jun-88:14:41:15


[Symptom]

MONGEN "long" dialog option explanations are not terribly helpful.

[Diagnosis]

Long explanations are either not long enough or are sometimes full of 
technobabble.

[Cure]

Sic Christine on the long MONGEN dialog.  Rework major sections, making 
explanatory text more understandable.  

While we're there, change the "PC09" paper-tape-punch/reader question to PC04.


[Keywords]
LONG DIALOG
OBSESSION
REVISIONISTIC REVISIONISM

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	360	MONGEN	ALMOST,EVERY,LAST,ONE,OF,THEM


[End of MCO 14043]

MCO: 14050		Name: DPM/RCB		Date: 21-Jun-88:03:47:12


[Symptom]
System hangs.

[Diagnosis]
Someone has returned a sharable resource more than once or is
trying to acquire the resource it already owns.

[Cure]
Avoid recursion.  Add two new stopcodes:  AOWNSR (Already OWN Sharable
Resource) and DOWNSR (Don't OWN Sharable Resource).

[Keywords]
RESOURCES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	360	CLOCK1	SRWAIT,SRFREE


[End of MCO 14050]

MCO: 14067		Name: JAD		Date:  1-Jul-88:09:33:03


[Symptom]
KLIPA doesn't appear to always start up properly when a CPU is
REMOVEd then ADDed.

[Diagnosis]
Not sure, but some diagnostic information is missing.

[Cure]
Add two INFO stopcodes: KLPCRD (Can't restock datagram free queue)
and KLPCRM (Can't restock message free queue).  This will at least tell
us if something undesirable has happened when restarting the KLIPA.

[Keywords]
KLIPA RESTARTS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Documentation change

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	KLPSER	RSTKQS


[End of MCO 14067]

MCO: 14069		Name: RCB		Date:  4-Jul-88:09:32:11


[Symptom]
Jobs get stuck in event wait for system IPCF for no apparent reason.  Some of
them eventually take off again, some do not.

[Diagnosis]
If the job for which the 'stuck' job is waiting does blocking IPCFR.s, then
there is a window after the point at which that job has decided to give up and
enter SL state, but before the sending job can tell that, during which a packet
could arrive and be ignored.  If that target job ever receives a second packet,
it will process them both, but the original job will wait until that time.  This
is most notably seen here with MX as the 'stuck' job and FILDAE as the target
job.

[Cure]
Close the window.  Don't give up our IP resource for a blocking receive until
after we have changed our job state code from RN to SL (but before we block).

[Keywords]
Stuck in EI
MX
FILDAE

[Related MCOs]
None

[Related QARs]
1085

[MCO status]
Checked

[MCO attributes]
New development MCO
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	362	IPCSER	IPFR14,IPFR15


[End of MCO 14069]

MCO: 14077		Name: JAD		Date: 12-Jul-88:07:17:39


[Symptom]
CHANGEing structure name doesn't cause logical unit name (UNILOG) to
be updated.

[Diagnosis]
Missing call to CMPLOG to set up UNILOG after STRNAM updated.

[Cure]
Add the call.

[Keywords]
CHANGE STRUCTURE

[Related MCOs]
None

[Related QARs]
2085

[MCO status]
None

[MCO attributes]
New development MCO
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	363	ONCMOD	GETSTN


[End of MCO 14077]

MCO: 14084		Name: JAD		Date: 26-Jul-88:08:32:09


[Symptom]
Stopcode UIL trying to dump the KLNI.

[Diagnosis]
AC W hasn't been set up to point at the KDB for the KLNI.
Also, skip return is never taken because wrong offset off (P) is
incremented.

[Cure]
Move the line which sets up W up a few lines, and fix the AOS (P)
to be an AOS -1(P).

[Keywords]
KLNI DUMP

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	365	KNISER	KNILOD


[End of MCO 14084]

MCO: 14085		Name: RJF		Date: 27-Jul-88:10:19:31


[Symptom]
Unimplemented error returned from DIAG. UUO (.DISSA) if a tape
controller is already attached.

[Diagnosis]
Yes.

[Cure]
Fix SDSATT in TAPUUO.

[Keywords]
ADD MTA

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	TAPUUO	SDSATT


[End of MCO 14085]

MCO: 14086		Name: JEG/DPM		Date: 28-Jul-88:07:31:30


[Symptom]
1. Stopcode PDLOVF trying to start I/O on a tape that is rewinding.

2. Stopcodes EUE, IME, and UIL counting down hung timers for tape drives which
   have label DDBs.

[Diagnosis]
1. CKREW will put the job to sleep if the specified drive is rewinding.  When
   the job wakes up, TAPCNT will be called to see if it's OK to schedule the
   drive.  But if the job wakes up on a different CPU, then queued protocol
   will be necessary and the another call to CKREW from TAPCNT is in order.  A
   PDL overflow results.

2. If the drive has a hung timer being counted down on one CPU and another CPU
   is running PULSAR who is in the act of destroying its label DDB, various
   stopcodes will result depending upon whether or not the now stale label
   DDB's core has been recycled.

[Cure]
1. Have CKREW lock the job on the owning CPU.  Then TAPCNT will never need
   to call CKREW recursively.

2. Interlock the DDB chain when the label DDB is being unlinked.  Release the
   lock only after zeroing TUBCUR.  Have UTIMER lock up DDB scanning when it's
   playing with the contents of TUBCUR.

[Keywords]
MAGTAPES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	TAPSER	UTIMER,UTIMR5
		TAPUUO	CKREW,TPMLDD


[End of MCO 14086]

MCO: 14087		Name: DPM		Date: 28-Jul-88:09:17:47


[Symptom]
MASSBUS magtapes hang, sometimes resulting in hung device errors.

[Diagnosis]
While setting up an I/O transfer at UUO level, an interrupt can occur which
might change the RH10 or RH20 register being accessed at UUO level.  When the
interrupt is dismissed, UUO level code may no longer be talking to the same
MBR.

[Cure]
Save and restore the MBR at interrupt level.  RPXKON does this already.  That's
probably why we don't see DI hangs with the same frequency as tape hangs.

[Keywords]
MAGTAPE HANGS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	AUTCON	SVMBR
		FSXKON	FSXINT
		RNXKON	RNXINT
		RPXKON	RPXINT
		T78KON	T78ISR
		TD2KON	TD2ISR
		TM2KON	TM2ISR


[End of MCO 14087]

MCO: 14088		Name: RCB		Date: 28-Jul-88:17:43:48


[Symptom]
"?Job capacity exeeced (no core for a PDB)"
shortly after system startup.  Others possible.

[Diagnosis]
Until some jobs get and return alternate job context blocks, the first
context block given to each job by CREPDB comes from section-0 free core.  At
200 words a shot, that can exhaust low core rather quickly.

[Cure]
Allocate a fully-populated reserved list of context blocks at SYSINI time
in CTXINI.  This way we will have M.CTXR (default of M.JOB/4) blocks already
allocated from section 3 for jobs started from FRCLIN and the like.

[Keywords]
FREE CORE
CONTEXT BLOCKS
JOB CAPACTIY EXCEEDED

[Related MCOs]
11102

[Related SPRs]
None

[MCO status]
Checked

[MCO attributes]
New development MCO
Extended addressing only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	CTXSER	CTXINI,CREBLK,CREBL1
		COMMON	CTXTAB,DUMMY


[End of MCO 14088]

MCO: 14090		Name: DPM		Date:  1-Aug-88:04:25:33


[Symptom]
The first attempts to do anything to a tape fail on KS10 monitors.
Typing ^C and trying it again usually works, except in the case of
booting from magtape.

[Diagnosis]
In any monitor with FTMP turned off (usually a KS, but can happen on
KLs too), the first non-data operation will hang.  The kontroller isn't
started because TUBAKA hasn't been set for the drive in question.  The
active KDB address isn't set because TPMACC doesn't get called.  TPMACC
doesn't get called because some clever programmer thought he could save
a word or two in monitors where FTMP is turned off.

[Cure]
Remove IFN FTMP conditionals surrounding TPMACC and have TAPCNT always
call it instead of TAPACC if FTMP is off.

[Keywords]
MAGTAPES

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	366	TAPSER	TAPCNT
		TAPUUO	TPMACC


[End of MCO 14090]

MCO: 14097		Name: KBY		Date: 13-Aug-88:18:11:26


[Symptom]
Swapping migration stuck waiting for paging queues to empty.

[Diagnosis]
FILFND will dump the IN and SN queues and then wait for
the IP queue to clear, but the IN and SN queues can then fill up
again.  FILFND won't start looking for IPCF pages until it
thinks the queues are empty.

[Cure]
Actually, dumping each queue once is probably all that's
necessary, but it's easier to make the PAGE. UUO and IPCSER wait
until FILFND has passed by.

[Keywords]
swapper migration

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	370	VMSER	IPMWAT
		IPCSER	IPMCHK
		SCHED1


[End of MCO 14097]

MCO: 14098		Name: KBY		Date: 13-Aug-88:18:15:13


[Symptom]
PAGE. UUO .PAGBM doesn't work.

[Diagnosis]
Elves?

[Cure]
Take Edgecomb's suggested code; tweak it to be marginally more
effecient.

[Keywords]
bit map

[Related MCOs]
None

[Related SPRs]
36022

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	370	VMSER	PAGCHK


[End of MCO 14098]

MCO: 14100		Name: KDO		Date: 16-Aug-88:06:41:19


[Symptom]
Transit congestion loss (Phase III/Phase IV route-through doesn't)

[Diagnosis]
Circuit counter RCCMQ (number of messages queued) keeps increasing.
ROUTER, at RTRCSQ, starts refusing to do route-through due to congestion.
For each transit message to be queued for a DTE on another (non-policy) CPU, 
counter RCCMQ gets incremented twice and decremented once.

[Cure]
Don't call CALQOB at once-a-tic time.

[Keywords]
PHASE_III, MCB, CONGESTION, GROSS, DISGUSTING

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
KL10 only
Multi CPU only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	370	ROUTER	RTRJI4


[End of MCO 14100]

MCO: 14101		Name: JAD		Date: 22-Aug-88:07:28:16


[Symptom]
1) Non-DEC disks can do ECC, but wind up wasting time doing offsets
   and recalibrates before believing ECC.  This wouldn't be so bad,
   but it can cause the error to "wander" over the I/O, making it a
   little hard to pin down the bad spot (possible KAF).

2) KAF stopcode after position error recovery fails.

3) IBM disk code not functional.

[Diagnosis]
1) We thought everyone's disks had the ECC fire code problem.

2) Forgot to turn disk PIs back on.

3) Not completed.

[Cure]
1) Test the sign bit of KONECC (KONECA) to determine whether or not the
kontroller can really do ECC.

2) Return from POSER7 via a PJRST DOPOPJ.

3) Add latest and greatest from ADP.

[Keywords]
IBM DISKS
ECC CORRECTION

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	371	DEVPRM
		DPXKON
		DSXKON
		FILIO
		FHXKON
		FSXKON
		RAXKON
		RHXKON
		RNXKON
		RPXKON
		SAXSER


[End of MCO 14101]

MCO: 14110		Name: JMF		Date: 30-Aug-88:07:37:26


[Symptom]
Data integrity problems using big buffers on an SMP system (in
particular when the disk is very fragmented). Symptom observed is a
few blocks missing when reading a file where a few is 1->buffer size
in blocks - 1.

[Diagnosis]
If we start I/O in the middle of a buffer because part of it was
filled on a previous input, we touch the buffer control words (S word,
word count word, etc.). However, we OUCHE using the IOWD list which does
not get the buffer control words for the first buffer out of the cache.

[Cure]
If we start I/O in the middle of the first buffer, OUCHE the buffer
control words in the SETLST loop rather than depending on them getting
OUCHEd by following the IOWD list which will not include the buffer
control words for the first buffer.

[Keywords]
SMP
big buffers
cache
data integrity

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Multi CPU only
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	372	FILIO	SETLS7

703A		FILIO	SETLS7


[End of MCO 14110]

MCO: 14111		Name: JMF		Date:  1-Sep-88:07:17:30


[Symptom]
Patches made to virtual user mode programs with FILDDT disappear.

[Diagnosis]
If the patch happens to get made to a write locked page, the page
doesn't get written to the swapping space the next time the job gets
swapped out.

[Cure]
If the job and the page are in core and the page is write locked,
write enable the page and decrement .USWLP before copying the data
from the patcher to the patchee.

[Keywords]
JOBPEK

[Related MCOs]
None

[Related QARs]
None

[MCO status]
Deferred

[MCO attributes]
New development MCO
QAR answer

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	UUOCON	JOBPK3,JPKLW?


[End of MCO 14111]

MCO: 14112		Name: JAD		Date:  1-Sep-88:09:48:10


[Symptom]
Jobs accessing CI disks can hang  in  DI  state.   A  possible  external
symptom  is  a  KLPSWO  stopcode,  depending  on the version of the CI20
microcode, HSC50 software, and CI link module revision.

[Diagnosis]
When FILIO decides to initiate a transfer on a CI  disk,  an  RH20-style
channel  command  list  is constructed via calls to MAPIO.  This channel
program is then translated by RAXKON (via a call to MSCMIO) into a KLIPA
buffer segment descriptor chain.

In a pathological case (.R PIP  100K  is  a  good  example),  a  channel
program   will  be  constructed  to  transfer  (at  maximum)  an  entire
cylinder's worth of data (which, on an RA81, is 644  blocks).   However,
KLPSER  only  allocates  256 buffer segment descriptor blocks.  Since it
requires (at least) one buffer segment descriptor block to map one  user
data  buffer, MSCMIO won't be able to translate the channel program.  It
returns an error to RAXKON, which in turn returns "no credits" to FILIO.
FILIO  now  puts  the unit in position wait state, and hangs the job off
the unit's position wait queue.  Any other jobs  which  attempt  I/O  to
this unit will get queued behind the offending job.

Once per second, FILIO attempts to retry  the  request,  but  since  the
number  of buffer segment descriptors hasn't increased, the request will
fail forever.

[Cure]
Limit the maximum transfer size on a CI disk to 50 blocks.   Since  this
transfer  would require at most 100 buffer segment descriptors, there is
no chance of the I/O hanging.

The possible KLPSWO stopcodes are indicative of a timing problem in  the
CI20  and  HSC50  link modules, as well as a microcode "bug" in the CI20
microcode.  Installing CI20 microcode version 1A(733) will go a long way
toward  elminating  the  KLPSWO  stopcodes;  the proper rev level on the
link boards will also help.  This information will be published  in  the
beware file.

[Keywords]
LDMP
CI DISKS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	372	FILIO	SETLST


[End of MCO 14112]

MCO: 14113		Name: BAH		Date:  2-Sep-88:07:46:02


[Symptom]
704 comes of age.

[Diagnosis]
Always happens at the end of a release, doesn't it.

[Cure]
Set the load number to 0 so we have a real 704.

[Keywords]
704

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	372	COMMON	A00DLN


[End of MCO 14113]

MCO: 14114		Name: KBY		Date:  3-Sep-88:11:27:58


[Symptom]
Stale page land mines on the OUT queue.  Potential BACs,
wrong pages going to jobs, etc.  Actually, because of a quirk of fate,
none of this can probably ever happen.

[Diagnosis]
If we try to page in a page while it's on the IP queue, we
block the job until the IP queue is moved to the OUT queue, and then
go back to try and find the page on the OUT queue.  Unfortunately, the
label to which we return is one instruction off, and we never clear the
bits in the page map entry we pick up.  This means we never find the
page on the OUT queue.  The monitor then pages in the page for this
job and returns the disk address, but the address never gets cleared
in MEMTAB for the page still on the OUT queue.  If the disk address gets
recycled into paging I/O page for this or some other job before the page
gets moved to the free list, the above scenarios are possible (it's
actually a little more complicated than this, but this is the gist of the
matter).  This probably doesn't in reality cause real problems because
the queue is search front-to-back whereas pages are removed back-to-front.

[Cure]
PLTS10-1-->PLTS10.

[Keywords]


[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Deferred

[MCO attributes]
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
703A		VMSER	PLTS10
704	


[End of MCO 14114]

MCO: 14115		Name: LWS		Date:  3-Sep-88:17:24:45


[Symptom]
1. User mode disk diags, DFRPM, DFRPK, DDRPI, to name
a few (and only ones tried) don't. IMEs and BACs most common
symptom.

2. Bit spray/unspray at location 32 (if anybody cares).


[Diagnosis]
1. DIACST and DIARCX expect KDB address in P3 when
really it is in W execpt when DIARAU calls DIARCX and W has
PDB address.

2. DIAKDB is PUSHJ'd to with IORM or ANDCAM T1,KONBSY(T3) following
call that sets/clears busy bit in KDB. DIAKDB does a non-skip
return all the time and T3 is zero if unit isn't dual-ported.

[Cure]
1. In DIACST and DIARCX change P3 to W and in DIARAU rearrange
first few lines of code so DIARCX is called before FNDPDS.

2. Change POPJs to JRST CPOPJ1s in DIAKDB.

[Keywords]
User mode diagnostics

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	FILIO	DIACST,DIARCX,DIARAU,DIAKDB


[End of MCO 14115]

MCO: 14117		Name: JJF		Date:  8-Sep-88:13:29:16


[Symptom]
ONCE dialogue for CHANGE NET states that valid DECnet area numbers
run from 1 to 36.


[Diagnosis]

Transposed digits.


[Cure]

Untranspose them.


[Keywords]
DECnet Area Number

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
None

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	SYSINI	CHGNE2


[End of MCO 14117]

MCO: 14120		Name: DPM		Date: 12-Sep-88:03:15:51


[Symptom]
Tape hangs and possible IMEs trying to add a new tape drive.

[Diagnosis]
Routine AUTMDT does not adequately check arguments passed to it.
TS1KON (SA10 tape service) calls AUTMDT with a zero address for
one of the arguments.

[Cure]
The solution is to change a MOVE P1,P2 to a SKIPE P1,P2 which causes
zero addresses to be ignored.  Presently, TS1KON is the only module
which will pass a zero to AUTMDT, however customer drivers might want
to do the same thing, particularly if they beleive the comments in
AUTCON which state this is a legal thing to do.

[Keywords]
AUTCON

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	AUTCON	AUTMD2


[End of MCO 14120]

MCO: 14121		Name: DPM		Date: 12-Sep-88:03:24:45


[Symptom]
Stopcode KAF trying to add a new tape drive.

[Diagnosis]
An operator switches a tape drive on.  The driver (TD2KON, TS1KON,
or TX1KON) will automatically autoconfigure the new drive, but this
could take up to 15 or more seconds to happen depending upon the
amount of tape activity at the time.  Because of the delay, it will
appear to the operator that the drive went unnoticed, so he types
CONFIG ADD MTAn.  If the command is typed when the driver is configuring
the new tape drive, a KAF will result.  This happens when the routine
AUTLOK is called to get the AUTCON interlock.  The interlock will
already be owned by the caller.  AUTLOK detects this properly, but
takes the error return which indicates the interlock in unavailable
and the monitor is running at clock level.  If this were truely the case,
then the clock level routine would spin in a JRST .-1 loop waiting to
get the interlock.  But the job is running at UUO level and it already
owns the interlock.  Thus, the KAF is caused by spinning at UUO level.

[Cure]
The correct thing to do is have AUTLOK take the success return which
means the interlock is owned by the caller and it's OK to proceed.

[Keywords]
AUTOCONFIGURE

[Related MCOs]
13115

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	AUTCON	AUTLOK


[End of MCO 14121]

MCO: 14123		Name: LWS		Date: 12-Sep-88:10:07:56


[Symptom]
1. Tape diag UUO routines TPDASU,TPDAAU and TPDRCU incomplete.

2. CHKKON calls CKSIO3 without UDB address on stack.

[Diagnosis]
1. TPDRCU checks job number in DDB before clearing TUCDIG, but
TPDASU and TPDAAU never set the job number in the DDB.

2. Code wrong.

[Cure]
1. Teach TPDASU and TPDAAU to put job number in DDBs and teach
TPDRCU to to clear it.

2. Revove call to CKSIO3, not needed.

[Keywords]
TAPE DIAGS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
Deferred

[MCO attributes]
New development MCO
KL10 only

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	TAPUUO	TPDAAU,TPDASU,TPDRCU
		TAPSER	CHKKO3


[End of MCO 14123]

MCO: 14124		Name: LWS		Date: 12-Sep-88:21:00:20


[Symptom]
UIL stopcodes running tape diag DFTUJ in user mode.

[Diagnosis]
When DFTUJ is configuring the tapes, it assigns each
tape in turn using diag uuo calls. However once it has a tape unit
assigned (sort of) it fondles the RH20 in such a way that the IVAR
is lost. When CHKKON runs once a second, it reenables interrupts
on the channel since only the tape unit is held by the diag. Whatever
the diag does causes an attention interrupt and when interrupts
are enabled, we vector to somewhere we aren't supposed to (to put
it mildly).

[Cure]
Fix the TAPUUO diag code that assigns tape units to
lite TKSMNT in all KDBs on the same RH20 as the KDB the unit(s)
is(are) on. Since DFTUJ (and possibly others) hack at the RH20,
this will keep CHKKON from sniffing on the KDBs and reenabling
interrupts on the channel while the unit (channel is more like it)
is being used. When releasing the unit(s) from the diag, clear
TKSMNT in the KDBs and reset the controller that was used.

[Keywords]
tape diags

[Related MCOs]
14123

[Related SPRs]
None

[MCO status]
Deferred

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	373	TAPUUO	TPDSCH,TPDRCU,TPDASU


[End of MCO 14124]

MCO: 14125		Name: JMF/KBY		Date: 23-Sep-88:05:45:28


[Symptom]
STOPCD NSH on a swap read error

[Diagnosis]
CAM (P) fails because of junk in the left half of item on the
stack. If the CAM suceeded, IMEs or BACs are possible.

[Cure]
HRRZS (P)

[Keywords]
NSH
swap read error

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Field service attention
PCO required

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	374	SEGCON	KILFNL


[End of MCO 14125]

MCO: 14126		Name: LWS		Date: 26-Sep-88:10:51:43


[Symptom]
1. Tape diags need help in user mode.
2. Part of a previous MCO didn't make it in - calling CKSIO3 from
CHKKO3 when we don't have to and without proper setup.

[Diagnosis]
1. Some diags blow away channel controller is on (and
others if they happen to be there).

2. my stupidity

[Cure]
1. Make TPDSMM and TPDCMM grab/release all kontrollers and
units on channel to prevent unwanted problem with user and CHKKON.

2. Make sure code makes it in (out is really the case).

[Keywords]
Tape diags

[Related MCOs]
14123, 14124

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO
Field service attention

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	374	TAPSER	CHKKO3
		TAPUUO	TPDSMM,TPDCMM,TPDTST,TPFREE


[End of MCO 14126]

MCO: 14128		Name: JAD		Date: 29-Sep-88:13:52:46


[Symptom]
Spurious IPCF receive failures indicating "memory limit exceeded".

[Diagnosis]
On a page mode receive, IPCSER calls IPCINS in VMSER to insert
the page into the receiver's addressing space.  IPCSER left W pointing
at the IPCF data in the job's PDB.  IPCINS assumes W points at the
job's PDB.  The core size checks done in IPCINS and by routines called
by IPCINS look in the PDB pointed to W, but since the PDB address has
been offset by .PDIPC, the wrong location in the PDB is checked.
Depending on what is there, the receive may or may not succeed.
In addition, the receiver may be allowed to exceed their receive quota,
since the check is incorrect.

[Cure]
Call FNDPDS in IPCINS to point W at the PDB.  Don't worry about
preserving the contents of W since IPCSER is already doing that.

[Keywords]
IPCF RECEIVE FAILURE

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	375	VMSER	IPCINS


[End of MCO 14128]

MCO: 14129		Name: DPM		Date:  4-Oct-88:10:00:35


[Symptom]
Stopcode IME performing read-backwards error recovery on a TU78.

[Diagnosis]
T78KON thinks it's being clever when it does read-backwards retries.
Perhaps it is, but if it's going to call REVCCW, it ought to set up
T3 with the channel program address.

[Cure]
MOVE T3,TRBXCW(T1)

[Keywords]
READ-BACKWARDS

[Related MCOs]
None

[Related SPRs]
None

[MCO status]
None

[MCO attributes]
New development MCO

[Validity]

Monitor	 Load	Module	 Tags
-------	------	------	------
704	375	T78KON	INTRRO


[End of MCO 14129]