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 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 =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 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 prevents the CI from starting, while setting B 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 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 via EXEC DDT is somewhat painful due to all the pauses while EXEC DDT is searching the symboltable (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, 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 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 . 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, 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" 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] ?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" 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]