Google
 

Trailing-Edge - PDP-10 Archives - BB-H311D-RM - monitor-sources/bugs.mac
There are 102 other files named bugs.mac in the archive. Click here to see a list.
BUG.(HLT,ABKSKD,PAGEM,SOFT,<ADDRESS BREAK FROM SCHEDULER CONTEXT>,,<

Cause:	A page failure occurred while the monitor was running in scheduler
	context, and the page fail word indicated an address break. Address
	breaks can only be set in code that runs in process context.
>)


BUG.(HLT,ADDONF,NSPSRV,SOFT,<ADDOBJ-LLLKUP FAILED>,,<

Cause:	An attempt was made to add a new DECnet logical link to the data
	base and it was discovered that the logical link was already there.

Action:	Look at the dump.  You should be able to tell which routine handed
	ADDLNK the bad block number.

>)


BUG.(HLT,AGSETX,PAGEM,SOFT,<AGESET - XB needs checking>,,<>)


BUG.(CHK,ANIOPF,IMPANX,SOFT,<IO PAGE FAIL FROM AN20>,<<P1,NCT>>)


BUG.(HLT,APRAPE,APRSRV,HARD,<ADDRESS PARITY ERROR>,,<

Cause:	An APR interrupt occurred because a memory controller
	signaled that it had received from the processor an
	address with even parity. The monitor has printed a
	description of the problem on the CTY.

Action:	Using SBUS diag 0 for all memory controllers, check for the
	address parity error bit(s). Test thoroughly the bus and
	controller.
>)


BUG.(HLT,APRNX1,APRSRV,HARD,<NXM DETECTED BY APR>,,<

Cause:	An APR interrupt occurred because the processor attempted to
	access a memory that did not respond within a preset time. This
	can indicate broken hardware or a software bug. The monitor
	has printed a description of the problem on the CTY.

Action:	The analysis of this BUGHLT is extremely complicated.
	The physical address from the error register is printed on the
	CTY ("ERA="). If there is physical memory at this address, the
	problem is probably in the hardware. If the address does not
	exist, the problem may be in either hardware or software.

	One software problem that has led to this BUGHLT in the past
	is code that returns an SPT slot to the free pool while leaving
	a pointer to that slot in some page table. The content of
	the SPT entry, instead of being a pointer to memory, is a
	pointer to another SPT slot.

	In this case, a page fault will have occurred just before the
	interrupt. The PC will point into the page fault handler.  The page
	fault word and PC (TRAPSW and TRAPPC, respectively) will
	indicate the virtual address and instruction at the time of
	the page fault. Tracing this virtual address to the SPT will
	produce the erronenous SPT entry.

	Note, however, that this BUGHLT is rarely caused by software
	in the field. The hardware is probably broken.
 >)


BUG.(HLT,APRNX2,APRSRV,HARD,<NXM DETECTED BY APR>,,<

Cause:	A page fault occurred, indicating that the processor
	attempted to access a memory that did not respond within
	a preset time, and the monitor is presently processing an
	interrupt or running in the scheduler, and the interrupt
	system is turned on. Since non-existent memory also
	produces an APR interrupt, which results in an APRNX1 BUGHLT,
	this BUGHLT does not normally occur.

Action:	See APRNX1. Note, however, that the occurrence of this BUGHLT
	instead of APRNX1 may indicate a failure in the interrupt
	system.
>)


BUG.(CHK,ARCASS,JSYSF,HARD,<ARCF: File dir # and mapped dir # do not match>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,ARCVER,IPCF,HARD,<ARCMSG: NOUT failed>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,ARSTXX,JSYSF,SOFT,<ARRST: FDB dissappeared for destination file>,,<

Cause:	The FDB for a file being restored from offline does not exist.

Action:

>)


BUG.(CHK,ASAASG,DSKALC,SOFT,<DSKASA - ASSIGNING ALREADY ASSIGNED DISK ADDRESS>,<<T1,STRCOD>,<T2,SECTOR>>,<

Cause:	The sector being assigned on the disk is already assigned.
	May happen during creation of structure when assigning
	swapping space, and the sector is already assigned in the
	BAT blocks.

Action:

Data: Structure Unique Code, Sector Number on Disk Relative
		to Start of Structure

>)


BUG.(CHK,ASGBAD,DSKALC,SOFT,<DSKASA - ASSIGNING BAD DISK ADDRESS>,<<T3,STRCOD>,<T2,SECTOR>>,<

Cause:	The sector being assigned was not within the legal range
	of sector numbers.

Action:

Data: Structure Unique Code, Sector Number on Disk Relative
		to Start of Structure

>)


BUG.(CHK,ASGBPG,DSKALC,SOFT,<INIBTB-FAILED TO ASSIGN BAD PAGE(S)>,<<T1,STRCOD>,<T2,AMOUNT>>,<

Cause:	The bit table is being initialized; home blocks, pages
	in the BAT blocks, and swapping space are being assigned.
	Address(es) in the BAT blocks were not assigned.

Action:

Data: Structure Unique Code, Number of Addresses not Assigned

>)


BUG.(HLT,ASGFR0,FREE,SOFT,<ASGFRE - ILLEGAL TO ASSIGN 0 FREE SPACE>,,<

Cause:	An illegal request for free space is being made.  The calling routine
	is asking for zero words of free space.

Action:	Look at the dump.  By backing up the stack you
	should be able to tell what routine called for the illegal
	free space.


>)


BUG.(CHK,ASGINT,FREE,SOFT,<ASGFRE CALLED OKINT>,<<C,D>>,<

Cause:	This is a free space problem.  Calls to swapable free space
	routines should be made only while the calling process is NOINT.  The
	calling routine is not protecting itself from losing free space.  It is
	OKINT.  Since it is OKINT it could get interupted and never return,
	thus losing the free block assigned.

Action:	The data supplied gives the address of the calling routine.  Make
	the routine be NOINT until it has ensured that the block will be
	freed when it is interrupted (e.g. JSB stack).


>)


BUG.(CHK,ASGREP,FREE,SOFT,<ILLEGAL PRIORITY GIVEN TO ASGRES>,,<

Cause:	This is a free space problem.  The caller is asking for resident
	free space.  In T3 the caller gives a priority for this request.
	The priority determines how ASGRES is going to handle this request
	when free space is low.  This priority is out of range.

Action:	If the problem persists change the BUGCHK to a BUGHLT and look
	through the dump to find the caller.


>)


BUG.(CHK,ASGREQ,FREE,SOFT,<ILLEGAL POOL NUMBER GIVEN TO ASGRES>,,<

Cause:	This is a free space problem.  The caller is requesting resident
	free space.  In T2 the caller is providing a pool number for where
	the free space should come from.  This pool number is incorrect.

Action:	If the problem persists change the BUGCHK to a BUGHLT to find the
	culprit. The caller putting a bad value into T2.


>)


BUG.(HLT,ASGSW2,PAGEM,SOFT,<SWPOMG-CANNOT ASSIGN RESERVED DRUM ADDRESS>,,<

Cause:	The monitor is swapping a group of pages to a set of contiguous
	pages in the swapping space. The swapping space manager has
	provided a starting address for a block of free pages. An attempt
	to assign one of the pages has failed. This indicates an
	inconsistency in the monitor's data or a race condition.
	For example, a context switch may have occurred when it was
	not expected.
>)


BUG.(CHK,ASGSWB,SWPALC,SOFT,<SWPINI-CANNOT ASSIGN BAD ADDRESS>,,<

Cause:	Cannot assign bad drum address because it is an illegal
	address or already assigned.

Action:

>)


BUG.(HLT,ASOFNF,DISC,SOFT,<DELFIL: ASGOFN GAVE FAIL RETURN FOR LONG FILE XB>,,<

Cause:	A long file was being deleted and ASGOFN could not assign a system file
	number (OFN).  This usually happens because there were not enough OFN
	slots.

Action:	If this happens frequently, rebuild the monitor with more OFN slots.

>)


BUG.(HLT,ASTJFN,LOOKUP,SOFT,<GETFDB: CALLED FOR JFN WITH OUTPUT STARS>,,<

Cause:	The monitor tried to get a pointer to the FDB of an output file, and
	the file specification used as an argument to GTJFN contains asterisks.

>)


BUG.(CHK,BADADR,MNETDV,SOFT,<No NCT for address>,<<T1,ADR>>)


BUG.(CHK,BADBAK,FILINI,HARD,<FILIN2 - BACKUP COPY OF ROOT DIRECOTRY IS NOT GOOD>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,BADBAT,DSKALC,HARD,<BAT BLOCKS UNREADABLE>,,<

Cause:	BAT block header contains bad information.

Action:

>)


BUG.(HLT,BADBUF,MNETDV,SOFT,<Null buffer address>)


BUG.(HLT,BADDAC,DIRECT,SOFT,<INSACT - NULL ACCOUNT STRING SEEN>,,<

Cause:	A null account string was given for insertion into the FDB by the
	monitor during the creation of a file or while executing a SACTF JSYS.

>)


BUG.(HLT,BADFEV,PHYSIO,SOFT,<CHKPDV - WRONG OR BAD FRONT-END VERSION>,,<

Cause:	The front-end did not send us a type 40 message to give us the
front-end disk serial numbers.

Action: Fix the front-end.
>)


BUG.(CHK,BADIDX,FILINI,HARD,<IDXINI: PARTIALLY UNSUCCESSFUL INDEX TABLE REBUILD>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,BADIRB,PHYSIO,SOFT,<Bad IORB passed to GIVIRB>,,<

Cause:	An IORB was passed to GIVIRB which does not have a legal address.
	This indicates a software problem in the monitor.

>)


BUG.(HLT,BADPTR,PAGEM,SOFT,<BAD SECTION POINTER - SECMAP>,,<

Cause:	The section pointer being deleted was not one of the
types (share or indirect) expected.
>)


BUG.(HLT,BADREC,FILINI,hard,<FILINI - Reconstruction of ROOT-DIRECTORY failed>,,<

Cause:	One of the following failures occurred during attempted reconstruction
	of the root directory during system startup:  could not
	get OFN for backup root-directory; could not get OFN for the root-
	directory; could not assign a page in the job data area to build the
	backup index block; or the backup root-directory is clobbered.

>)


BUG.(HLT,BADROT,FILINI,HARD,<FILIN2: ROOT-DIRECTORY IS INVALID>,,<

Cause:	When the system was coming up, BLKSCN was called to check the
	consistency of the root directory.  This error means that
	BLKSCN found that the root directory had an unrecognizable type,
	the last block did not have the expected length, or some block
	had an incorrect format.

Action:	Use EDDT to break after BLKSCN and examine the error code in AC1.
	This code will sometimes indicate what is wrong with the root
	directory.  If other BUGCHKs or BUGINFs occur with this BUGHLT, they
	also can provide helpful information.

	If the system can be brought up using another structure as PS:,
	the bad structure can sometimes be fixed with various tools such
	as FILDDT.  If this restoration fails, the pack can be started
	afresh and pertinent DUMPER backup tapes can be used to restore the
	structure.
>)


BUG.(CHK,BADTAB,JSYSA,HARD,<VERACT - SPURIOUS HASH TABLE ENCOUNTERED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,BADTTY,TTYSRV,SOFT,<TRANSFER TO NONEXISTENT TTY CODE>,,<

Cause:	The transfer vector for a non-existent TTY line type was
	referenced.

Action:	Look at the dump.  The stack should indicate which routine caused
	the reference.

>)


BUG.(HLT,BADTYP,TAPE,HARD,<BAD LABEL FIELD DESC>,,<

Cause:	This is a bug in TAPE.  The internal routines in TAPE have a table
	with codes that describe the type of data in particular label fields
	(octal,string,decimal).  One of these tables has a code that is
	out of range.

Action:	Try to find out where the out of-range-code came from.


>)


BUG.(HLT,BADXT1,FILINI,soft,<INDEX TABLE MISSING AND CAN NOT BE CREATED>,,<

Cause:	During system startup, MAKIDX failed to recreate the index
	table file.  This will occur, for instance, if one of the following
	conditions exist: ASGJFR fails to get free space, STRST fails to create
	a filespec; GTJFN fails to create the file; OPENF fails to open it.
>)


BUG.(CHK,BADXT2,FILINI,HARD,<INDEX TABLE MISSING AND WAS CREATED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,BADXTB,FILINI,soft,<FILIN2: Could not initialize index table>,,<

Cause:	This can happen either because IDXINI failed during normal
	system startup, or because MAKIDX failed during a special startup
	while PS: was being created.
>)


BUG.(HLT,BKUPDF,PAGEM,SOFT,<BKUPD - BAD CST1 ENTRY OR INCONSISTENT CST>,,<

Cause:	A routine has been called to swap a core page to disk or drum.
	It has decided to swap to the disk. The BUGHLT indicates that
	no back address was found in the CST. This usually indicates
	bad data in the CST or a bad pointer in a page table.
>)


BUG.(CHK,BLKF1,IO,HARD,<BYTINA: BLKF SET BEFORE CALLING SERVICE ROUTINE>,,<

Cause:	This is a consistancy check in BYTINX.  The enviornment is in IO where sequential
	input is being processed.  The code is getting ready to jump to the
	device dependant code.  Before doing so it sees if a bit (BLKF) is
	set in STS (AC 8).  This bit indicates that the service routine wants
	to block.  Therefore, no matter what the device dependant routines
	do the process will ultimately block.  It is unlikely that this is
	being done on purpose.  It is more likely that somewhere BLKF is
	not being cleaned up prolerly.

Action:	If this is becoming a problem change the BUGCHK to a BUGHLT and
	look at the dump.If FILSTS for the current JFN has the bit on then
	the problem gets a little tricky since the previous use of it left
	BLKF on.  If BLKF is off in FILSTS then somewhere past the call to
	CHKJFN it is being turned on.

>)


BUG.(CHK,BLKF2,IO,HARD,<BYTOUA: BLKF SET BEFORE CALL TO SERVICE ROUTINE>,,<

Cause:	This is a consistancy check in BYTOUA.  The environment is in IO just
	before it gets ready to call the device dependant routines to do output.
	Bit BLKF in STS (AC 8) is on.  It should be off.  It causes the process
	to block.  It is unlikely that this sort of apriori knowledge is
	available.  It is more likely that this is an error.

Action:	If the problem persists change the BUGCHK to a BUGHLT and look at
	the dump.  If FILSTS for the current JFN has the BLKF bit on then
	the last one to user the JFN left it in that state.  A hard problem
	to find.  If BLKF is off in FILSTS then somewhere after the call to
	CHKJFN the bit is being set on not reset.

>)


BUG.(CHK,BLKF3,JSYSF,HARD,<CLZDO: BLKF SET BEFORE CALL TO SERVICE ROUTINE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,BLKF4,JSYSF,HARD,<.GDSTS: BLKF SET BEFORE CALL TO DEVICE ROUTINE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,BLKF5,JSYSF,HARD,<.MTOPR: BLKF SET BEFORE CALL TO DEVICE ROUTINE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,BLKF6,JSYSF,HARD,<.SDSTS: BLKF SET BEFORE CALL TO DEVICE ROUTINE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,BREAKIN,JSYSA,SOFT,<Password guess threshold exceeded>,<<T1,CTRLTT>,<T2,USERNO>,<T3,STRNUM>,<T4,DIRNUM>>,<

Cause:	Someone has typed more than MXFLCT incorrect passwords. The system
	will now refuse all subsequent passwords for some time. It is likely
	the person is trying to guess passwords

Data:	CTRLTT is the line number of the job
	USERNO is the user number if the job is logged in
	STRNUM is the number of the structure of the target
	DIRNUM is the directory nubmer of the target>)


BUG.(HLT,BTBCR1,FILINI,soft,<FILINI - NO BIT TABLE FILE AND UNABLE TO CREATE ONE>,,<

Cause:	MNTBTB failed, so the system restart logic called CRTBTB to
	create a new bit table.  CRTBTB failed too, so the BTBCR1 BUGHLT
	happened.  CRTBTB will fail if INIBTB fails, which can happen if
	DSKASA fails to assign a disk page, or if SWPASN fails to assign
	swapping space.
>)


BUG.(HLT,BTBCRT,FILINI,soft,<FILINI - COULD NOT INITIALIZE BIT TABLE FOR PUBLIC STRUCTURE>,,<

Cause:	During special system startup in which PS: was being refreshed,
	CRTBTB failed to build a new bit table.  See CRTBT1 for more detail
	on why CRTBTB fails.
>)


BUG.(INF,CCBROT,DIRECT,HARD,<CPYBAK: CAN'T COPY BACKUP ROOT-DIRECTORY>,<<T1,LSTERR>>,<

Cause:	The monitor has detected a problem with the backup root-directory
	and is attempting to copy the primary root-directory to the backup.
	The copy failed.

Data:	LSTERR - Error returned from CPYBAK

>,R)


BUG.(HLT,CDILVT,CDRSRV,HARD,<ILLEGAL DEVICE FUNCTION CODE>,,<

Cause:	In CDRSRV an illegal function code was specified.  The
	function codes allow for opening, closing, reseting, etc.  A code
	was specified that is out of range.

Action:	Use the stack to find the routine that is specifying the wrong code.
	The code is usually specified as the address field of a CALL
	instruction.


>)


BUG.(HLT,CFACCF,CFSSRV,SOFT,<CFSSRV - SC.ACC failed>,<<T2,NODE>,<T1,CID>,<T3,ERR>>,<

Cause:	The call to SC.ACC failed.>)


BUG.(HLT,CFANAE,CFSSRV,SOFT,<CFSSRV - No allocation entry>,,<

Cause:	The caller wanted to update a directory allocation entry, and
	no such entry could be found>)


BUG.(HLT,CFBAFN,CFSSRV,SOFT,<CFSSRV - Bad function to CFSDAU>,,<

Cause: CFSDAU has been called with an invalid function
>)


BUG.(CHK,CFCCLZ,CFSSRV,SOFT,<CFSSRV - Can't close CFS connection>,<<T2,NODE>,<T1,CID>,<T3,ERROR>>,<
Cause:	A "set CI offline" has been requested and SCA refuses to close
	a CFS connection.  The call to SC.DIS to disconnect from the remote
	node failed.  This may result in a CFRECN BUGHLT when the CI is put
	on-line.

Data:	NODE  - node number of remote
	CID   - connect ID
	ERROR - error code returned by SCA
>)


BUG.(INF,CFCONN,CFSSRV,SOFT,<CFSSRV - CFS connection>,<<T2,NODE>,<T1,CID>,<T3,SERNUM>>,<>)


BUG.(INF,CFDISC,CFSSRV,SOFT,<CFSSRV - CFS disconnect>,<<T2,NODE>,<T1,CID>,<T3,SERNUM>>,<>)


BUG.(HLT,CFGARD,CFSSRV,SOFT,<CFSSRV - Vote packet address is bad>,,<
Cause: A bad vote packet address has been given to CFSWDN>)


BUG.(HLT,CFLISF,CFSSRV,SOFT,<CFSSRV - SC.LIS failed>,<<T1,ERR>>,<

Cause:	The call to SC.LIS failed.>)


BUG.(HLT,CFNLTK,CFSSRV,SOFT,<CFSSRV - Null disk address given to CFSAWT>,,<
Cause:	A call was made to create an OFN access token, but SPTH for the
	OFN is not set up>)


BUG.(HLT,CFRECN,CFSSRV,SOFT,<CFSSRV - Illegal reconnect>,<<T2,NODE>,<T1,CID>>,<

Cause: The VC between this system and another has been continued illegally>)


BUG.(HLT,CFSBTP,CFSSRV,SOFT,<CFSSRV - Bad token packet>,,<>)


BUG.(HLT,CFSDDD,CFSSRV,SOFT,<CFSFOD called incorrectly>,,<

CFSFOD has been called by DDMP to indicate that a force out is complete.
However, as this is not a real CFS monitor, DDMP should never have been
requested to do this>)


BUG.(HLT,CFSICN,CFSSRV,SOFT,<CFSSRV - Illegal configuration>,,<

Cause:	This system has detected an illegal configuration. Most
	likely it is that there are too many nodes in the
	network. The caller of this routine should be examined
	for more details.>
)


BUG.(HLT,CFSIGT,CFSSRV,SOFT,<CFSSRV - Illegal return from CFSGET>,,<

Cause:	A call to CFSGET, CFSGTT or CFSGTL returns +1 even though a
	wait-until-successful was requested>)


BUG.(CHK,CFSILJ,CFSSRV,SOFT,<CFSSRV - Illegal Local Job Number>,,<
>)


BUG.(HLT,CFSKPD,CFSSRV,HARD,<CFSSRV - The KLIPA failed>,,<
Cause: The KLIPA hardware or the CI has failed and CFS cannot continue>)


BUG.(HLT,CFSMPB,CFSSRV,SOFT,<CFSSRV - CFSMAP returned in-use entry>,,<>)


BUG.(HLT,CFSNAF,CFSSRV,SOFT,<Allocation entry not found>,,<

Cause:	An allocation entry has just been created, and  CFSSRV can't find
	it in the hsh table>)


BUG.(HLT,CFSNOT,CFSSRV,SOFT,<CFSSRV - OFN token table and hash table disagree>,,<

Cause:	CFSSRV is trying to remove a file access token and has found the
	token in the hash table, but not in the OFN token table. This indicates
	that one of the data bases is incorrect
>)


BUG.(HLT,CFSOFB,CFSSRV,SOFT,<CFSSRV - OFN owned at CFSOFC>,,<>)


BUG.(HLT,CFSRNM,CFSSRV,SOFT,<CFRDSN - Could not rename DSN entry>,,<

Cause:	A pack of a mounted structure has been moved to a new unit and
	the new CFS mount resource already exists for the new drive.
	This indicates either the CFS data base is wrong, or PHYSIO's
	data base is wrong.
>)


BUG.(HLT,CFSSEZ,CFSSRV,SOFT,<CFSSRV - Section 0>,,<>)


BUG.(HLT,CFSSMC,CFSSRV,SOFT,<CFSSRV - Tried to send a message>,,<

Cause:	CFSSRV tried to send an SCA message and that option is not
	supported in this version of TOPS-20>
)


BUG.(HLT,CFSSUF,CFSSRV,SOFT,<CFSSUG - Could not find entry to upgrade>,,<

Cause: A request was made to change the mount type of a structure, and the
CFS data base has no record of the structure being mounted>)


BUG.(HLT,CFSTND,CFSSRV,SOFT,<CFSSRV - Access token not deleted>,,<>)


BUG.(HLT,CFSVFL,CFSSRV,SOFT,<CFSSRV - Structure verify failed>,,<
Cause:	CFS could not verify one of the existing structure resources during
	the join operation. This porbably means there is a structure
	naming conflict>)


BUG.(HLT,CFSWMC,APRSRV,HARD,<Wrong UCODE for CFS>,,<>)


BUG.(HLT,CFZCNT,CFSSRV,SOFT,<CFSSRV - Zero HSHCNT before decrement>,,<

Cause: Some routine wants to decrment the resource share count, but the
	count is already zero>)


BUG.(INF,CGROFN,DIRECT,SOFT,<CHKBAK: CAN'T GET ROOT-DIRECTORY OFN>,<<T1,LSTERR>>,<

Cause:	An OFN cannot be assigned for the backup Root-Directory of a file

Data:	LSTERR - Error returned from ASGOFN

>,R)


BUG.(HLT,CHKRNR,SCHED,SOFT,<CHKR FORK NOT RUN FOR TOO LONG>,,<

Cause:	The  monitor  creates  a fork in job zero that exists for the life of
	the  system.  This  fork  runs  periodically  to  perform   essential
	functions.  The  BUGHLT  occurs  when the scheduler detects that the
	CHKR fork has not run in too long a time.

	Possible causes for CHKR not running include the following:
		1. A disk failure that prevents fork 0 from updating the disk
		2. Removal of a  mounted structure
		3. Logic errors in the monitor.
		4. An HSC or MSCP server disk is hung.

>)


BUG.(INF,CIPDFQ,PHYKLP,SOFT,<PHYKLP:  Datagram free queue empty>,,<

Cause:	The port has found the datagram free queue to be empty.
>)


BUG.(INF,CIPMFQ,PHYKLP,SOFT,<PHYKLP:  Message free queue empty>,,<

Cause:	The port has found the message free queue to be empty.
>)


BUG.(HLT,CKPGPF,PAGUTL,HARD,<CHKPAG - UNEXPECTED PAGE FAULT>,,<

Cause:	During a call to CHKPAG, a page fault occurred, and the error code did
	not indicate non-existent memory.

>)


BUG.(CHK,CKPLEN,MEXEC,HARD,<USGINI - ILLEGAL CHECKPOINT ENTRY LENGTH>,,<

Cause:	While executing USGINI, an active checkpoint entry was found with an illegal
	length.  This could be caused by a trashed CHECKPOINT.BIN file.

Action:	Delete CHECKPOINT.BIN and reload system.

>)


BUG.(CHK,CLRACE,PHYH11,hard,<UNABLE TO CLEAR REGISTER ACCESS ERROR>,,<

Cause:	This BUGCHK occurs only on the 2020.  It will happen if the
	CLRRAE routine fails to find an existing unit.  The CLRRAE is looking
	for an existing unit to select in order to clear the register access
	error.

	If no existent unit is found, the attempt to clear the register
	access error will cause another error immediately, so the BUGCHK
	is provided to indicate that none was found. The CDB is then
	set offline. The set online function of DIAG% can be used to turn it
	back online when the problem is corrected.

>)


BUG.(CHK,CLZABF,JSYSF,HARD,<CLZFFW: SERVICE ROUTINE BLOCKED ON AN ABORT CLOSE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,CLZDIN,NSPSRV,SOFT,<CLZSDI - Could not send DI>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(INF,CNTOUT,DIAG,HARD,<READ OF PERFORMANCE COUNTER TIMED OUT>,,<
Cause:	For some reason the KLIPA did not respond to a read of the
	performance counters in the alloted time.

Data:	There is no additional data.
>)


BUG.(CHK,CPTMAP,PAGUTL,SOFT,<SETCPT - CPTPG ALREADY MAPPED>,,<

Cause:	A routine was called to setup CPTPG while CPTPG was already setup.
	All callers should call RELCPT if CPTPG is mapped.
>)


BUG.(CHK,CRDBAK,JSYSF,HARD,<CRDIR3: COULD NOT MAKE BACKUP COPY OF ROOT-DIRECTORY>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,CRDBK1,JSYSF,HARD,<CRDIR4:COULD NOT MAKE BACKUP COPY OF ROOT-DIRECTORY>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,CRDNOM,JSYSF,HARD,<CRDIR-FAILED TO MAKE MAIL.TXT FILE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,CRDOLD,JSYSF,HARD,<CRGDGB: OLD FORMAT CRDIR IS ILLEGAL>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,CRDSDF,JSYSF,HARD,<CRDIR1: SETDIR FAILED ON NEW DIRECTORY>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,CRSPAG,JSYSA,HARD,<VERACT - ACCOUNT DATA BLOCK CROSSES A PAGE BOUNDARY>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,CSKBUG,SCHED,SOFT,<ECSKED WHEN NOT CSKED>,,<

Cause:	An ECSKED was done when the code was not really CSKED. This is
        bad  as  sensitive code may be getting messed up due to races
        etc...

>)


BUG.(HLT,CST2I1,PAGEM,SOFT,<PAGE TABLE CORE POINTER AND CST2 FAIL TO CORRESPOND>,,<

Cause:	A routine has been called to change the map for a page of a
	process. The page is being mapped to a file page that is not
	already shared. The code is going to create an entry for the
	file page in the SPT so that the destination can have a
	share pointer. The page pointer in the index block contains
	a core address. The BUGHLT indicates that the owner of the
	core page is not the file page that points to it. This means
	that there is an inconsistency in the monitor's data.
>)


BUG.(HLT,CST2I2,PAGEM,SOFT,<MVPT-CST2 INCONSISTENT>,,<

Cause:	A routine has been called to move a page from one page table
	to another. The source page table has an immediate pointer to
	a page in memory. The BUGHLT indicates that the CST entry for
	that page contains a different owner from the source identifier that
	points to it. This indicates an inconsistency in the monitor's
	data.
>)


BUG.(HLT,CST2I3,PAGEM,SOFT,<PAGE TABLE CORE POINTER AND CST2 FAIL TO CORRESPOND>,,<

Cause:	A routine has been called to remove a page from a process's
	map. The map contains a share pointer to a file page. The
	SPT entry to which the map points contains a core page number.
	The BUGHLT indicates that the CST entry for that core page
	does not point back to the SPT entry.
>)


BUG.(CHK,CTYSTK,TTYSRV,HARD,<FE RELOAD REQUESTED BECAUSE CTY IS STUCK>,,<

Cause:	A JOB 0 fork was trying to output to the console, but was unable to. The
	job entered the J0TCOT scheduler test to wait for the CTY to clear, so
	that output could begin again. However, the CTY has remained hung for a
	while and a FE reload has been requested.

Action:	Check the CTY to see if it is functioning or has been left at the
	PAR prompt. If the problem persists, contact Field Service.
>)


BUG.(CHK,DDMINT,MEXEC,SOFT,<UNEXPECTED INTERRUPT IN DDMP PROCESS>,<<ITFPC,ITFPC>,<LSTERR,LSTERR>>,<

Cause:	An unexpected error has occurred in the process which handles
	migration of pages to disk.  The error handler will attempt
	to reinitialize the context and resume processing.  The
	stack may be examined for an indication of where the error
	occurred.

Data:	1. PC when error occurred.
	2. Last error code in fork.
>)


BUG.(HLT,DDMPNR,SCHED,SOFT,<DDMP FORK NOT RUN FOR TOO LONG>,,<

Cause:	The  monitor  creates  a fork in job zero that exists for the life of
	the  system.  This  fork  runs  periodically  to  perform   essential
	functions.  The  BUGHLT  occurs  when the scheduler detects that the
	DDMP fork has not run in too long a time.

	Possible causes for DDMP not running include the following:
		1. A disk failure that prevents fork 0 from updating the disk
		2. Removal of a  mounted structure
		3. Logic errors in the monitor.

>)


BUG.(HLT,DDXFRK,MEXEC,SOFT,<Cannot create CHKR fork>,,<>)


BUG.(HLT,DDXIN,PAGUTL,HARD,<DDMP - Bad XB>,,<>)


BUG.(CHK,DEABAD,DSKALC,SOFT,<DSKDEA - DEASSIGNING BAD DISK ADDRESS>,<<T3,STRCOD>,<T2,SECTOR>>,<

Cause:	The sector being deassigned was not within the legal
	range of sector numbers.

Action:

Data: Structure Unique Code, Sector Number of Disk Relative
	to Start of Structure

>)


BUG.(CHK,DEAUNA,DSKALC,SOFT,<DEDSK-DEASSIGNING UNASSIGNED DISK ADDRESS>,<<T1,STRCOD>,<T2,SECTOR>>,<

Cause:	The disk address being deassigned was never assigned.


Action:

Data: Structure Unique Code, Sector Number of Disk Relative
	to Start of Structure

>)


BUG.(INF,DELBDD,JSYSF,HARD,<DELDIR: BAD DIRECTORY DELETED. REBUILD BIT TABLE>,<<A,STRNAM>>,<

Cause:	After a bad directory has been deleted, the attempt to delete and
	expunge it's contents has failed.  The bit table is now incorrect.

Action:	Use CHECKD to rebuild the file structure bit table.

Data:	STRNAM - sixbit structure name

>)


BUG.(INF,DELNDF,NSPSRV,SOFT,<DELNOD-LLLKUP FAILED>,<<T2,CALLER>>,<

Cause:	An attempt to remove a DECnet logical link block from the data
	base failed.

ACTION:	THIS SHOULD BE EASILY RECOVERED FROM BY THE MONITOR.
	IF IT PERSISTS, CHANGE IT TO A BUGHLT AND LOOK AT THE DUMP.
	THE ROUTINE MAKING THE CALL TO DELNOD SHOULD BE A VERY GOOD
	CLUE AS TO WHY THIS IS OCCURRING.

Data:	CALLER - PC of the calling routine

>)


BUG.(CHK,DEVUCF,DEVICE,SOFT,<DEVAV - UNEXPECTED CHKDES FAILURE>,,<

Cause:	While checking to see if a device is available to the job,
	an invalid device designator was passed to a subroutine.

Action:

>)


BUG.(HLT,DGUTPG,DIAG,HARD,<DIAG - LOCKED PAGE LIST PAGE LOCKED AT DIAG UNLOCK>,,<

Cause:	The subroutine DGUNLK was called to release the interlock for the
	DIAG JSYS.  In the case that user pages were locked down, the left
	half of the location DIAGFK contains the page containing a list of
	the locked pages.  The routine DGEXFL should have previously been
	called to release this page.  However, DGUNLK found that the page
	was still assigned.
>)


BUG.(HLT,DGZTPA,DIAG,HARD,<DIAG - LOCKED PAGE LIST PAGE WAS ZERO>,,<

Cause:	The routine DGEXFL in the module DIAG was called to unlock any
	user pages when terminating use of the DIAG JSYS.  A pointer to
	a list of these pages should be in the left half of location
	DIAGFK.  But this pointer was zero.  (But this BUGHLT should
	never occur, since DGEXFL returns if the pointer is zero.)
>)


BUG.(CHK,DIRACT,DIRECT,SOFT,<ACTBAD: ILLEGAL FORMAT FOR DIRECTORY ACCOUNT BLOCK IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	File account string block is not correct in symbol table.

Action: Check SYSERR for file.  Delete and expunge it, then
	restore the file.

Data: Directory Number, Sixbit Structure Name, Address in directory

>)


BUG.(CHK,DIRB2L,DIRECT,SOFT,<RLDFB2: DIRECTORY FREE BLOCK TOO LARGE IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	Bad directory block being returned.

Action: Run CHECKD to reclaim lost pages.

Data: Directory Number, Sixbit Structure Name, Address in directory

>)


BUG.(CHK,DIRB2S,DIRECT,SOFT,<RLDFB1: DIRECTORY FREE BLOCK TOO SMALL IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	Bad directory block being returned.  Disk space will be
	lost until CHECKD run on structure.

Action: Run CHECKD to reclaim lost space.

Data: Directory Number, Sixbit Structure Name, Address in directory

>)


BUG.(CHK,DIRBAD,DIRECT,HARD,<SETDI4: SMASHED DIRECTORY NUMBER:>,<<A,D>,<D,D>>,<

Cause:	No path to this bugchk.

Action:

Data:

>)


BUG.(CHK,DIRBAF,DIRECT,SOFT,<RLDFB5: BLOCK ALREADY ON DIRECTORY FREE LIST IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	Directory block returned already.

Action:

Data: Directory Number, Sixbit Structure Name, Address in directory

>)


BUG.(CHK,DIRBCB,DIRECT,SOFT,<RLDFB3: DIRECTORY FREE BLOCK CROSSES PAGE BOUNDARY IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	Bad directory block being returned.

Action: Run CHECKD to reclaim lost pages.

Data: Directory Number, Sixbit Structure Name, Address in directory

>)


BUG.(CHK,DIRBLK,DIRECT,SOFT,<BLKSCN: ILLEGAL BLOCK TYPE IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	Unknown code in directory block.

Action: Delete directory and rebuild it.

Data: Directory Number, Sixbit Structure Name, Address in directory

>)


BUG.(CHK,DIRDNL,CFSSRV,SOFT,<CFSSRV - Directory not locked>,,<

Cause:	CFSRDR was called to unlock a directory, but the directory is not
	locked.
>)


BUG.(CHK,DIRDNL,DIRECT,SOFT,<ULKDIR-DIRECTORY NOT LOCKED, DIRECTORY NUMBER:>,<<T1,Dirnum>,<T2,Strnam>>,<

Cause:	Trying to unlock a directory never locked, or directory
	number is garbage.

Action:

Data: Directory Number, Sixbit Structure Name

>)


BUG.(CHK,DIREXT,DIRECT,SOFT,<EXTBAD: ILLEGAL FORMAT FOR DIRECTORY EXTENSION BLOCK IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	File extension block is not correct in symbol table.

Action: Check SYSERR for file.  Delete and expunge it,
	then restore it.

Data: Directory Number, Sixbit Structure Name, Address in directory

>)


BUG.(CHK,DIRFDB,DIRECT,SOFT,<ILLEGAL FORMAT FOR FDB IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DIRFKP,DIRECT,HARD,<SETDIR-DIR PAGE 0 BELONGS TO FORK IN DIRECTORY:>,<<B,D>,<SETDNM,D>>,<

Cause:	No path to this BUGCHK.

Action:

Data:

>)


BUG.(CHK,DIRFRE,DIRECT,SOFT,<FREBAD: ILLEGAL FORMAT FOR DIRECTORY FREE BLOCK IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	Directory free block is not correct.

Action: Rebuild Directory.

Data: Directory Number, Sixbit Structure Name, Address in directory

>)


BUG.(CHK,DIRIFB,DIRECT,SOFT,<RLDFB4: ILLEGAL BLOCK TYPE ON DIRECTORY FREE LIST IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	No path to the BUGCHK.

Action:

Data:

>)


BUG.(CHK,DIRNAM,DIRECT,SOFT,<NAMBAD: ILLEGAL FORMAT FOR DIRECTORY NAME BLOCK IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	File name block is not correct in symbol table.

Action: Delete and expunge file, then restore it.

Data: Directory Number, Sixbit Structure Name, Address in directory

>)


BUG.(CHK,DIRPG0,DIRECT,SOFT,<DR0CHK: ILLEGAL FORMAT FOR DIRECTORY PAGE 0 IN DIRECTORY:>,<<A,Dirnum>,<B,Strnam>>,<

Cause:	Directory header contains incorrect information.

Action: Delete directory and rebuild it.

Data: Directory Number, Sixbit Structure Name

>)


BUG.(CHK,DIRPG1,DIRECT,SOFT,<DRHCHK: DIRECTORY HEADER BLOCK IS BAD IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	Directory header contains incorrect information.

Action: Delete directory and rebuild it.

Data: Directory Number, Sixbit Structure Name, Address in directory

>)


BUG.(CHK,DIRRHB,DIRECT,SOFT,<RLDFB6: ATTEMPTING TO RETURN A HEADER BLOCK IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	Address of block being returned is illegal.

Action:

Data: Directory number, Sixbit Structure Name, Address in directory

>)


BUG.(CHK,DIRRNA,JSYSA,SOFT,<REMOTE NODE ALIAS LIST INCONSISTENCY>,<<T1,DIRNUM>>,<

Cause: unknown.
>)


BUG.(CHK,DIRSY1,DIRECT,SOFT,<DELDL8: DIRECTORY SYMBOL TABLE FOULED UP FOR DIRECTORY:>,<<A,Dirnum>,<B,Strnam>>,<

Cause:	Disordered directory symbol table found while expunging
	directory or rebuilding symbol table.

Action: Rebuild symbol table.  If that fails, delete directory
	with DELETE command and DIRECTORY subcommand.

Data: Directory Number, Sixbit Structure Name.

>)


BUG.(CHK,DIRSY2,DIRECT,SOFT,<MDDNAM: SYMBOL TABLE FOULED UP IN DIRECTORY:>,<<A,Dirnum>,<B,Strnam>>,<

Cause:	Bad symbol table format found when looking up a directory.

Action: Rebuild symbol table.

Data: Directory Number, Sixbit Structure Name

>)


BUG.(CHK,DIRSY3,DIRECT,HARD,<LOOKUP: SYMBOL SEARCH FOULED UP IN DIRECTORY:>,<<C,Dirnum>,<B,Strnam>>,<

Cause:	Found disordered symbol table while looking for string in
	a directory.

Action: Rebuild symbol table.

Data: Directory Number, Sixbit Structure Name

>)


BUG.(CHK,DIRSY4,DIRECT,SOFT,<NAMCM4: DIRECTORY SYMBOL TABLE FOULED UP IN DIRECTORY:>,<<A,Dirnum>,<B,Strnam>>,<

Cause:	Found disordered symbol table while comparing name strings.

Action: Rebuild symbol table.

Data: Directory Number, Sixbit Structure Name

>)


BUG.(CHK,DIRSY5,DIRECT,HARD,<SYMBAD: ILLEGAL FORMAT FOR DIRECTORY SYMBOL TABLE IN DIRECTORY:>,<<A,Dirnum>,<B,Strnam>>,<

Cause:	Symbol table header contains incorrect information.

Action: Rebuild symbol table.

Data: Directory Number, Sixbit Structure Name

>)


BUG.(CHK,DIRSY6,DIRECT,SOFT,<RBLDST: PREMATURELY RAN OUT OF ROOM IN SYMBOL TABLE IN DIRECTORY:>,<<A,Dirnam>,<B,Strnam>>,<

Cause:	Ran out of space while rebuilding symbol table on DELDF JSYS.

Action: Split directory into mre directories.

Data: Directory Number, Sixbit Structure Name

>)


BUG.(CHK,DIRULK,DIRECT,HARD,<ULKMD2: ATTEMPT TO UNLOCK ILLEGALLY FORMATTED DIR, DIR NUMBER:>,<<T1,Dirnum>,<T2,Strnam>>,<

Cause:	Tried to unlock a directory that is disordered, or bad
	argument given to subroutine to unlock directory.

Action:

Data: Directory Number, Sixbit Structure Name

>)


BUG.(CHK,DIRUNS,DIRECT,HARD,<UNSBAD: ILLEGAL FORMAT FOR DIRECTORY USER NAME BLOCK IN DIRECTORY:>,<<A,Dirnum>,<B,Strnam>>,<

Cause:	User name string block incorrect in symbol table.

Action: Check SYSERR for file.  Delete and expunge it,
	then restore the file.

Data: Directory Number, Sixbit Structure Name

>)


BUG.(INF,DLDEF,TTYSRV,HARD,<LOGICAL NAME DEFINE FAILED FOR FE CTY>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,DMPIOM,DISC,SOFT,<DSKDM- I/O DISK DUMP MODE I/O CALLED FROM MONITOR>,,<

Cause:	DSKDMI or DSKDMO called and the previous context indicates
	an exec mode DUMPI% or DUMPO% JSYS.  There aren't any.

Action:	Look at the code, something is broken.  Either that or some code
	somewhere has been changed to do dump mode I/O.

>)


BUG.(INF,DN20ST,DTESRV,HARD,<DTESRV- DN20 STOPPED>,<<B,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(HLT,DNOPT0,DISC,HARD,<DSKCLZ-JFNOFN FAILED FOR PAGE 0>,,<

Cause:	There is no path to this BUGHLT.  It is not assembled into the monitor.

>)


BUG.(CHK,DRMFUL,PAGEM,SOFT,<DRUM COMPLETELY FULL>,,<

Cause:	The monitor is attempting to swap a core page to the
	drum. There is no space available.  The general handling
	of drum assignments should insure that here are always a
	few pages available for "critical" assignments such as
	this case. It is possible that some pathological user
	program could overtax the normal reserves and so cause this
	failure.
>)


BUG.(HLT,DRMIBT,SWPALC,HARD,<DRMASN-BIT TABLE INCONSISTENT>,,<

Cause:	During the assignment of drum a page, DRMCNT for a track showed
	there was space on that track.  There was no free space available
	according to the bit table for the track, however.

Action:

>)


BUG.(HLT,DRMNFR,SWPALC,HARD,<DRMAM-CANNOT FIND PAGE WHEN DRMFRE NON-0>,,<

Cause:	During assignment of multiple contiguous drum addresses,
	DRMFRE said there was space on the drum.  However, none
	of the DRMCNT's for each track showed any free space.

>)


BUG.(HLT,DRUMP1,STG,soft,<DRMIO - DRUMP ON BUT NO DRUM CODE IN SYSTEM>,,<

Cause:	This can only happen on the 2020.

	This BUGHLT occurs at DRMIOM if DRUMP contains a positive number.
	DRUMP contains DRMN, which, if positive, causes the DRUMP1 BUGHLT code
	not to be assembled.
>)


BUG.(CHK,DRXRNA,DIRECT,SOFT,<DIRRNA: ILLEGAL FORMATTED REMOTE ALIAS BLOCK IN DIRECTORY:>,<<A,DIRNUM>,<B,STRNAM>,<C,ADDR>>,<

Cause:	Illegal formatted remote alias block.

Action:

Data: Directory number, Sixbit Structure Name, Address in directory

>)


BUG.(HLT,DSKBRP,DSKALC,SOFT,<DSKDEA - Pages on multiple cylinders>,<>,<

Cause:	DSKDEA has been called to delete a number of pages, and the pages
	are on multiple cylinders. This is not allowed.
>)


BUG.(CHK,DSKBT1,DSKALC,HARD,<DSK BIT TABLE FOULED, CANNOT FIND FREE PAGE ON TRACK WITH NON-0 COUNT>,<<T2,STRCOD>,<T3,CYLNDR>>,<

Cause:	The bit table for this disk cylinder indicated there
	were free pages for assignment.  However, none could be
	found.

Action:

Data: Structure Unique Code, Cylinder Number

>)


BUG.(CHK,DSKBT3,DSKALC,SOFT,<DISK BIT TABLE ALREADY LOCKED AT LCKBTB>,<<T1,SPTIDX>>,<

Cause:	Structure bit table being locked is already locked.

Action:

Data: Offset in SPT for Entry to Copy into BTBBAS SPT and SPTH slots.

>)


BUG.(HLT,DST2SM,SWPALC,SOFT,<SWPINI-DST TOO SMALL>,,<

Cause:	There are more pages for swapping than there are
	entries in the DST.

>)


BUG.(INF,DT11DN,DTESRV,HARD,<DTECHK- 10 LOST TO11DN INTERRUPT>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DTEBAD,DTESRV,SOFT,<INVALID MESSAGE QUEUED TO DN20>,,<

Cause:	A message whose first byte is neither a 130 (node init) or a 106
	(route header) has been sent to the DN20.

Action:	The DN20 will ignore the message but confusion may arise in TOPS-20's
	resident free space, possibly leading to a BUGHLT.  If this happens
	change DTEBAD to a BUGHLT to capture more immediate information.

>)


BUG.(CHK,DTECAR,DTESRV,HARD,<CARRIER FNC WITH NO LINE NUMBER>,<<A,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(INF,DTECDM,DTESRV,HARD,<DTESRV- TO -10 COUNTS DO Not MATCH>,<<A,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DTEDAT,DTESRV,HARD,<TAKTOD- ILLEGAL FORMAT FOR TIME/DATE>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DTEDEV,DTESRV,HARD,<ILLEGAL DEVICE>,<<A,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(INF,DTEDIN,DTESRV,HARD,<DTESRV- TO -10 IN PROGRESS ON DOORBELL>,<<A,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(INF,DTEDME,DTESRV,HARD,<DTESRV- ZERO Q COUNT>,<<A,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DTEERR,DTESRV,HARD,<DTESRV-DTE DEVICE ERROR>,<<A,D>,<F,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DTEIDP,DTESRV,HARD,<BAD INDIRECT PACKET>,<<A,DTENO>>,<

Cause:	This BUG is not documented yet.

Action:

Data:	DTENO - DTE number

>)


BUG.(CHK,DTEIFR,DTESRV,HARD,<DTESRV-ILLEGAL FNC REQUEST>,<<A,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(INF,DTEIPR,DTESRV,SOFT,<DTESRV - PROTOCOL INITIALIZED ON DTE>,<<T1,DTENUM>>,<

Cause:	BOOT JSYS was execute to initialize protocol.

Data:	DTENUM - the DTE number

>)


BUG.(INF,DTELDB,DTESRV,HARD,<DTECHK- 11 LOST DOORBELL>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(INF,DTELPI,DTESRV,HARD,<DTECHK- DTE LOST PI ASSIGNMENT>,<<B,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DTEMCC,DTESRV,SOFT,<DOFRGM-DN20 DISAGRESS WITH COUNT>,<<A,D>,<P5,REST>,<C,RGN10>,<P2,RGN11>>,<

Cause:	Either the monitor has calculated a different value than it was
	given by the front end, or an invalid count (.LE 0) has been found.

Action:	Check for DTE hardware problems;  if none, code in DN20 should be
	investigated.

Data:	D - Comm region address
	REST - residual count of transfer
	RGN10 - Flags from the -10's region
	RGN11 - Flags from the -11's region

>)


BUG.(HLT,DTENOD,DTESRV,HARD,<DTE DATA BASE BAD>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DTEODD,DTESRV,HARD,<TAKLC-ODD BYTE COUNT FOR LINE CHARACTERS>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DTEP2S,DTESRV,HARD,<TO10DN-PACKET TOO SMALL>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DTEPGF,DTESRV,HARD,<DTE TRANSFER PAGE FAIL>,<<A,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(INF,DTEPNR,DTESRV,HARD,<DTESRV- INCORRECT INDIRECT SETUP>,<<A,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(HLT,DTERES,DTESRV,SOFT,<RESIDENT FREE SPACE OVERWRITTEN>,<<A,DNMCDT>>,<

Cause:	A DTE transfer has written beyond the assigned resident free space area.
	This only pertains to DECnet front ends.

Action:	Check the data base to see if the original call to assign free space
	requested enough space.  Also, check to see if there is something
	unusual about the information in the comm region.  This is probably
	a software error but if all else fails, maybe the DTE is transfering
	more than it should be.

Data:	DNMCDT - the DTE number

>)


BUG.(HLT,DTETBE,DTESRV,SOFT,<To 10 byte pointer incorrect>,<<A,DN10DT>>,<

Cause:	A "to -10 done" has occurred and the byte pointer that the microcode
	last changed does not match the byte pointer that the monitor has
	computed and believes should be there when the the transfer is over.

Action:	The problem is probably in the DTE.  You should have Field Service
	run DTE diagnostics.

Data:	DN10DT - The DTE number.

>)


BUG.(CHK,DTETIP,DTESRV,HARD,<DTETDN-TO10 DONE RECEIVED WITH NO TRANSFER IN PROGRESS>,<<A,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DTETTY,DTESRV,HARD,<NON-TTY DEVICE>,<<A,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DTEUIF,DTESRV,HARD,<DTESRV-UNIMPLEMENTED FUNCTION FROM 11>,<<A,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DVCHRX,JSYSF,HARD,<DVCHR1 - UNEXPECTED CHKDES FAILURE WITHIN .DVCHR>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,DX2DIE,PHYX2,HARD,<PHYX2 - DX20 HALTED>,<<T1,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,DX2DNF,PHYX2,HARD,<PHYX2 - DRIVE NUMBER NOT FOUND IN UDBS>,<<T4,DRIVE>>,<

Cause:	A DX20 returned an 8-bit drive number, and routine DRVSRC was
	called to determine which UDB was associated with that drive
	number.  None of the currently existing UDBs had that number.

Data:	DRIVE - The unit of the DX20 that was not found.
>)


BUG.(CHK,DX2FGS,PHYX2,HARD,<PHYX2 - FAIL TO GET SENSE BYTES>,<<T1,DRIVE>,<T3,REG21>,<T4,REG31>>,<

Cause:	This BUG is not documented yet.

Action:

Data:	DRIVE - Unit and slave that the Monitor is working with
	REG21 - Reg 21 of DX20 (unit and slave that DX20 is working with)
	REG31 - Reg 31 of DX20 (PC of the DX20)


>)


BUG.(CHK,DX2FUS,PHYX2,HARD,<PHYX2 - FAIL TO UPDATE SENSE BYTES>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,DX2HLT,PHYX2,HARD,<PHYX2 - DX20 HALTED>,<<T1,CHAN>,<T2,DX20>,<T3,REG1>,<T4,2AND26>>,<

Cause:	The DX20 controller's microcode is no longer running.  This could
	be due to a microcode-detected fatal error.  Or, the microcode
	could have been halted by a program such as DX20LD.

Action:	Use DX20LD to reload or restart the microcode.  If the DX20 still
	refuses to run, call field service.

Data:	CHAN/	The channel number.
	DX20/	The controller number which halted.
	REG1/	Contents of device register 1 (status register).
	2AND26/	Device register 2 in left half (error register), and
		device register 26 in right half (possible error code).
>)


BUG.(CHK,DX2IDM,PHYX2,HARD,<PHYX2 - ILLEGAL DATA MODE AT DONE INT>,<<T2,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,DX2IDX,PHYX2,HARD,<PHYX2 - ILLEGAL RETRY BYTE POINTER>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,DX2IEC,PHYX2,HARD,<PHYX2 - ILLEGAL ERROR CLASS CODE>,<<T1,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,DX2IFS,PHYX2,HARD,<PHYX2 - ILLEGAL FUNCTION AT START IO>,<<Q1,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,DX2IRF,PHYX2,HARD,<PHYX2 - ILLEGAL FUNCTION DURING RETRY>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,DX2MCF,PHYX2,HARD,<PHYX2 - DX20 MICROCODE CHECK FAILURE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,DX2N2S,PHYX2,HARD,<PHYX2 - MORE TU70S THAN TABLE SPACE, EXCESS IGNORED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,DX2NRT,PHYX2,HARD,<DX2ERR - IS.NRT SET ON SUCCESSFUL RETRY>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,DX2NUD,PHYX2,HARD,<PHYX2 - CHANNEL DONE INTERRUPT BUT NO UNIT ACTIVE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,DX2NUE,PHYX2,HARD,<PHYX2 - NO ACTIVE UDB AND DX20 COMPOSITE ERROR SET>,<<T4,D>,<T1,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,DX2RFU,PHYX2,HARD,<PHYX2 - ERROR RECOVERY CONFUSED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,DX2UNA,PHYX2,HARD,<PHYX2 - ATTENTION INTERRUPT AND UDB NOT ACTIVE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,DX2UPE,PHYX2,HARD,<PHYX2 - FAIL TO UPDATE SENSE BYTES DURING INITIALIZATION>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,DXBASD,PHYP2,HARD,<PHYP2 - ASYCHRONOUS STATUS FROM NON-POSITIONING DRIVE>,<<T1,CHAN>,<T2,CTRL>,<T3,UNIT>>,<

Cause:	Not documented yet.
>)


BUG.(CHK,DXBDIE,PHYP2,HARD,<PHYP2 - DX20B MICROCODE HALTED>,<<T1,CHAN>,<Q2,DX20>>,<

Cause:	Not documented yet.
>)


BUG.(CHK,DXBDMI,PHYP2,SOFT,<PHYP2 - DX20B MICROCODE IS INVALID>,<<T1,CHAN>,<Q2,DX20>>,<

Cause:	Not documented yet.
>)


BUG.(CHK,DXBEUI,PHYP2,HARD,<PHYP2 - ERROR TRYING TO INITIALIZE A UNIT>,<<T1,CHAN>,<Q2,DX20>,<T2,UNIT>>,<

Cause:	Not documented yet.
>)


BUG.(CHK,DXBEWC,PHYP2,HARD,<PHYP2 - ERROR PRESENT WHEN CONNECTING TO A UNIT>,<<T1,CHAN>,<T2,CTRL>,<T3,UNIT>,<T4,20AND2>>,<

Cause:	Not documented yet.
>)


BUG.(HLT,DXBFEX,PHYP2,SOFT,<PHYP2 - ILLEGAL FUNCTION STARTING IO>,,<

Cause:	The routine DX2SIO in PHYP2 was called to start a transfer
	operation for an IORB, but the function code from the IORB
	was illegal.
>)


BUG.(CHK,DXBFGS,PHYP2,HARD,<PHYP2 - FAILED TO GET SENSE BYTES>,,<

Cause:	Not documented yet.
>)


BUG.(CHK,DXBFUS,PHYP2,HARD,<PHYP2 - FAILED TO UPDATE SENSE BYTES>,,<

Cause:	Not documented yet.
>)


BUG.(INF,DXBHLT,PHYP2,HARD,<PHYP2 - DX20B CONTROLLER HALTED>,<<T1,CHAN>,<T2,DX20>,<T3,REG1>,<T4,2AND26>>,<

Cause:	Not documented yet.
>)


BUG.(CHK,DXBIEC,PHYP2,SOFT,<PHYP2 - UNKNOWN ERROR CODE FROM DX20>,<<T2,CHAN>,<Q2,DX20>,<T1,STATUS>>,<

Cause:	Not documented yet.
>)


BUG.(HLT,DXBIF2,PHYP2,SOFT,<PHYP2 - ILLEGAL FUNCTION STACKING IO>,,<

Cause:	The routine DX2STK in PHYP2 was called to stack a second
	transfer command, but the function in the IORB was illegal.
>)


BUG.(HLT,DXBILF,PHYP2,SOFT,<PHYP2 - ILLEGAL FUNCTION AT DONE INTERRUPT>,,<

Cause:	The routine DX2INT in PHYP2 was called to handle a done interrupt
	for a drive.  The IORB which finished I/O contained a function
	code which was illegal.
>)


BUG.(HLT,DXBLTF,PHYP2,SOFT,<PHYP2 - LATENCY OPTIMIZATION FAILURE>,,<

Cause:	The routine DX2LAT in PHYP2 was called by PHYSIO to find the best
	IORB for a unit.  However, after scanning all IORBs in the transfer
	wait queue for the unit, no IORB was found that could be returned.
>)


BUG.(HLT,DXBMSR,PHYP2,SOFT,<PHYP2 - MULTIPLE SECTORS INDICATED IN ECC RECOVERY>,,<

Cause:	The routine ECCERR in PHYP2 was called to recover from an ECC error
	on a unit.  After correcting the error, the routine ECCUCL in PHYSIO
	was called to update the CCW list.  That routine skipped, indicating
	that more sectors must be read to complete the transfer.  However,
	the RP20 is formatted in pages, and no transfer is ever longer than
	a page, so the skip return should never occur.
>)


BUG.(CHK,DXBNUD,PHYP2,HARD,<PHYP2 - NO UNIT ACTIVE FOR DONE INTERRUPT>,<<T1,CHAN>,<Q2,DX20>>,<

Cause:	Not documented yet.
>)


BUG.(HLT,DXBTNF,PHYP2,SOFT,<PHYP2 - UNIT TYPE NOT FOUND IN TABLE>,,<

Cause:	The routine DX2INI was called to initialize a UDB for an RP20 disk.
	It converted the hardware drive type into the internal drive
	type, and then looked in the physical parameter table (DSKUTP)
	for that type, so that the disk parameters could be obtained.
	The drive type could not be found.
>)


BUG.(CHK,DXBTTS,PHYP2,HARD,<PHYP2 - TABLES TOO SMALL FOR THIS MANY DRIVES>,,<

Cause:	Not documented yet.
>)


BUG.(CHK,DXBUA1,PHYP2,HARD,<PHYP2 - DONE INTERRUPT AND UNIT WAS NOT ACTIVE>,<<T1,CHAN>,<T2,CTRL>,<T3,UNIT>>,<

Cause:	Not documented yet.
>)


BUG.(CHK,DXBUNA,PHYP2,HARD,<PHYP2 - ATTENTION INTERRUPT AND UNIT WAS NOT ACTIVE>,<<T1,CHAN>,<T2,CTRL>,<T3,UNIT>>,<

Cause:	Not documented yet.
>)


BUG.(CHK,DXBZEC,PHYP2,HARD,<PHYP2 - ZERO ECC BYTE RETURNED>,,<

Cause:	Not documented yet.
>)


BUG.(HLT,DZCLRB,TTYSRV,hard,<UNABLE TO RESET DZ11>,,<

Cause:	This BUGHLT can only occur on the 2020.

	The DZCLR bit is written to the DZ to cause the DZ to clear.  Then
	the code loops, continually checking the DZCLR bit, waiting for
	it to come on, which signals that the DZ has cleared.

	The loop counts up to 2**18, under the assumption that this is
	ample time for the DZ to clear.  If the DZCLR bit does not come on
	after the 2**18 runs out, the DZCLRB BUGHLT occurs.
>)


BUG.(CHK,DZLINT,TTYSRV,HARD,<DZ11 LOST INTERRUPT ENABLE>,<<T2,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,DZOVER,TTYSRV,HARD,<DZ11 SILO OVERRUN>,<<T1,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,ERRDSB,STG,soft,<Dispatch to unknown kontroller type>,,<

Cause:	Router tried to dispatch to a device driver not supported
	by this monitor.
>)


BUG.(CHK,EXILGO,MEXEC,SOFT,<EXECI - Interrupt during login or logout>,,<

Cause: Control has passed to the mini-exec because the top fork hit
a terminating condition or monitor interrupt.  The top fork EXEC may
have been wiped out.  In addition, the job was trying to log in or
out.

Action: The fork is put into an infinite wait state since any other
action might lead to further itraps, interrupts, looping, etc.
>)


BUG.(HLT,EXPAFK,MEXEC,soft,<EXPALL: JOB 0 CFORK FAILED>,,<

Cause:	This will happen if the CFORK JSYS fails to create a fork
	for doing the system-wide expunge of structure PS:.

	This could most likely happen if all the fork slots are used up.
>)


BUG.(CHK,EXPRCD,MEXEC,HARD,<EXPALL: RCDIR FAILURE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,FATCDP,APRSRV,HARD,<FATAL CACHE DIRECTORY PARITY ERROR>,<<A,CONIAP>>,<

Cause:	An APR interrupt occurred because a physical page number with
	even parity was encountered in the cache directory.

Data:	CONIAP - Result of CONI APR
>)


BUG.(HLT,FATMER,APRSRV,HARD,<FATAL MEMORY ERROR>,,<

Cause:	An APR interrupt occurred indicating an SBUS error and no
	MB parity error. However, no MOS controller reports an error.
	The monitor is unable to determine the cause of the SBUS error.
	The monitor has printed a description of the problem on the CTY.

Action:	Diagnose the memory system.
>)


BUG.(CHK,FEBAD,FESRV,HARD,<FEHSD-WRONG FE>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,FEBFOV,FESRV,HARD,<FEHSD-BUFFER OVERFLOW>,<<A,D>,<C,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,FEOCPB,DSKALC,SOFT,<FEFSYS - FAILED TO BACKUP ROOT-DIRECTORY>,<<T1,STRCOD>>,<

Cause:	A copy of the Root-Directory was not made due to one of the
	following errors:
	    1.  Not enough free space
	    2.  Could not get jfn
	    3.  Root-Directory or symbol table is bad

Action:

Data:	Structure unique code

>)


BUG.(CHK,FEUSTS,FESRV,HARD,<FESSTS-UNKNOWN STATUS>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,FILBAK,FILINI,HARD,<FILCRD: COULD NOT CREATE BACKUP OF ROOT-DIR>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,FILBAT,DISC,HARD,<DSKCLZ: FILE MARKED AS POSSIBLY BAD>,<<T4,DIRNUM>,<T2,STR>>,<

Cause:	A file is being closed and it is found that the OFN for the
	file contains a bit indicating a possible error. The files FDB will
	be marked.

Data:	DIRNUM - directory number
	STR - structure name in SIXBIT

>)


BUG.(CHK,FILBOT,FILINI,HARD,<COULD NOT CREATE BOOTSTRAP.BIN FILE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,FILBTB,FILINI,soft,<UNABLE TO WRITE BIT TABLE FILE>,,<

Cause:	This BUGHLT will occur when FILRFS is refreshing PS:
	FILRFS calls WRTBTB to write the bit table, and WRTBTB fails
	for a reason other than MSTRX6 (home blocks are bad).  WRTBTB
	will fail for several reasons, including: GETBTB failed to get
	a JFN on the bit table file, the OPENF failed, CHFDB, GTFDB, or
	MODHOM.

Action:	Use EDDT to specifically determine what is failing.
>)


BUG.(CHK,FILCCD,FILINI,HARD,<Could not create directory>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,FILFEF,FILINI,HARD,<Could not create Front End File System>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,FILHOM,FILINI,HARD,<UNABLE TO REWRITE HOME BLOCKS IN WRTBTB>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,FILIRD,FILINI,soft,<FILINW: COULD NOT INITIALIZE THE ROOT DIRECTORY>,,<

Cause:	This will occur during special system startup if FILRFS,
	while trying to build PS:, gets a failure return from DIRINI, which
	is trying to initialize the root directory.  DIRINI will fail if its
	call to MAPDIR fails, or if the SETZM which first touches the directory
	fails.  MAPDIR will fail if either the structure or directory number
	is out of range, or if MAPIDX fails to map in the index table.

Action:	Use EDDT to determine exactly what is failing and why.
>)


BUG.(CHK,FILJB1,FILINI,HARD,<FILCRD: No room to create standard system directories>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,FILMAP,FILINI,soft,<FILIN2: COULD NOT MAP IN ROOT-DIRECTORY>,,<

Cause:	During standard system startup, SETDIR failed to map in the
	root directory for consistency checking.  SETDIR will fail if CNVSTR
	fails to convert structure number data, or if MAPDIR fails to map in
	the directory, or if DR0CHK finds a directory header inconsistency.

Action:	Use EDDT to figure out exactly which reason is the cause.
>)


BUG.(HLT,FILRID,FILINI,soft,<FILINW: INDEX TABLE ALREADY SET UP FOR ROOT DIR>,,<

Cause:	This BUGHLT will occur if, during a refresh in the FILRFS routine
	during system startup, the SETIDX call fails.  That call is trying to
	set up the index table for the root directory for PS:.  SETIDX fails if
	it is passed a directory number that is out of range, or if the index
	table is already set up but at a different spot than that requested in
	the current call.
>)


BUG.(CHK,FIXBAD,FILINI,HARD,<Could not re-write Home Blocks to point to FE Filesystem>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,FIXBDB,FILINI,HARD,<COULD NOT RE-WRITE HOME BLOCKS TO POINT TO BOOTSTRAP.BIN>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,FKCTNZ,FORK,soft,<FORK LOCK NEST COUNT NON-ZERO>,<<JOBNO,JOB>,<FORKN,JBFORK>>,<

Cause:	The FLOCK routine has encountered the nest count for the fork lock
	being non-zero, which should not be, since the lock has just been locked
	for the first time.  This is probably due to some other software not
	having cleared the nest count from some previous lock.

Data:	JOBNO -	Internal Job number whose fork discovered the non-zero
		nest count.

	FORKN - Jobwide fork index of the discovering fork.

>)


BUG.(CHK,FKWSP1,SCHED,HARD,<LOADBS-UNREASONABLE FKWSP>,<<T1,D>,<T2,D>,<T3,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,FLKINT,FORK,SOFT,<FLOCK-CALLED WHILE NOINT>,,<

Cause:	The routine FLOCK was called while the calling process was
	unable to be interrupted. The calling fork was not nesting the lock
	nor was it the top fork of the job. This indicated a logic error
	because if this fork was unable to aquire the lock it will DISMS
	while NOINT. This can cause a deadly embrace where the fork which
	owns the lock will not relenquish it until the fork which has dismissed
	is interrupted which will never happen because the fork is NOINT.

Action: Change this into a BUGHLT and look at the resulting dump. This will
	allow you to find the erroneous routine.

>)


BUG.(CHK,FLKNS,FORK,soft,<FUNLK-LOCK NOT SET>,<<FORKN,JOBFRK>>,<

Cause:	The FUNLK routine, which unlocks the fork lock, detected
	that the lock was already unlocked.  This should not be, since anyone
	calling FUNLK to unlock the lock presumably first called FLOCK to lock
	it!

Data:	JOBFRK - Job fork number of fork desiring the lock


>)


BUG.(CHK,FLKTIM,FORK,soft,<FLOCK-FORK LOCK TIMEOUT>,<<FORKN,JOBFRK>,<JOBNO,JOB>,<FLKOWN,OWNER>>,<

Cause:	A fork has been waiting a "long time" for the fork lock.
	This bugchk announces that the system is assuming that some fork has
	neglected to unlock the fork lock, and the waiting fork is being
	given the lock even though someone else still has it.

	The code could be in error here.  The measure of a "long time" is
	calculated according to how many times the lock has been asked for
	and denied.  This number will grow at a rate proportional to the number
	 of forks desiring the lock.  Hence the FLKTIM could occur falsely if
	many forks are all trying to get the fork lock at the same time.

Data:	JOBFRK - Job fork number of fork desiring the lock

	JOB    -  Internal Job number desiring the lock

	OWNER  - Job fork number of fork currently holding the lock
>)


BUG.(HLT,FPTMXX,PAGEM,SOFT,<FPTA - Process address in sched context>,<<T1,ADR>>,<
Cause:	FPTA has been called in scheduler context and given an address
	that is part of the process/job context area.

Data:	T1 - Given address.
>)


BUG.(CHK,FRKBAL,PAGEM,HARD,<AGESET-FORK NOT IN BALSET>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,FRKNDL,SCHED,HARD,<FORK NOT PROPERLY DELETED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,FRKPTE,PAGUTL,HARD,<BADCPG-FATAL ERROR IN FORK PT PAGE>,,<

Cause:	A hardware error (AR/ARX parity error or MB parity error) was
	detected when the monitor referenced a page in memory that
	contained a process's page table. The monitor has printed
	an analysis of the error on the CTY, and A SYSERR entry will be
	created when the monitor is rebooted.
>)


BUG.(HLT,FRKSLF,FORK,soft,<SUSFK - GIVEN SELF AS ARG>,,<

Cause:	Some routine in the monitor has erroneously tried to suspend
	itself with SUSFK.

>)


BUG.(HLT,FSICFS,DSKALC,SOFT,<Could not register PS with CFS>,,<
Cause: Some other CFS system has this structure mounted exclusively
or as an alias preventing this system from mouting the structure. This
is an administrative problem.
>)


BUG.(HLT,FSPANN,FREE,SOFT,<ASGFRE CALLED OKINT>,<<T4,POOLN>,<T3,CALRPC>>,<

Cause:	This is a free space problem.  Calls to swapable free space
	routines should be made only while the calling process is NOINT.  The
	calling routine is not protecting itself from losing free space.  It is
	OKINT.  Since it is OKINT it could get interupted and never return,
	thus losing the free block assigned.

Action:	The data supplied gives the address of the calling routine.  Make
	the routine be NOINT until it has ensured that the block will be
	freed when it is interrupted (e.g. JSB stack).

Data:	POOLN		Pool number
	CALRPC		Caller of RELFSP
>)


BUG.(HLT,FSPARB,FREE,SOFT,<RELFSP-BAD BLOCK BEING RELEASED>,<<Q1,POOLN>,<T4,CALRPC>,<P2,BLKADR>>,<

Cause: The caller is attempting to release a block that has already been
	released.


Action:	If the problem persists, change the BUGCHK to a BUGHLT.  Looking at
	the stack will show the caller.  It is possible that the length of the
	current block is incorrect.  It is equally likely that the
	block(s) before this block (in free space) have had incorrect
	lengths on return.  Thus, the caller may not be the culprit.

Data:	POOLN		Pool number
	CALRPC		PC of caller of RELFSP
	BLKADR		Address of user block


>)


BUG.(HLT,FSPASN,FREE,SOFT,<ASSIGNED-BLOCK IN FREE-LIST>,<<Q1,POOLN>,<T1,BLKADR>>,<

Cause:	This is a free space problem.  A block in the freespace pool was
	found to have the "block-assigned" bit set.


Action:	If the problem persists, change the BUGCHK to a BUGHLT and analyze the 
	dump.


Data:	POOLN		Pool number
	BLKADR		Address of the block.
>)


BUG.(HLT,FSPBBS,FREE,SOFT,<BAD BLOCKSIZE>,<<P1,POOLN>,<P2,BLKADR>>,<


Cause:	This is a free space problem; 	The block size is either smaller
	than the minimum blocksize for this pool, or larger than the entire
	amount of space allocated to the pool.

Action: If the condition is noticed when a block is being returned to the list,
	it is simply marked deassigned (and bad) but not returned to the list.
	If the list header is large enough to include it, the PC, job # and
	fork # of the assigner and deassigner are stored in the header/trailer.
	These may give a clue as to what code caused the problem.

	If the problem persists, change the BUGCHK to a BUGHLT and analyze the 
	dump.


Data:	POOLN		Pool number
	BLKADR		Address of the block.
			Zero indicates it is the pool descriptor itself
			that contains the bad pointer.
>)


BUG.(HLT,FSPBLK,FREE,SOFT,<BLOCK DAMAGED>,<<T1,POOLN>,<P2,BLKADR>>,<

Cause:	This is a free space problem; the header of the block does not match
	its trailer.


Action: If the condition is noticed when a block is being returned to the list,
	it is simply marked deassigned (and bad) but not returned to the list.
	If the list header is large enough to include it, the PC, job # and
	fork # of the assigner and deassigner are stored in the header/trailer.
	These may give a clue as to what code caused the damage.

	If the problem persists, change the BUGCHK to a BUGHLT and analyze the 
	dump.


Data:	POOLN		Pool number
	BLKADR		Address of the block.
			Zero indicates it is the pool descriptor itself
			that contains the bad pointer.
>)


BUG.(HLT,FSPBND,FREE,SOFT,<RELFSP: BLOCK OUT OF RANGE>,<<Q1,POOLN>,<T3,CALRPC>,<P2,BLKADR>>,<

Cause:	This is a free space problem.  The caller to the free space
	routines is trying to return a block that was not given
	out by the free space manager.  The block is outside the
	range of free space management.

Action:	Look through the dump.  By looking at the stack you
	should be able to determine who called for the releasing
	of the block.

Data:	POOLN		Pool number
	CALRPC		PC of caller to RELFSP
	BLKADR		Address of block being returned
>)


BUG.(HLT,FSPBPC,FREE,SOFT,<RELFSP: BAD POOL COUNT>,<<Q1,POOLN>,<T3,CALRPC>,<P2,BLKADR>>,<

Cause:	This is a free space problem.  The caller to the free space
	routines is trying to return a block such that when the pool count
	is augmented by the blocksize, an invalid number results.  The
	blocksize may be in error, or the pool count may already be in
	error.

Action:	Look through the dump.  If the blocksize is wrong, then study the
        code at the calling PC for possible errors.  If the pool count is
	wrong, then more sleuthing is required.  The history buffer for the
	pool may contain helpful data.


Data:	POOLN		Pool number
	CALRPC		PC of caller to RELFSP
	BLKADR		Address of block being returned
>)


BUG.(HLT,FSPBSZ,FREE,SOFT,<BLOCK CONTAINS BAD BLOCKSIZE>,<<Q1,POOLN>,<T1,BLKADR>>,<

Cause:	This is a free space problem. When the address of the current block
is incremented by its blocksize, the result should be the address of the next
block in the chain.  This was not the case, indicating that the blocksize of
the current block is incorrect, or that the successor of the current block
has suffered header damage.




Action:	If the problem persists, change the BUGCHK to a BUGHLT and analyze the 
	dump.


Data:	POOLN		Pool number
	BLKADR		Address of the current block.
>)


BUG.(HLT,FSPDNN,FREE,SOFT,<RELFSP CALLED OKINT>,<<T4,POOLN>,<T3,CALRPC>>,<

Cause:	This is a free space problem.  The calling routine is trying to release
	a swapable free space block while it is OKINT.  This is dangerous since
	it could get interrupted and loose the block.  All
	free space actions should occur while NOINT.

Action:	The data supplied gives the address of the calling routine.  Make
	the routine become NOINT when it removes the address of the block
	about to be released from the database.  The routine
	can be made OKINT when control is returned to it.

Data:	POOLN		Pool number
	CALRPC		PC of caller of RELFSP

>)


BUG.(HLT,FSPOUT,FREE,SOFT,<FREESPACE POOL EXHAUSTED>,<<T2,POOLN>>,<

Cause:	This is a free space problem.  There is no more space available
	in the freespace pool.


Action:	The data supplied gives the pool number (pool descriptor index) of
	the pool in question.  If the pool repeatedly runs out of space,
	the pool size must be increased and the monitor rebuilt.


Data:	POOLN		Freespace pool number
>)


BUG.(HLT,FSPPRE,FREE,SOFT,<RELFSP-BAD BLOCK BEING RELEASED>,<<Q1,POOLN>,<T4,CALRPC>,<P2,BLKADR>>,<

Cause:	This is a free space problem.  The block being returned does not fit
	into the free pool.  The block would overlap the preceding block
	in the pool.

Action:	If the problem persists, change the BUGCHK to a BUGHLT.  Looking at
	the stack will show the caller.  It is possible that the length of the
	current block is incorrect.  It is equally likely that the
	block(s) before this block (in free space) have had incorrect
	lengths on return.  Thus, the caller may not be the culprit.

Data:	POOLN		Pool number
	CALRPC		PC of caller of RELFSP
	BLKADR		Address of user block


>)


BUG.(HLT,FSPPTR,FREE,SOFT,<BLOCK CONTAINS BAD POINTER>,<<Q1,POOLN>,<T1,BLKADR>,<T2,NXTPTR>>,<

Cause:	This is a free space problem.  A free block in the freespace pool
	was found to contain a pointer that did not fall within the legal
	address interval for that pool.


Action:	If the problem persists, change the BUGCHK to a BUGHLT and analyze the 
	dump.


Data:	POOLN		Pool number
	BLKADR		Address of the block containing the bad pointer.
	NXTPTR		The bad pointer
>)


BUG.(HLT,FSPSCC,FREE,SOFT,<RELFSP-BAD BLOCK BEING RELEASED>,<<Q1,POOLN>,<T1,CALRPC>,<P2,BLKADR>>,<

Cause:	This is a free space problem.  The block being returned does not fit
	into the free pool.  The block would overlap the succeeding block
	in the pool.

Action:	If the problem persists, change the BUGCHK to a BUGHLT.  Looking at
	the stack will show the caller.  It is possible that the length of the
	current block is incorrect.  It is equally likely that the
	block(s) before this block (in free space) have had incorrect
	lengths on return.  Thus, the caller may not be the culprit.

Data:	POOLN		Pool number
	CALRPC		PC of caller of RELFSP
	BLKADR		Address of user block


>)


BUG.(HLT,FSPZER,FREE,SOFT,<ASGFSP - ILLEGAL TO ASSIGN 0 FREE SPACE>,<<T1,POOLN>,<T3,CALRPC>>,<

Cause:	An illegal request for free space is being made.  The calling routine
	is asking for zero words of free space.

Action:	Look at the dump.  By backing up the stack you
	should be able to tell what routine called for the illegal
	free space.

Data:	POOLN		Pool number
	CALRPC		PC of caller of ASGFSP
>)


BUG.(HLT,GDSTX0,SWPALC,SOFT,<GDSTX CALLED FROM SECTION 0>,<<0(P),PC>>,<

Cause:	A routine in SWPALC that provides an address in the DST was called
	from section 0 on a machine that runs extended addressing. This
	is dangerous because the routine returns a 30-bit address, and the
	caller will probably use the address in an index register, thus
	losing the section number.

Action:	It is essential that any code that references the DST run in a non-zero
	section. The long-term solution is to study the entire stack and make
	all the code run in section 1. For the short term, it may be possible
	to insert an SE1CAL at the beginning of the routine that called GDSTX.
	Note that this may lead to other problems, including slower performance
	and ILMNRF BUGHLT's.

Data:	PC - the PC from which GDSTX was called

>)


BUG.(INF,GIVTMR,JSYSA,SOFT,<GIVOK TIMEOUT>,<<T2,FUNC>>,<

Cause:	The access control job has not responded with a GIVOK within the
	designated time period.

Action:	If this consistently happens with the same function code, you
	should see if the processing of the function can be made faster.

	If there is no obvious function code pattern, you may need to
	increase the timeout period or rework the way in which the
	access control program operates.

Data:	FUNC - the GETOK function code


>)


BUG.(HLT,GLFNF,SCHED,HARD,< GLREM - FORK NOT FOUND>,,<

Cause:	The scheduler is trying to remove a process from its linked list of
	runnable processes (the GOLIST).  The BUGHLT occurs because the
	scheduler does not find the process in the GOLIST.  This indicates an
	inconsistency in the scheduler's data base.

>)


BUG.(CHK,GTFDB1,DISC,SOFT,<DSKINS: GETFDB FAILURE.>,,<

Cause:	Cannot find newly created file data block to mark file as being
	temporary.

Action:

>)


BUG.(HLT,GTFDB2,DISC,SOFT,<NEWLFP: GETFDB FAILURE FOR OPEN FILE.>,,<

Cause:	Cannot find FDB for a long file, even though the FDB for that file
	was found previously.  The file is opened, but the FDB is gone.

>)


BUG.(HLT,GTFDB3,DISC,SOFT,<DSKREN-GETFDB FAILURE FOR OPEN FILE>,,<

Cause:	The RNAMF JSYS has detected a monitor internal error. It has created
	an FDB for the destination file, and an internal routine that
	finds an FBD in a directory has returned with a failure,
	indicating an inconsistency in the newly-created FDB.

>)


BUG.(HLT,GTFDB6,JSYSF,SOFT,<CRDI0A: CANNOT DO GETFDB ON ROOT-DIRECTORY >,,<

Cause:	There was an error in creating the Root-Directory.  Either the
	FDB could not be mapped, or the index table could not be set up.

>)


BUG.(CHK,GWYFNB,IPIPIP,SOFT,<FNDGWY returned unconnected gateway>)


BUG.(CHK,HARDCE,APRSRV,HARD,<HARD CACHE ERRORS--CACHE DESELECTED>,,<

Cause:	The hardware has detected an AR or ARX parity error that occurs
	only when an address is referenced through the cache. An attempt
	to reference the same address from memory with the cache turned
	off has succeeded. This has happened more than the allowable
	maximum number of times. The monitor will turn off the cache and
	proceed.
	The monitor has printed a description of the problem on the
	CTY and created a SYSERR block, which will be written into
	the SYSERR file.

Action:	The monitor will continue to run without the cache.
	However, when the front end reloads the monitor at some future
	time, the front end will enable the cache. Change its configuration
	file in order to avoid this until the cache is fixed.
>)


BUG.(HLT,HOMGON,PHYSIO,SOFT,<FRTHOB: MISSING HOMEBLOCK IORB>,<<P1,CHN>,<P2,KONT>,<P3,UNIT>>,<

Cause: missing homeblock IORB when we believe there should be one on
the PWQ>)


BUG.(CHK,HPSCHK,SCHED,SOFT,<SCHEDULER - EXCESSIVE TIME IN HIGH PRIORITY>,<<T2,JOBNO>,<FX,FRKNO>>,<

Cause:	A fork has entered a high priority scheduling condition, i.e.
PIBMP, CSKED, or JP%SYS, and has remained compute-bound for more than
5 seconds.  The fork has probably malfunctioned in some way, and
the high scheduling priority is affecting overall system response.

Action:	The high priority status is disabled until the fork itself
clears the condition.
>)


BUG.(CHK,HSHERR,JSYSA,HARD,<VERACT - HASH VALUE OUT OF RANGE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,HSTNET,MNETDV,SOFT,<PRFNFD OR PRFNET MESSED UP>)


BUG.(HLT,HSYFRK,MEXEC,soft,<HSYS-JOB 0 CFORK FAILED>,,<

Cause:	This will occur if the CFORK JSYS fails to create a fork for
	shutting down the system.

	This failure will occur if the forks are totally used up, or if job
	0 has used the maximum number of forks permitted.  NUFKS contains this
	maximum number.
>)


BUG.(HLT,IBCPYW,PAGEM,SOFT,<COPY-WRITE POINTER IN INDEX BLOCK>,,<

Cause:	A page fault occurred because a process attempted to write into
	a page whose access was copy-on-write. The BUGHLT indicates that
	the page table is an index block, which should never have copy-
	on-write access.
>)


BUG.(HLT,IBOFNF,FILINI,soft,<FILINI: ASOFN FAILURE FOR ROOT DIRECTORY IB>,,<

Cause:	During normal system startup, the call to SETRDO failed
	to set an OFN for the PS: root directory.  SETRDO fails if there is
	no SDB for the structure, of if ASROFN fails to assign an OFN.
>)


BUG.(HLT,ICMBDE,IPIPIP,SOFT,<ICMERR -- Bad type code>,<<T1,D>>)


BUG.(HLT,ICMNST,IPIPIP,SOFT,<No storage for ICMP>)


BUG.(CHK,IDFOD1,SCHED,SOFT,<AT MENTR - INTDF OVERLY DECREMENTED>,<<CX,PC>>,<

Cause:	At the time of a nested JSYS call, INTDF was less than -1.  Some
	code in the calling context must have fouled it up.  This is
	under a debug conditional and so should not appear in the field.

Data:	1. PC at which last JSYS was executed.

>)


BUG.(CHK,IDFOD2,SCHED,SOFT,<AT MRETN - INTDF OVERLY DECREMENTED>,,<

Cause:	At MRETN, INTDF was found to be less than -1.  This indicates
	that this JSYS code did an unmatched OKINT and may have
	allowed interrupts when it didn't intend to.  This is
	a coding error.

>)


BUG.(HLT,IDXNOS,FILINI,soft,<FILINI - COULD NOT ASSIGN FREE SPACE FOR IDXTAB>,,<

Cause:	During a refresh start (PS: is being built), if the call
	to ASGPAG for getting buffer space for the index table fails, this
	BUGHLT happens.  ASGPAG will fail if JBCOR has no 1-bits left in
	it, meaning that there are no free pages left in free space.
>)


BUG.(HLT,ILAGE,PAGEM,SOFT,<BAD AGE FIELD IN CST0>,,<

Cause:	The age of a memory page contains an unexpected value. One of the
	following happened:

	1. A page fault occurred and the age was either PSDEL or an
	undefined age LESS THAN PSASN.

	2. A process attempted to assign the page and its age was PSDEL,
	PSSPQ, or an undefined age LESS THAN PSASN.
>)


BUG.(HLT,ILCHS1,PHYSIO,HARD,<PHYSIO - ILLEGAL CHANNEL STATUS AT SIO>,,<

Cause:	The STRTIO routine was called to begin IO for an IORB, but the
	channel status indicated that the channel was already active
	doing a stacked command.
>)


BUG.(HLT,ILCHS2,PHYSIO,HARD,<PHYSIO - ILLEGAL CHANNEL STATE AT STKIO>,,<

Cause:	The STKIO routine was called to set up a second command for
	a channel, but the channel status indicated it already had
	a second command in progress.
>)


BUG.(HLT,ILCNSP,PHYSIO,HARD,<PHYSIO - ILLEGAL CALL TO CONSPW>,,<

Cause:	The routine CONSPW was called to remove an element from the
	position wait queue of a unit, but the arguments are illegal.
	Either the arguments are null, or CONSPW is trying to remove more
	than one element because it was passed more than one arguement.

>)


BUG.(HLT,ILCNST,PHYSIO,HARD,<PHYSIO - ILLEGAL CALL TO CONSTW>,,<

Cause:	The routine CONSTW was called to remove an element from the
	transfer wait queue of a unit, but the arguments are illegal.
	Either the arguments are null, or CONSTW is trying to remove more than
	one element because it was massed more than one arguement.

>)


BUG.(HLT,ILCST1,PAGUTL,SOFT,<ILLEGAL ADDRESS IN CST1 ENTRY, CANNOT RESTART>,,<

Cause:	The monitor is attempting to complete I/O that was taking place
	when the system crashed. The backup address in the CST is
	invalid for some core page. Note: This code is executed only
	if the monitor is manually started at location EVRST. This is
	not a recommended procedure.
>)


BUG.(HLT,ILDEST,PAGEM,HARD,<ILLEGAL DESTINATION IDENTIFIER TO SETMPG OR SETPT>,,<

Cause:	A routine has been called to change the map for a page. The
	caller provided a source identifier for a page table (an SPT
	index) rather than a single page. The BUGHLT indicates that
	the caller provided as a destination a file page. This is
	illegal when the source is a page table.
>)


BUG.(CHK,ILDRA1,SWPALC,HARD,<DASDRM-ILLEGAL OR UNASSIGNED DRUM ADDRESS>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,ILDRA2,SWPALC,SOFT,<DRMIAD-ILLEGAL DRUM ADDRESS>,,<

Cause:	AN illegal drum address was given to the DRMIAD subroutine, which
	computes disk tracks and sectors.

>)


BUG.(INF,ILDSTF,DATIME,SOFT,<Illegal Daylight Saving Time flag>,<<T1,DSTFLG>>,<

Cause:  Location DSTFLG contains an illegal value.  The most likely case of
	this bug is a new way of the do DST that subroutine DSTCHK wasn't
	informed about.

ACTION: None. If this BUGINF occurs, the Daylight Saving Time flag is reset
	to zero - use the default system in the monitor.

Data:   The contents of DSTFLG.

>)


BUG.(HLT,ILESCD,PAGEM,SOFT,<MONITOR SECTION POINTER NOT SHARED>,<<T1,POINTER>,<Q2,SECTION>>,<

Cause:	A pointer for a monitor section has been found which is not a
	share pointer.  Only share pointers are expected.  If other
	pointer types are to be used, this code must be enhanced.
	Perhaps the monitor section table has been clobbered.

Data:	1. The pointer.
	2. The monitor section for which it was found.
>)


BUG.(HLT,ILFPTE,PAGEM,SOFT,<ILLFPT: ILLEGAL SECTION NUMBER REFERENCED>,,<

Cause:	A routine was called to translate a virtual address into an
	internal identifier. The BUGHLT indicates that the caller provided a
	monitor address that contained an invalid section number. This
	can mean any of the following:

	1. The section number is larger than the maximum possible.

	2. On a machine that does not support extended addressing, a
	non-zero section number was provided.

>)


BUG.(HLT,ILGDA1,SWPALC,SOFT,<GDSTX - BAD ADDRESS>,,<

Cause:	A bad drum address was given to the GDSTX routine, which converts drum
	address into indexes into the DST table.  Consequently, the GDSTX
	routine did not try to compute the index.

>)


BUG.(HLT,ILGDA2,SWPALC,SOFT,<GDSTX - BAD ADDRESS>,,<

Cause:	Bad index into the DST was computed from a drum address that was given
	to GDSTX for conversion.

>)


BUG.(CHK,ILGOKM,JSYSA,SOFT,<ILLEGAL FUNCTION FOR GETOKM CALL>,<<T1,GOKFCN>>,<

Cause:	The GETOKM routine was called with an unknown function code.
	GETOKM handles internal GETOK requests from the monitor.

Data:	GOKFCN - GETOK function code

>)


BUG.(CHK,ILIBPT,PAGUTL,HARD,<BAD POINTER TYPE IN INDEX BLOCK>,<<W1,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,ILIRBL,PHYSIO,HARD,<PHYSIO - IORB LINK NOT NULL AT ONFPWQ>,,<

Cause:	The routine ONFPWQ was called to place an IORB at the front
	of the position wait queue for a unit.  But the link field
	in the IORB pointing to the next IORB was not null.
>)


BUG.(CHK,ILJRFN,FORK,soft,<JFKRFH - BAD JRFN, IGNORED>,,<

Cause:	Routine JFKRFH was erroneously called with a fork number which
	is out of range.  The correct range is a value less than NUFKS.
	JFKRFH changes a fork number into a fork handle.

>)


BUG.(HLT,ILLDMS,APRSRV,SOFT,<BADDMS: ILLEGAL DMS JSYS FROM MONITOR CONTEXT>,<<KIMUPC,PC>>,<

Cause:	The monitor has issued a JSYS that requests a service of the
	RMS-20 package.  These JSYSs are legal in user mode only.
	An illegal instruction trap will be given to the current
	process.

Data:	1. PC in monitor address space where JSYS was invoked

>)


BUG.(HLT,ILLGO,PHYH2,HARD,<INVALID CHANNEL LOGOUT>,,<

Cause:	The routine CKERR was called to check for channel errors after
	an IO operation.  The operation supposedly succeeded according
	to the IORB status bits.  But then, in verifying for a
	short style IORB that the IO was done correctly, the page number
	contained in the channel logout area did not match the number of the
	page on which the IORB wanted to perform IO.
>)


BUG.(CHK,ILLMJS,APRSRV,SOFT,<JSYS WITH E GTR 1000 EXECUTED IN MONITOR>,<<FPC,PC>>,<
Cause:	A JSYS with E greater than 1000 has been executed in the monitor.
	There should be no such cases.

Data:	1. PC of JSYS.
>)


BUG.(INF,ILLSTR,NSPSRV,SOFT,<NSPTSK-ILLEGAL INIT MESSAGE>,<<Q1,DTE>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,ILLTAB,LOGNAM,HARD,<TABLK2: TABLE NOT IN PROPER FORMAT>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,ILLUUO,APRSRV,SOFT,<KIBADU: ILLEGAL UUO FROM MONITOR CONTEXT>,<<KIMUFL,FLAGS>,<KIMUPC,PC>,<KIMUEF,EFFADR>>,<

Cause:	The monitor has executed an instruction that the microcode
	treats as an MUUO. The op code is not 104 (for a JSYS) or one
	of the KA10 floating point instructions.

Action:	Look for the software bug. Repeated occurrence of this
	BUGHLT may indicate a hardware problem.

Data:	1. FLAGS  - Processor flags when MUUO was executed
	2. PC     - PC in monitor address space where MUUO was executed
	3. EFFADR - Effective address of MUUO
>)


BUG.(HLT,ILMNRF,PAGEM,SOFT,<ILLEGAL REFERENCE TO MON ADR SPACE>,<<T1,PFW>,<T2,FLAGS>,<T3,PC>>,<

Cause:	The monitor made an illegal reference to an address in its map
	and was not prepared to handle the error. The possible errors
	include illegal read, write, and section number. See the page
	fail word for the reason code.

	This BUGHLT can also occur if an unrecoverable AR/ARX parity
	error is detected on certain monitor references. In this
	case, the analysis of the error will already have been
	printed on the CTY.
>)


BUG.(HLT,ILOFN1,PAGEM,SOFT,<MSCANP-ILLEG IDENT>,,<

Cause:	A routine has been called to scan the pages of a file to find
	the first non-zero page. Its arguments include an OFN
	associated with the file. The BUGHLT occurs because the caller
	has passed a 0.
>)


BUG.(HLT,ILOKSK,SCHED,,<OKSKED EXECUTED WHEN NOT NOSKED>,,<

Cause:	A process has declared itself to be OKSKED and ready to cease running
	(dismiss) until some event occurs.  This BUGHLT occurs because the
	process is OKSKED, indicating a mismatch of NOSKED and OKSKED states.

>)


BUG.(HLT,ILPAG1,PAGEM,SOFT,<SWPOT0-INVALID PAGE>,,<

Cause:	A routine was called to swap out a page in core. The BUGHLT
	indicates that the caller provided a bad argument, resulting
	in one of the following:

	1. The page is not in core.

	2. The page is part of the resident monitor.

	3. The page is locked in memory.

	4. The page is already being swapped.
>)


BUG.(HLT,ILPAGN,PAGUTL,SOFT,<MRKMPG-INVALID PAGE NUMBER>,,<

Cause:	A routine has been called to mark a page as modified (to
	set the CORMB flag in CST0). The BUGHLT indicates that the
	core page number provided by the caller is invalid.
>)


BUG.(HLT,ILPDAR,PHYSIO,HARD,<PHYSIO - ILLEGAL DISK ADDRESS IN PAGEM REQUEST>,,<

Cause:	The routine PHYSIO was called to queue up an IORB for PAGEM, but
	the disk or swapping address, or unit was illegal.  All such
	arguments should have been checked by the caller.

>)


BUG.(CHK,ILPID1,IPCF,HARD,<CREPID: ATTEMPT TO CREATE ILLEGAL PID>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,ILPID2,IPCF,HARD,<DELPID: VALIDATED PID TURNED ILLEGAL>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,ILPLK1,PAGUTL,SOFT,<MLKPG-ILLEGAL ARGS>,,<

Cause:	A routine was called to create a page in the monitor's
	address space. But the caller provided a page identifier that
	pointed to an existing page.
>)


BUG.(HLT,ILPPT1,PAGUTL,HARD,<UPDOFN-BAD POINTER IN PAGE TABLE>,,<

Cause:	The monitor is updating on the disk the index block for a file.
	The index block contains an address of a file page that is
	incorrect for one of the following reasons:

	1. It is a memory address of non-existent memory or in the
	resident monitor.
	2. There is no disk address for the page.
>)


BUG.(HLT,ILPPT3,PAGEM,SOFT,<BAD POINTER IN PAGE TABLE>,,<

Cause:	A page fault occurred because a process touched a page whose
	map entry contained access bits of 0, indicating non-existent
	page. But when the monitor mapped the page table, the page's
	entry was not 0. A non-existent page should always be
	represented by an all-zero entry.
>)


BUG.(HLT,ILPSEC,APRSRV,SOFT,<ILLEGAL SECTION NUMBER>,<<UPTPFO,PC>,<UPTPFW,PFW>>,<

Cause:	While running in scheduler context, the monitor made a reference to an
	address whose section number exceeded 37.

Data:	PC - PC when instruction was executed
	PFW - page fail word
>)


BUG.(HLT,ILPTN1,PAGEM,SOFT,<MRPACS-ILLEG PTN>,,<

Cause:	A routine has been called to determine the possible access to a
	page. Its arguments include the SPT index for the page table
	associated with the page. The BUGHLT occurs because the caller has
	passed a 0.
>)


BUG.(HLT,ILRBLT,PHYSIO,HARD,<PHYSIO - IORB LINK NOT NULL AT ONF/STWQ>,,<

Cause:	One of the routines ONFTWQ or ONSTWQ was called to insert an IORB
	into the transfer wait queue, but the link word for that IORB
	was not zero.  IORBs should always contain a null link when
	they are created or removed from a queue, so that many queue
	handling errors can be detected.
>)


BUG.(HLT,ILSPTH,PAGEM,SOFt,<SETPT-SPTH INCONSISTENT WITH XB>,,<

Cause:	A routine has been called to change the map for a page of a
	process. The page is being mapped to a file page for which
	the index block has a share pointer. The share pointer points
	to an SPT slot. The BUGHLT indicates that the SPT slot is not
	owned by the file page whose map word points to it. This
	indicates an inconsistency in the monitor's data.
>)


BUG.(HLT,ILSPTI,PAGEM,SOFT,<ILLEGAL SPT INDEX GIVEN TO SETMXB>,,<

Cause:	A routine has been called to change the map for a page. The
	caller provided a source identifier for a page table (an SPT
	index) rather than a single page. The BUGHLT indicates that
	the source identifier is an invalid SPT index, larger than the
	maximum value allowed.
>)


BUG.(HLT,ILSRC,PAGEM,SOFT,<ILLEGAL SOURCE IDENTIFIER GIVEN TO SETPT>,,<

Cause:	A routine has been called to change the map for a page. The
	caller is expected to provide an identifier for the source
	that is of the form (SPT index,,page number). The BUGHLT
	indicates that the right half of the identifier contains an illegal
	value (that exceeds 777).
>)


BUG.(HLT,ILSWPA,PAGEM,SOFT,<SWPIN - ILLEGAL SWAP ADDRESS>,,<

Cause:	A routine has been called to swap a page into core. The backup
	address for the page is of an illegal format.
>)


BUG.(HLT,ILTWQ,PHYSIO,HARD,<PHYINT - TWQ OR PWQ INCORRECT>,,<

Cause:	In the PHYINT routine to handle an interrupt, after the lower
	level interrupt code has returned, a check is made to see if
	the IORB returned matched the first element of either the position
	wait queue or the transfer wait queue.  The returned IORB did not match
	the first element in the queue checked.
>)


BUG.(HLT,ILTWQP,PHYSIO,HARD,<PHYSIO - PWQ OR TWQ TAIL POINTER INCORRECT>,,<

Cause:	The pointer to the last element in the position wait queue or
	transfer wait queue (UDBPWQ or UDBTWQ) points to an IORB which
	has a non-null link to further IORBs.  This is checked in various
	routines such as ONTWQ, ONPWQ, ONSTWQ, ONFPWQ, CONSTW, or CONSPW.
>)


BUG.(HLT,ILULK1,PAGUTL,SOFT,<MULKPG - TRIED TO UNLOCK PAGE NOT LOCKED>,,<

Cause:	A routine was called to unlock a core page, but the page was
	not in core, indicating it could not have been locked.
>)


BUG.(HLT,ILULK2,PAGUTL,SOFT,<TRIED TO UNLOCK PAGE NOT LOCKED>,,<

Cause:	A routine was called to unlock a core page, but the page's
	lock count was 0.
>)


BUG.(HLT,ILULK3,PAGUTL,SOFT,<MULKMP - ILLEGAL MONITOR ADDRESS>,,<

Cause:	A routine was called to unlock a core page in the monitor's
	address space. But the caller provided a page identifier that did not
	point to the monitor's map.
>)


BUG.(HLT,ILULK4,PAGUTL,SOFT,<MULKCR - ILLEGAL CORE PAGE NUMBER>,,<

Cause:	A routine was called to unlock a core page. The caller provided
	a page number that was illegal because of one of the following:

	1. The page is never locked because it is part of the resident
	monitor

	2. The page does not exist in physical memory.
>)


BUG.(HLT,ILUST1,PHYSIO,HARD,<PHYSIO - UNIT STATUS INCONSISTENT AT SIO>,,<

Cause:	The STRTIO routine was called to start IO on a unit for an IORB,
	but the unit or controller status indicated that the unit was
	already active.  IO should never be started on an active drive.
>)


BUG.(CHK,ILUST2,PHYSIO,HARD,<PHYSIO - UNIT STATUS INCONSISTENT AT SPS>,,<

Cause:	The routine STRTPS was called to begin a positioning request
	for a unit, but the status indicated that the unit was already
	active and the transfer wait queue was nonempty.
>)


BUG.(HLT,ILUST3,PHYSIO,HARD,<PHYSIO - SCHSEK - IMPOSSIBLE UNIT STATUS>,,<

Cause:	The SCHSEK routine was called to start a position request for
	a unit, but the status of the unit indicated it was not idle.
	SCHSEK should only be called when a unit becomes inactive.
>)


BUG.(HLT,ILUST4,PHYSIO,HARD,<PHYSIO - CONTROLLER ACTIVE AT SPS>,,<

Cause:	The routine STRTPS was called to begin positioning on a
	unit, but the controller status indicated it was already
	busy.
>)


BUG.(HLT,ILUST5,PHYSIO,SOFT,<PHYSIO - ILLEGAL CHANNEL OR CONTROLLER STATE AT STKIO>,,<

Cause:	The STKIO routine was called to stack up a second command for a
	channel, so that the CDB and KDB (if it exists) should have been
	marked as active.  However, at least one of them wasn't active.
>)


BUG.(HLT,ILUST6,PHYSIO,SOFT,<PHYSIO - ILLEGAL UNIT STATE AT STKIO>,,<

Cause:	The STKIO routine was called to stack up a second command for
	a channel, but the unit either was not active or was doing
	positioning.
>)


BUG.(HLT,ILXBP,PAGEM,SOFT,<SETPT-BAD POINTER IN XB>,,<

Cause:	A routine has been called to change the map for a page of a
	process. The page is being mapped to a file page. The BUGHLT
	indicates that the index block for the file contains an indirect
	pointer in memory. Only share pointers and immediate pointers
	are legal for index blocks.
>)


BUG.(INF,IMINX1,IMPANX,HARD,<UNUSUAL ANI INTERRUPT, CONI ANI IS>,<<T1,D>>)


BUG.(HLT,IMPBAD,IMPDV,SOFT,<IMPDV: Attempt to return a buffer not in range>)


BUG.(INF,IMPHNW,IMPDV,SOFT,<IMPDV: LHOSTN disagrees with the IMP>)


BUG.(HLT,IMPIBF,IMPANX,SOFT,<Internet buffers fouled>,<<CX,D>>)


BUG.(HLT,IMPIWW,IMPDV,SOFT,<IMPDV: Internet bfr word size wrong>)


BUG.(HLT,IMPLKF,IMPDV,SOFT,<IMPDV: Attempt to lock buffer on freelist>)


BUG.(INF,IMPRMI,IMPDV,SOFT,<IMPDV: Regular message on irreg queue>)


BUG.(HLT,IMPULF,IMPDV,SOFT,<IMPDV: attempt to unlock buffer on freelist>)


BUG.(HLT,IMPUUO,APRSRV,HARD,<IMPOSSIBLE MUUO>,,<

Cause:	The monitor was called at its MUUO handler because the user
	executed an MUUO. However, the op code reported by the
	microcode is in the range 1-37, which should have caused
	an LUUO.
>)


BUG.(HLT,IMPVBD,IPFREE,SOFT,<IMPDV: Attempt to return a buffer with the address smashed>)


BUG.(INF,IMPXBO,IMPDV,SOFT,<IMPDV: Irreg msg buffer overflow>)


BUG.(INF,IMPXUT,IMPDV,SOFT,<IMPDV: Received irreg msg with unknown link or type>,<<T1,HOST>,<T2,LINK>,<T3,TYPE>,<T4,SUBTYP>>)


BUG.(CHK,INCFLK,SCHED,SOFT,<Fork lock set at return to user>,,<

Cause:	Coding error has neglected to unlock the fork lock.

Action:	The monitor unlocks the fork lock before returning
	to the user. However,  this BUGCHK may be indicative
	of other failures to properly release resources

>)


BUG.(INF,INDCNT,DTESRV,HARD,<DTESRV- BAD INDIRECT COUNT>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(HLT,INGGP0,IPIPIP,SOFT,<GWYINI: Crucial storage missing>)


BUG.(HLT,INGWA1,IPIPIP,SOFT,<INQINI: Free Storage gone>)


BUG.(HLT,INTBUF,IPIPIP,SOFT,<IPIPIP: Packet size smashed when unlocking Internet Buffer>)


BUG.(HLT,INTDHF,IPIPIP,SOFT,<INTDWN -- Impossible failure of NETHSH>)


BUG.(HLT,INTFR0,IPFREE,SOFT,<Internet Free Space - Block size clobbered>)


BUG.(HLT,INTFR1,IPFREE,SOFT,<Internet Free Space - Block hash clobbered>)


BUG.(HLT,INTFR4,IPFREE,SOFT,<Internet Free Space - Bad block size request>)


BUG.(HLT,INTFR5,IPFREE,SOFT,<Internet Free Space - Bad block size request>)


BUG.(INF,INTFR6,IPFREE,SOFT,<Internet Free Space - Free storage exhausted>)


BUG.(CHK,INTFR7,IPFREE,SOFT,<Internet Free Space - ODDBLK list fouled>)


BUG.(HLT,INTFR7,IPFREE,SOFT,<Internet Free Space - ODDBLK list fouled>)


BUG.(HLT,INTGW1,IPIPIP,SOFT,<Internet input pkt smashed>)


BUG.(HLT,INTGW2,IPIPIP,SOFT,<INTLC0: INT buffer list fouled.>)


BUG.(HLT,INTMA0,IPIPIP,SOFT,<INTBEG: Can't create Internet fork>)


BUG.(CHK,INTMA1,IPIPIP,SOFT,<Internet fork: unexpected interrupt>)


BUG.(HLT,INTMS1,IPIPIP,SOFT,<INTLKB: Pkt size smashed>)


BUG.(HLT,INTNQ1,IPIPIP,SOFT,<EnQ: Item not dequeued>)


BUG.(HLT,INTNQ2,IPIPIP,SOFT,<DeQ: Item not queued>)


BUG.(HLT,INTWA0,IPIPIP,SOFT,<RELBFR: Bit table fouled up>)


BUG.(CHK,INTWA1,IPIPIP,SOFT,<SETWTB: Wait bit not assigned>)


BUG.(CHK,INTWA2,IPIPIP,SOFT,<CLRWTB: Wait bit not assigned>)


BUG.(HLT,INVDTE,DTESRV,SOFT,<DTEQ- INVALID DTE SPECIFIED>,,<

Cause:	The DTE request queuer for outgoing messages has been given
	an invalid (greater than 3) DTE number.

Action:	Look at the dump.  The stack should indicate the calling
	routine.

>)


BUG.(HLT,IOPGF,APRSRV,SOFT,<IO PAGE FAIL>,<<Q1,IOP>>,<

Cause:	An APR interrupt occurred because an interrupt instruction caused
	a page failure. This probably indicates that the interrupt instruction
	provided by the monitor referenced a page that was not in memory.
	The monitor has already checked for a DTE that made the reference
	and found none. (However, it is possible for a software bug
	to cause a DTE to generate an I/O page fail that the monitor
	cannot detect.)  The monitor has printed a description of the problem on
	the CTY.

Data:	IOP - IOP word

>)


BUG.(CHK,IPCFKH,IPCF,HARD,<CHKPDD: COULD NOT FIND LOCAL FORK HANDLE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,IPCFRK,IPCF,HARD,<PIDINB: CANNOT CREATE FORKS FOR IPCF>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,IPCJB0,IPCF,HARD,<PIDINI: NOT IN CONTEXT OF JOB 0>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,IPCMCN,IPCF,HARD,<MESREC: MESSAGE COUNT WENT NEGATIVE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,IPCSOD,IPCF,HARD,<GETMES: SENDER'S COUNT OVERLY DECREMENTED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,IPGCOL,IPFREE,SOFT,<Internet Free Space - Reclaiming internet free space>)


BUG.(HLT,ITNOJC,SCHED,HARD,<INSTRUCTION TRAP NOT IN JSYS CONTEXT>,<<LSTERR,LSTERR>,<LSTIPC,ERRPC>,<KIMUPC,MUUOPC>>,<

Cause:	The illegal instruction trap handler has been entered, but the
	process is not in JSYS context.

Data:	1. Last error code.
	2. PC at which error was generated.
	3. Last MUUO PC.
>)


BUG.(CHK,JB0CSH,MEXEC,SOFT,<JOB 0 CRASH>,<<ITFPC,PC>,<LSTERR,LSTERR>>,<

Cause:	An unexpected interrupt has occurred in the job 0 fork which
	check system status.  The context will be reinitialized, and
	the process restarted.  The stack may be examined to determine
	the situation which caused the error.

Data:	1. PC at which error occurred.
	2. Last error code for this fork.
>)


BUG.(CHK,JB0INX,MEXEC,SOFT,<UNEXPECTED INTERRUPT IN JOB 0 DURING INITIALIZATION>,<<ITFPC,PC>,<JB0XFR,NEWPC>,<LSTERR,LSTERR>>,<

Cause:	An unexpected error has occurred in Job 0 which results
	in control being transferred to the default error handler.
	This has happened during job 0 initialization.
	The error handler will attempt to reset the context and
	continue at the specified error address,
	however some system resources may be
	hung as a result of locks not being cleared.  The stack
	can be examined to determine what was in progress when
	the error occurred.

Data:	1. PC at which error occurred.
	2. Address to which control will be transferred after cleanup.
	3. Last error code in this fork.
>)


BUG.(HLT,JPTNIC,PAGUTL,SOFT,<SETPPG-PT FOR JSB NOT IN CORE>,,<

Cause:	The monitor is establishing the context for running a
	process by making the PT for its extended per-job area be part of the
	monitor's map. It is about to copy the SPT entry for the
	extended JSB's page-table into a special SPT slot. But the page-table is not in core.
>)


BUG.(HLT,JSBNIC,PAGUTL,SOFT,<SETPPG-JSB NOT IN CORE>,,<

Cause:	The monitor is establishing the context for running a
	process by making its per-job area be part of the
	monitor's map. It is about to copy the SPT entry for the
	JSB into a special SPT slot. But the JSB is not in core.
>)


BUG.(CHK,JSSEC0,SCHED,SOFT,<NESTED JSYS CALL FROM SECTION 0>,<<CX,PC>>,<

Cause:	At entry to a JSYS called within the monitor, the return PC is
	in section 0.  This is a coding error which should be corrected.
	This is under a debug conditional, so should never occur in
	the field.

Data:	1. PC of offending JSYS.
>)


BUG.(HLT,JTENQE,SCHED,SOFT,<JTENQ WITH BAD NSKED>,,<

Cause:	A process has attempted to lock the JSYS trap lock and found
	it already locked. The process will enter a queue and dismiss until
	the lock becomes available. The BUGHLT occurs because when the process
	decrements its NOSKED counter, the value does not go to 0. This
	means that the process is still NOSKED or it was OKSKED when it
	should have been NOSKED.
>)


BUG.(HLT,KCHARD,PAGEM,SOFT,<HARD PAGE FAULT OCCURRED - NO CODE EXISTS>,,<

Cause:	A page fault occurred indicating hard error for a KC. No code exists
to handle this.

>)


BUG.(CHK,KCPFH1,PAGEM,HARD,<UNEXPECTED PAGE FAULT CODE (ILLEGAL AGE)>,,<

Cause:	A page fault occurred in which the code indicated that a CST entry had
an illegal age when the corresponding virtual address existed in the hardware's
translation buffer. We expect to clear the pager when we set an illegal age, so
this condition should never occur.

Action:	No action is required. The monitor proceeds as if the translation did
not exist.

>)


BUG.(HLT,KCPFH2,PAGEM,SOFT,<ILLEGAL SUPER SECTION POINTER>,,<

Cause:	A page fault occurred indicating that the microcode found an illegal
super section pointer. Its type field contained 5, 6, or 7.

Action:	Debug the code that created the pointer.

>)


BUG.(HLT,KCPFH3,PAGEM,SOFT,<ILLEGAL POINTER>,,<

Cause:	A page fault occurred indicating that the microcode found an illegal
pointer. Its type field contained 4, 5, 6, or 7.

Action:	Debug the code that created the pointer.

>)


BUG.(HLT,KCPFH4,PAGEM,SOFT,<MUST-BE-ZERO BITS ARE NON-ZERO>,,<

Cause:	A page fault occurred indicating that must-be-zero bits are non-zero.
Most likely the monitor did an XJRSTF with some non-zero bits in the reserved
part of the flags word.

Action:	Debug the code that set up the flags word. Most likely, it has stored
a section number from a PC word in the rightmost bits of the left half of the
flags word.

>)


BUG.(CHK,KCPFH5,PAGEM,SOFT,<ILLEGAL PXCT>,,<

Cause:	A page fault occurred indicating that a PXCT was executed with the
current AC block and the previous AC block set to the same value.

Action:	The monitor is not coded to run under these conditions. Most likely,
some new flags word contains 0 in the PAB and CAB fields. Find the code that
did this, and correct it.

>)


BUG.(HLT,KCPFH6,PAGEM,SOFT,<ILLEGAL PHYSICAL EFFECTIVE ADDRESS WORD>,,<

Cause:	A page fault occurred indicating that the microcode found a physical
effective address word with a 1 in bit 0 or bit 1.

Action:	The monitor has made a physical reference with invalid data. Find the
reference and correct it.

>)


BUG.(HLT,KCPFH7,PAGEM,SOFT,<ILLEGAL INTERRPUT VECTOR>,,<

Cause:	A page fault occurred indicating that the microcode found a all-zero
interrupt vector word when attempting to give an interrupt. This should cause
an I/O page fail and not a normal page fault.

Action:	Find the reason for the zero interrupt vector word (probably a software
bug). Also find out why the microcode gave a normal page fault for this condition.

>)


BUG.(HLT,KCPFH8,PAGEM,HARD,<INVALID PAGE FAULT CODE>,,<

Cause:	A page fault occurred in which the "hard error" bit was not set, but
the code provided by the microcode was not within the range of expected codes.

Action:	Debug the microcode
>)


BUG.(CHK,KLIOVF,DTESRV,HARD,<DTESRV-KLINIK DATA BASE TOO LARGE>,<<C,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(HLT,KLPBDS,PHYKLP,SOFT,<PHYKLP: Bad dispatch from PHYSIO>,,<

Cause:	PHYKLP was called to perform a function of which it is not capable.

Action:

Data:

>)


BUG.(CHK,KLPBOP,PHYKLP,SOFT,<PHYKLP: Bad op code on command queue>,<<T3,BOC>>,<

Cause:	While purging a command queue we discovered a packet with an illegal
	op code.

Data:	BOC - the bad code

Action:	If this happens frequently, use the SCAMPI and PHYKLP ring buffers to
	try to discover how such a packet is being created.
>)


BUG.(INF,KLPBRC,PHYKLP,HARD,<Bad READ-COUNTERS>,,<

Cause:	TOPS-20 has removed a READ-COUNTERS packet from response queue and the
	reason code field contains an illegal value.
>)


BUG.(INF,KLPCBN,PHYKLP,HARD,<PHYKLP: CBUS not available>,<<T1,CSR>,<T2,LAR>,<T3,EWORD3>,<T4,EWORD4>>,<

Cause:	The port was not able to get the CBUS.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
	EWORD3 - PCB error word 3
	EWORD4 - PCB error word 4
>)


BUG.(INF,KLPCBS,PHYKLP,HARD,<PHYKLP: CBUS parity error>,<<T1,CSR>,<T2,LAR>,<T3,LWORD1>,<T4,LWORD2>>,<

Cause:	The CI-20 had a CBUS parity error.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
	EWORD1 - PCB error word 1
	EWORD2 - PCB error word 2
>)


BUG.(CHK,KLPCGN,PHYKLP,HARD,<PHYKLP: Can't get CI node number>,,<

Cause:	The CI-20 driver did a READ-REGISTER command to get our CI node number
	from the port;  it timed out waiting for the reply.  Most likely, the
	port is sick.
>)


BUG.(INF,KLPCGU,PHYKLP,SOFT,<PHYKLP: Can't get buffer for CI-20 u-code version>,,<

Cause:	TOPS-20 has restarted the CI-20 but there were no datagram buffers on 
	the free queue.  Thus, TOPS-20 couldn't do a READ-COUNTERS command to
	get the port's u-code version.
>)


BUG.(CHK,KLPCKE,PHYKLP,HARD,<PHYKLP: SET-CIRCUIT command error>,<<T1,STATUS>,<T2,FLAGS>,<P2,OPC>>,<

Cause:	A SET-CIRCUIT command has failed.  TOPS-20 doesn't retry such commands
	because it believes the CI port always executes them properly.
	The port is probably in trouble.

Data:	STATUS - status field of packet
	FLAGS - flags field of packet
	OPC - op code field of packet
>)


BUG.(INF,KLPCLB,PHYKLP,HARD,<CLOSE BUFFER FUNCTION FAILED>,<<T1,STATUS>>,<
Cause:	Unknown. Look at the status word to find out.
>)


BUG.(CHK,KLPCRR,PHYKLP,HARD,<PHYKLP: READ-REGISTER command failed>,,<

CAUSE: The CI-20 port is sick.

>)


BUG.(INF,KLPCSR,PHYKLP,HARD,<PHYKLP: Grant CSR error>,<<T1,CSR>,<T2,LAR>,<T3,CRAM1>,<T4,CRAM2>>,<

Cause:	The port timed out waiting for Grant CSR.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
	CRAM1 - contents of first CRAM word
	CRAM2 - contents of next CRAM word
>)


BUG.(CHK,KLPDED,PHYKLP,HARD,<PHYKLP: CI-20 is dead, no longer trying to start it>,<<T1,ERROR>>,<

Cause:	TOPS-20 tried to restart the CI-20 and the procedure failed twice
	in a row.  The CI-20 is being left in its current state.

Data:	ERROR - error code for failure

>)


BUG.(INF,KLPDPP,PHYKLP,HARD,<PHYKLP: Data path error>,<<T1,CSR>,<T2,LAR>,<T3,WORD0>,<T4,EWORD1>>,<

Cause:	The port's MOVER/FMTR detected a parity error.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
	EWORD0 - PCB error word 0
	EWORD1 - PCB error word 1
>)


BUG.(INF,KLPDRQ,PHYKLP,HARD,<PHYKLP: CI u-code dump requested>,,<

Cause:	TOPS-20 has decided the CI-20 microcode needs to be dumped.

>)


BUG.(INF,KLPDUM,PHYKLP,SOFT,<PHYKLP: CI-20 u-code dump in progress>,<<T1,DFORK>>,<

Cause:	DIAG% was executed prior to dumping the CI-20 port's u-code.

Data:	DFORK - fork doing the dump
>)


BUG.(INF,KLPEBP,PHYKLP,HARD,<PHYKLP: EBUS parity error>,<<T1,CSR>,<T2,LAR>,<T3,EWORD0>>,<

Cause:	The port received a data word with bad parity from the KL.  This
	did not happen while processing a quueue.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
	EWORD0 - PCB error word 0
>)


BUG.(INF,KLPEBQ,PHYKLP,HARD,<PHYKLP: EBUS parity error>,<<T1,CSR>,<T2,LAR>,<T3,EWORD0>,<T4,EWORD1>>,<

Cause:	The port received a data word with bad parity from the KL.  This
	happened while processing a quueue.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
	EWORD0 - PCB error word 0
	EWORD1 - PCB error word 1
>)


BUG.(INF,KLPELL,PHYKLP,SOFT,<PHYKLP: Error Log Lost>,,<

Cause:	Can't get free space to create ERROR.SYS entry for ERROR LOG MESSAGE.
>)


BUG.(INF,KLPELT,PHYKLP,SOFT,<PHYKLP: Error Log Truncated>,,<

Cause:	An ERROR LOG MESSAGE has been truncated in its ERROR.SYS entry.
>)


BUG.(CHK,KLPEPB,PHYKLP,SOFT,<PHYKLP: Error-logging packet is bad>,<<T2,STATS>,<T3,FLAGS>,<P2,OPC>,<Q1,NODE>>,<

Cause:	TOPS-20 received an error-logging packet (PPD byte 5) which had an
	error.  The packet is returned immediately to the free queue.  Thus,
	whatever information it carried is lost.

Data:	STATS - Status field of packet
	FLAGS - Flags field of packet
	OPC - op code field of packet
	NODE - node number
>)


BUG.(INF,KLPERE,PHYKLP,HARD,<PHYKLP: EBUS request error>,<<T1,CSR>,<T2,LAR>>,<

Cause:	The port could not get the EBUS.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
>)


BUG.(INF,KLPERQ,PHYKLP,HARD,<PHYKLP: Empty response queue>,<<T1,CONI>>,<

Cause:	The monitor got an interrupt to remove a packet from the response
	queue. The queue was empty.

Data:	CONI - Result of last CONI.

>)


BUG.(CHK,KLPERR,PHYKLP,SOFT,<PHYKLP: CI packet error>,<<T2,STATS>,<T3,FLAGS>,<T4,OPC>,<Q1,NODE>>,<

Cause:	The CI-20 driver received a packet (message or named buffer) with an
	error.  This causes us to close the virtual circuit.

Data:	STATS - Status field of packet
	FLAGS - Flags field of packet
	OPC - op code field of packet
	NODE - node number
>)


BUG.(INF,KLPFST,PHYKLP,HARD,<PHYKLP: Self test failed>,<<T1,CSR>,<T2,VER>,<T3,LAR>>,<
Cause:	The port had a failure during its self test.

Data:	CSR - Result of last CONI
	VER - U-CODE VERSION
	LAR - CRAM's last address read
>)


BUG.(INF,KLPHNG,PHYKLP,HARD,<PHYKLP:  CI-20 is hung>,,<

Cause:	We set the response bit on a REQUEST-ID	command and timed out waiting
	for it to appear on the response queue.  Our port is sick.
>)


BUG.(HLT,KLPHOG,PHYKLP,HARD,<PHYKLP: Interlock value on queue is too large>,<<T1,QUEUE>,<T2,COUNT>,<T3,OWNER>,<T4,CONTXT>>,<

Cause:	The KLIPA driver timed out the interlock, but the value isn't what 
	we expect.
>)


BUG.(INF,KLPIBN,PHYKLP,SOFT,<PHYKLP: Invalid buffer name>,<<T2,STATS>,<T3,FLAGS>,<T4,OPC>,<Q1,NODE>>,<

Cause:	The CI-20 driver received a packet (message or named buffer) with an
	Invalid Buffer Name error.

Data:	STATS - Status field of packet
	FLAGS - Flags field of packet
	OPC - op code field of packet
	NODE - node number
>)


BUG.(CHK,KLPIFL,PHYKLP,HARD,<PHYKLP:  Illegal flags>,<<T4,NODE>,<T1,STATUS>>,<

Cause:	The response queue contains a packet whose op code indicates
	that the packet was queued by a remote host. But the software response
	bit is set.

Data:	NODE - Node number
	STATUS - Status word
>)


BUG.(INF,KLPILP,PHYKLP,HARD,<PHYKLP: Software response bit off in locally-generated packet>,<<Q1,NODE>,<T1,STATUS>>,<

Cause:	The response queue contains a packet whose op code indicates
	that the packet was queued by this host. But the software response
	bit is not set, and there was no error.
>)


BUG.(INF,KLPINP,PHYKLP,HARD,<PHYKLP: Internal port error>,<<T1,CSR>,<T2,VER>,<T3,LAR>>,<

Cause:	The port has found an inconsistency in an operation it was performing.

Data:	CSR - Result of last CONI
	VER - U-CODE VERSION
	LAR - CRAM's last address read
>)


BUG.(CHK,KLPIPA,PHYKLP,HARD,<PHYKLP: Invalid packet arrival>,<<T1,STATS>,<T2,FLAGS>,<P2,OPC>,<Q1,NODE>>,<

Cause:	The CI-20 driver has received an application packet from a node with
	which it doesn't think it has ever communicated.

DATA:	STATS - Status field of packet
	FLAGS - Flags field of packet
	OPC - op code field of packcet
	NODE - node number
>)


BUG.(CHK,KLPIRD,PHYKLP,SOFT,<PHYKLP: Invalid remotely-generated data request>,<<T1,STATS>,<T2,FLAGS>,<P2,OPC>,<Q1,NODE>>,<

CAUSE:	The CI-20 driver received an error-free, remotely-generated packet with
	opcode 10, 11, 12, or 20.  This is illegal.

DATA:	STATS - Status field of packet
	FLAGS - Flags field of packet
	OPC - op code field of packet
	NODE - node number
>)


BUG.(INF,KLPIRP,PHYKLP,HARD,<PHYKLP: Software response bit on in remotely-generated packet>,<<Q1,NODE>,<T1,STATUS>>,<

Cause:	The response queue contains a packet whose op code indicates
	that the packet was queued by a remote host. But the software response
	bit is set.
>)


BUG.(CHK,KLPLBF,PHYKLP,HARD,<PHYKLP: Loopback failed>,<<T2,STATS>,<T3,FLAGS>,<P2,OPC>,<T4,CSR>>,<

Cause:	The CI-20 driver has tried to send a loopback packet to the STAR
	coupler and it had a non-path error.

DATA:	STATS - Status field of packet
	FLAGS - Flags field of packet
	OPC - op code field of packet
	CSR - result of the last CONI
>)


BUG.(INF,KLPLOA,PHYKLP,SOFT,<PHYKLP: CI-20 u-code reload in progress>,<<T1,LFORK>>,<

Cause:	DIAG% was executed prior to reloading the CI-20 port's u-code.

Data:	LFORK - fork doing the load
>)


BUG.(INF,KLPMBS,PHYKLP,HARD,<PHYKLP: MBUS error>,<<T1,CSR>,<T2,LAR>,<T3,CRAM1>,<T4,CRAM2>>,<

Cause:	 Multiple MBUS drivers simultaneously accessing MBUS.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
	CRAM1 - contents of first CRAM word
	CRAM2 - contents of next CRAM word
>)


BUG.(INF,KLPMCE,PHYKLP,HARD,<RECEIVED AN MCNF OR AN MDATREC  WITH AN ERROR>,<<T1,NODE>,<T2,STATUS>>,<
Cause:	Unknown. Check the error code.

Data:	T1 has the node number of the CI node. 
	T2 has the status word of the packet.

>)


BUG.(CHK,KLPMCR,PHYKLP,HARD,<RECEIVED AN MCNF OR AN MDATREC  FROM KLIPA WHEN NOT EXPECTING IT>,<<T1,NODE>>,<
Cause:	Either the Maintenance function timed out,or the KLIPA gave us a 
	spurious one.

Data:	Node number of CI node that sent the MCNF or MDATREC.

>)


BUG.(CHK,KLPNDE,PHYKLP,SOFT,<PHYKLP: Packet with bad node number>,<<T2,STATS>,<T3,FLAGS>,<T4,OPC>,<Q1,NODE>>,<

CAUSE:	CI-20 driver received a packet with an invalid node number. The packet
	has not been returned to a free queue.

DATA:	STATS - Status field of packet
	FLAGS - Flags field of packet
	OPC - op code field of packet
	NODE - node number
>)


BUG.(CHK,KLPNDG,PHYKLP,SOFT,<PHYKLP: No datagram buffer>,,<

Cause:	TOPS-20 tried to remove a buffer from the datagram free queue but the
	queue was empty.
>)


BUG.(HLT,KLPNDM,PHYKLP,SOFT,<PHYKLP: CI-20 u-code needs dumping>,,<

Cause:	The port microcode needs to be dumped but we have timeout waiting for it
	to get started.  Most likely JOB 0 has a problem.
>)


BUG.(CHK,KLPNEN,PHYKLP,SOFT,<PHYKLP: CI-20 not enabled>,,<

Cause:	TOPS-20 believes the CI-20 should be enabled but has found otherwise.
>)


BUG.(CHK,KLPNMG,PHYKLP,SOFT,<PHYKLP: No message buffer>,,<

Cause:	TOPS-20 tried to remove a buffer from the message free queue but the
	queue was empty.
>)


BUG.(HLT,KLPNOD,PHYKLP,SOFT,<PHYKLP: Can't get datagram buffers during initialization>,,<

Cause:	The CALL SC.ALD failed.  SCA can't handle the request.
>)


BUG.(CHK,KLPNOR,PHYKLP,SOFT,<PHYKLP: Remote port is sick>,<<Q1,PORT>>,<
Cause:	We have sent REQUEST-IDs to the remote node but it is not answering.

Data:	PORT - Remote port number
>)


BUG.(HLT,KLPNRL,PHYKLP,SOFT,<PHYKLP: CI-20 u-code needs reloading>,,<

Cause:	The port microcode needs to be reloaded but we have timed out waiting
	for it to get started.  Most likely JOB 0 has a problem.
>)


BUG.(HLT,KLPNSB,PHYKLP,SOFT,<PHYKLP:  No system block at OPENVC>,,<

Cause:	OPENVC was called with a system block address of 0.
>)


BUG.(INF,KLPNUP,PHYKLP,SOFT,<PHYKLP: Node up>,<<Q1,NODE>>,<

Cause:	A CI node has come on-line (a virtual circuit has been established).

Data:	NODE - CI node number
>)


BUG.(HLT,KLPONC,PHYKLP,SOFT,<PHYKLP: Trying to open a VC which isn't closed>,,<

Cause:	OPENVC was called when the VC was not closed.
>)


BUG.(CHK,KLPOPC,PHYKLP,SOFT,<PHYKLP: Packet with bad op-code>,<<T2,STATS>,<T3,FLAGS>,<P2,OPC>,<T4,NODE>>,<

CAUSE:	CI-20 driver received a packet with an invalid op-code. The packet
	has not been returned to a free queue.

DATA:	STATS - Status field of packet
	FLAGS - Flags field of packet
	OPC - op code field of packet
	NODE - node number
>)


BUG.(HLT,KLPPCB,PHYKLP,SOFT,<PHYKLP: PCB is corrupted>,,<

Cause:	The PCB has invalid data.
>)


BUG.(INF,KLPPIA,PHYKLP,HARD,<PHYKLP: CI-20 has lost its PIA>,<<T3,CSR>>,<
Cause:	The CI-20 no longer knows its interrupt assignment.

Data:	CSR - the result of the last CONI.
>)


BUG.(CHK,KLPPPD,PHYKLP,SOFT,<PHYKLP: Packet with bad PPD byte>,<<T2,STATS>,<T4,OPC>,<T1,NODE>,<P4,PPD>>,<

CAUSE:	The CI-20 driver received a packet with an invalid PPD byte. The packet
	has not been returned to a free queue.

DATA:	STATS - Status field of packet
	OPC - op code field of packcet
	NODE - node number
	PPD - PPD byte
>)


BUG.(INF,KLPPPE,PHYKLP,HARD,<PHYKLP: PLI parity error>,<<T1,CSR>,<T2,LAR>,<T3,EWORD1>,<T4,EWORD2>>,<

Cause:	The port detected bad parity on a PLI BUS read.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
	EWORD1 - PCB error word 1
	EWORD2 - PCB error word 2
>)


BUG.(HLT,KLPPRI,PHYKLP,SOFT,<PHYKLP: Invalid priority>,,<

Cause:	KLPSND was called with an invalid priority.
>)


BUG.(INF,KLPPTH,PHYKLP,HARD,<PHYKLP: Virtual circuit closed -  both paths closed>,<<Q1,NODE>>,<

Cause:	There was an open VC and both paths are now bad.

Data:	NODE - node number
>)


BUG.(INF,KLPRAE,PHYKLP,HARD,<PHYKLP: Spurious receive attention error>,<<T1,CSR>,<T2,VER>,<T3,LAR>,<T4,REG>>,<

Cause:	The port found ATTENTION up but the packet was not totally stored
	in the receive buffers.

Data:	CSR - Result of last CONI
	VER - U-CODE VERSION
	LAR - CRAM's last address read
>)


BUG.(CHK,KLPRCE,PHYKLP,HARD,<PHYKLP: READ-COUNTERS command failed>,,<

CAUSE: The CI-20 port is sick.

>)


BUG.(INF,KLPRRQ,PHYKLP,HARD,<PHYKLP: CI-20 u-code reload requested>,,<

Cause:	TOPS-20 has decided the CI-20 microcode needs to be reloaded.

>)


BUG.(INF,KLPRSF,PHYKLP,HARD,<PHYKLP: CI restart failed>,<<T1,ERROR>>,<

Cause:	TOPS-20 tried to restart the CI-20 and the procedure failed.

Data:	ERROR - error code for failure

>)


BUG.(INF,KLPRSH,PHYKLP,SOFT,<PHYKLP: Received shutdown message>,<<Q1,NODE>>,<

Cause:	A CI node has notified us that it is closing our v.c.

Data:	NODE - Node number
>)


BUG.(INF,KLPSCE,PHYKLP,HARD,<PHYKLP: Spurious channel error>,<<T1,CSR>,<T4,VER>,<T2,LAR>,<T3,LWORD1>>,<

Cause:	Channel Error was asserted but no channel error information was in
	the channel logout word.

Data:	CSR - Result of last CONI
	VER - U-CODE VERSION
	LAR - CRAM's last address read
	LWORD1 - CHANNEL LOGOUT WORD 1
>)


BUG.(CHK,KLPSCR,PHYKLP,HARD,<PHYKLP: SET-CIRCUIT command received>,<<T1,STATUS>,<T2,FLAGS>,<P2,OPC>>,<

Cause:	TOPS-20 has found an error free SET-CIRCUIT command on the response
	queue.  We don't set the response bit so we should never see this.
	The CI port has done something very wrong.

Data:	STATUS - status field of packet
	FLAGS - flags field of packet
	OPC - op code field of packet
>)


BUG.(CHK,KLPSDM,PHYKLP,SOFT,<PHYKLP: CI-20 u-code still dumping>,,<

Cause:	The port microcode is being dumped and we have timed out waiting for
	it to complete.
>)


BUG.(CHK,KLPSRL,PHYKLP,SOFT,<PHYKLP: CI-20 u-code still reloading>,,<

Cause:	The port microcode is being reloaded and we have timed out waiting for
	it to complete.
>)


BUG.(INF,KLPSRM,PHYKLP,SOFT,<PHYKLP: Cannot start remote node>,<<T1,HOST NODE>,<T2,RESET NODE>,<Q1,REMOTE NODE>>,<


Cause:	This node wanted to start a remote HSC node, but it is not the node
	that did the last RESET REMOTE on the remote HSC.

Action: Do nothing. This can happen with multiple KLs for an HSC.

DATA:	T1 has the node number of this system. T2 has the node number that
	last reset the remote node. Q1 has the remote's node number.
>)


BUG.(INF,KLPSTP,PHYKLP,SOFT,<PHYKLP: CI stopped>,,<

Cause:	TOPS-20 has stopped the CI-20.

>)


BUG.(INF,KLPSTR,PHYKLP,HARD,<PHYKLP: CI-20 started>,,<

Cause:	TOPS-20 has restarted the CI-20.

>)


BUG.(INF,KLPSWC,PHYKLP,HARD,<PHYKLP: Short word count>,<<T1,CSR>,<T2,LAR>,<T3,LWORD1>,<T4,LWORD2>>,<

Cause:	The port detected a short word count CBUS channel error.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
	EWORD1 - PCB error word 1
	EWORD2 - PCB error word 2
>)


BUG.(INF,KLPSWO,PHYKLP,SOFT,<PHYKLP: Received a START when VC was open>,<<Q1,NODE>>,<

Cause:	TOPS-20 has closed a virtual circuit because it received a START
	packet while the circuit was open.

Data:	NODE - node number
>)


BUG.(INF,KLPTAE,PHYKLP,HARD,<PHYKLP: Spurious transmit attention error>,<<T1,CSR>,<T2,VER>,<T3,LAR>,<T4,REG>>,<

Cause:	The port found ATTENTION up before the Transmit Packet function
	completed.

Data:	CSR - Result of last CONI
	VER - U-CODE VERSION
	LAR - CRAM's last address read
	REG - Transmit status register
>)


BUG.(CHK,KLPTIM,PHYKLP,HARD,<PHYKLP: Timed out waiting for queue interlock>,<<T1,QUEUE>,<T2,COUNT>,<T3,OWNER>,<T4,CONTXT>>,<

Cause:	The KLIPA driver timed out trying to get the interlock for a queue.
	The KLIPA microcode should never have the lock this long.

Action:

Data:	QUEUE - Address of the queue's interlock word
>)


BUG.(INF,KLPTMO,PHYKLP,HARD,<PHYKLP: Transmitter timeout>,<<T1,CSR>,<T2,REG>,<T3,VER>>,<

Cause:	Someone is hogging the CI.  The LINK module could not transmit over the
	CI due to carrier detect being continuously asserted.


Data:	CSR - Result of last CONI
	REG - Transmit status register
	VER - U-CODE VERSION
>)


BUG.(INF,KLPTPE,PHYKLP,HARD,<PHYKLP: Transmit buffer parity error>,<<T1,CSR>,<T2,REG>,<T3,VER>>,<

Cause:	A bit was dropped or picked up in the TRANSMIT BUFFER or the
	TRANSMIT DATA BUS.

Data:	CSR - Result of last CONI
	REG - Transmit status register
	VER - U-CODE VERSION
>)


BUG.(INF,KLPUCP,PHYKLP,HARD,<PHYKLP: Unplanned CRAM parity error>,<<T1,CSR>,<T2,LAR>,<T3,CRAM1>,<T4,CRAM2>>,<

Cause:	The port had an unplanned CRAM parity error.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
	CRAM1 - contents of first CRAM word
	CRAM2 - contents of next CRAM word
>)


BUG.(CHK,KLPUER,PHYKLP,HARD,<PHYKLP: Unexpected response received>,<<T4,NODE>,<T1,STATUS>>,<

Cause:	The port placed a packet on the response queue, with an op code
	indicating that the packet had been queued by this host. But the
	status bits don't confirm that.

Data:	NODE - Node number
	STATUS - Status word
>)


BUG.(INF,KLPUMV,PHYKLP,SOFT,<Unexpected CI-20 microcode version>,<<T1,AVER>,<KLPVWD,EVER>>,<

Cause:	The monitor has an assembled-in value of the CI-20 u-code which it is
	expecting to load.  The u-code just loaded is a different version.

Data:	AVER - actual version loaded
	EVER - expected version
>)


BUG.(INF,KLPUPC,PHYKLP,HARD,<PHYKLP: Undefined planned CRAM parity error>,<<T1,CSR>,<T2,LAR>,<T3,CRAM1>,<T4,CRAM2>>,<

Cause:	The port had a planned CRAM parity error but it is not defined.

Data:	CSR - Result of last CONI
	LAR - CRAM's last address read
	CRAM1 - contents of first CRAM word
	CRAM2 - contents of next CRAM word
>)


BUG.(CHK,KLPVIR,PHYKLP,HARD,<PHYKLP: Virtual address in packet is wrong>,<<T1,QUEUE>,<T2,VMA>,<T3,PMA>,<T4,FLINK>>,<

Cause:	The virtual address of a packet is incorrect. This indicates some sort
	of inconsistency in one of the queues.

Data:	QUEUE - Address of the queue's interlock word
	VMA - Contents of the software word in the packet
	PMA - Physical address of the word pointed to
	FLINK - FLINK word from PCB
>)


BUG.(INF,KLPWAB,PHYKLP,HARD,<PHYKLP: CI wire A has gone from good to bad>,<<T2,STATS>,<T3,FLAGS>,<P2,OPC>,<T4,CSR>>,<

Cause:	A loopback packet has failed on wire A and it previously succeeded.

DATA:	STATS - Status field of packet
	FLAGS - Flags field of packet
	OPC - op code field of packet
	CSR - result of the last CONI
>)


BUG.(INF,KLPWAG,PHYKLP,HARD,<PHYKLP: CI wire A has gone from bad to good>,,<

Cause:	A loopback packet has successfully returned on wire A and it previously
	failed.
>)


BUG.(INF,KLPWBB,PHYKLP,HARD,<PHYKLP: CI wire B has gone from good to bad>,<<T2,STATS>,<T3,FLAGS>,<P2,OPC>,<T4,CSR>>,<

Cause:	A loopback packet has failed on wire B and it previously succeeded.

DATA:	STATS - Status field of packet
	FLAGS - Flags field of packet
	OPC - op code field of packet
	CSR - result of the last CONI
>)


BUG.(INF,KLPWBG,PHYKLP,HARD,<PHYKLP: CI wire B has gone from bad to good>,,<

Cause:	A loopback packet has successfully returned on wire B and it previously
	failed.
>)


BUG.(HLT,KPALVH,APRSRV,SOFT,<KEEP ALIVE CEASED>,,<

Cause:	The immediate cause of this BUGHLT is the execution of
	location 71. The front end does this if the monitor has
	not updated its keep-alive counter recently. This usually
	indicates that the monitor is looping and preventing the
	scheduler from running. This can be due to a software
	bug or hardware that interrupts abnormally frequently.
	This BUGHLT can be caused manually by requesting the
	front end to jump to location 71.

Action:	Look at the CTY output to see which case occurred. Look at
	the PC to see where the monitor was
	running. If the crash was done manually, the PC will
	contain 72.
>)


BUG.(HLT,KRSFRK,SCHED,HARD,<Crash-on-fork invoked>,<<FORKX,CRFORK>,<CRSJBN,REQJOB>>,<

Cause:  The crash-on-fork facility was invoked, scheduling the specfied
	fork and then crashing the system.  Console output includes the
	crashed fork number and the job number that requested the crash.

>)


BUG.(HLT,LCKDIR,DIRECT,SOFT,<ATTEMPT TO LOCK DIRECTORY TWICE FOR SAME FORK>,,<

Cause:	A fork is trying to lock a directory it has already locked.

>)


BUG.(INF,LGFAIL,MEXEC,SOFT,<LGOUT or LOGIN JSYS failed>,<<T1,JOBPT>,<T2,LSTERR>>,<

Cause:	An attempt to log in/out a job has failed when it should have succeded.
	The most likely cause of this is terminals that have been TTYSTPed,
	then a LGOUT or LOGIN JSYS was attemped.  An attempt to detach the
	terminal, then logout the job is made.  If either of these fail,
	the job is put in a permanent wait state.

Action:	None.

Data:	The terminal number, and the reason of the failure.

>)


BUG.(CHK,LLLKBD,NSPSRV,SOFT,<UNLOCK LL LOCK WHEN NOT LOCKED>,,<

Cause:	Call to unlock logical link lock when it was not locked.

Action: Continue.

Data:	None
>)


BUG.(CHK,LNGDIR,DIRECT,SOFT,<LONG DIRECTORY FILE IN DIRECTORY:>,<<T3,Dirnum>>,<

Cause:	Subdirectory has incorrect superior directory.

Action: Rebuild index table.

Data: Directory number

>)


BUG.(CHK,LNMILI,LOGNAM,HARD,<LNMLUK: ILLEGAL VALUE OF LOGICAL NAME TABLE INDEX>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,LOKINT,FUTILI,SOFT,<LOCK BEING LOCKED WHILE OKINT>,<<T1,LOCK>,<T2,CALLER>>,<

Cause:	A routine is locking a lock while OKINT.

Action:	Make the process be NOINT for the duration of the lock being locked

Data:	Caller's address in T2, Lock index and flags in T1

>)


BUG.(HLT,LOKODR,FUTILI,SOFT,<LOCK REQUESTED OUT OF ORDER>,<<T4,LOKREQ>,<T3,LOKOWN>>,<

Cause:	There is a priority locking scheme in the monitor.  A lock is
	being requested, that should have been locked previously.

Action:

Data:	LOKREQ - the requested lock
	LOKOWN - the highest lock held thus far
>)


BUG.(HLT,LOKWRG,FUTILI,SOFT,<WRONG FORK IS RELEASING LOCK>,<<T4,LOKREQ>,<T3,FORK>>,<

Cause:	A fork is trying to unlock a fork it has never owned, or unlocking
	it too many times.

Action:

Data:	LOKREQ - the requested lock
	FORK   - the fork trying to release the lock
>)


BUG.(HLT,LUUMN0,APRSRV,SOFT,<LUUO IN MONITOR CONTEXT>,,<

Cause:	While running in section 0, the monitor has executed an LUUO.
	The flags and PC are stored in LUUBLK and LUUBLK+1, respectively.
>)


BUG.(HLT,LUUMON,APRSRV,SOFT,<.LBCHK: ILLEGAL LUUO FROM MONITOR CONTEXT>,,<

Cause:	While running in a non-zero section, the monitor executed an
	LUUO. The LUUO block is at the 4 locations starting at .LUTRP.
	Note that the hardware reference manual incorrectly states that
	an LUUO in exec mode becomes an MUUO.
>)


BUG.(INF,MACBTO,DIAG,HARD,<DIAG CLOSE BUFFER TIMED OUT>,,<
Cause:	Unknown.
>)


BUG.(HLT,MAP41F,FORK,soft,<MAPF41 FAILED TO SKIP>,,<

Cause:	The MAPFKH routine calls itself recursively in order to
	find every fork in a specified tree.  For each fork found, the
	instruction following the call to MAPFKH is executed.  MAPFKH
	finally skip-returns in order not to fall into that coinstruction
	at .+1.  The recursive calls skip-return too, merely because they
	fall through the same RETSKP instruction.

	The MAP41F BUGHLT should never happen, and is merely a placeholder
	for the impossible non-skip return from the recursive call to
	MAPFKH.

>)


BUG.(HLT,MAPBT1,DSKALC,SOFT,<OFN FOR BIT TABLE IS ZERO>,,<

Cause:	There is no OFN for the file structure bit table currently being
	mapped.

>)


BUG.(CHK,MAPCLF,SCHED,SOFT,<FAILED TO CLEAR MAPS WHEN KILLING JOB>,,<

Cause:	A call to MSETPT to clear the job map or process map for
	the top fork of a job being killed has failed.

Action:	Continue.
>)


BUG.(HLT,MARK1,PAGUTL,SOFT,<BADCPG-NOT AN OFN>,<<T2,SPTIDX>,<T1,COREPG>>,<

Cause: An OFN is in error, however the SPT index is not pointing to an OFN
>)


BUG.(HLT,MCLNSK,SCHED,SOFT,<PROCESS IS NOSKED OR CSKED AT JSYS ENTRY>,,<

Cause:	At entry to a monitor call from user mode, process was found to
	be NOSKED or CSKED.  This should not be unless flag PNSKDC is set
	indicating that a DIAG% has been done.
>)


BUG.(CHK,MCSEC0,APRSRV,SOFT,<MONITOR CODE RUNNING IN SECTION 0>,<<CX,PC>>,<

Cause:	Monitor code which should not be running in section 0 and does
	not expect to wind up in section 0 has nonetheless wound
	up in section 0.  This should be investigated and fixed.
	This is under the SEC0SW debug switch and so should not
	be seen in the field.

Data:	1. PC at which check was made.
>)


BUG.(HLT,MDDJFN,LOOKUP,SOFT,<GETFDB: CALLED FOR NON-MDD DEVICE>,,<

Cause:	The monitor tried to get a FDB for a device other than a structure.

>)


BUG.(HLT,MNTLNG,DSKALC,SOFT,<MNTBTB - BIT TABLE IS A LONG FILE>,,<

Cause:	While mounting the structure, the monitor discovered that the bit table
	for the structure is a long file.
Action: Use CHECKD to rebuild the file structure bit table.  If that does not
	work, recreate the structure.
>)


BUG.(HLT,MNTRNU,SCHED,SOFT,<MCENTR WITHOUT SETUP OF USER OLD PC>,<<CX,PC>>,<

Cause:	MCENTR has been used without FFL having been setup to be a
	user PC.  This is a coding error.

Data:	1. PC at which MCENTR was executed.
>)


BUG.(CHK,MONBKB,MEXEC,SOFT,<CANNOT SET MONITOR ERROR INTERRUPT>,<<T1,LSTERR>>,<

Cause:	The monitor was attempting to enable interrupts on the monitor error 
	channels. This BUG. indicates that the AIC failed.
>,R)


BUG.(CHK,MONNEJ,SCHED,SOFT,<NESTED JSYS WITHOUT ERJMP>,<<T1,FLAGS>,<T2,PC>>,<

Cause:	An illegal instruction trap has occured and the previous context
	is the monitor, but no ERJMP is present following the nested
	JSYS call.  This violates required coding practice because
	the previous context may have locks that need to be released.

Action:	If this is reproducible, report the circumstances to
	Software Engineering.

Data:	1. Flags;
	2. PC at which faulty nested JSYS was done.
>)


BUG.(HLT,MONPDL,APRSRV,SOFT,<STACK FAULT IN MONITOR>,<<FPC,PC>>,<

Cause:	The monitor has executed a PUSH instruction that
	caused a stack overflow.  The central processor
	detected this condition and reported it to the monitor.

Data:	1. PC of instruction which caused stack overflow.
>)


BUG.(HLT,MPEUTP,APRSRV,HARD,<PFCDPE-UNKNOWN TRAP ON TEST REFERENCE>,,<

Cause:	The monitor was processing an AR or ARX parity error when a
	second error occurred. The monitor retries the reference that
	caused the original error and is prepared to handle a second
	error. However, the BUGHLT indicates that the second error
	(caused by the retry) was not an AR or ARX parity error and
	thus was not expected.
>)


BUG.(CHK,MPIDXO,DIRECT,SOFT,<MAPIDX - No OFN for Index Table File>,,<

Cause:	No system file number for structure index table.  Cannot map
	structure index table file.

Action:

Data:

>)


BUG.(CHK,MSCAOL,PHYMSC,SOFT,<PHYMSC: ONLINE NODE EVENT WHILE NODE ALREADY ONLINE>,<<T2,NODE>,<T1,CID>,<Q1,SBI>>,<

Cause:	Scampi told us that this node was coming back on line but we think
	that it is already online.

Action: Believe him and put it online

Data:	NODE - node number
	CID  - connect ID
	SBI  - system block index

>,R)


BUG.(INF,MSCAVA,PHYMSC,SOFT,<PHYMSC: AVAILABLE MESSAGE RECEIVED>,<<T2,NODE>,<T1,CID>,<T4,UNIT>>,<

Cause:	We received an Available message

Data:	NODE - node number
	CID  - connect ID
	UNIT _ Unit number

>)


BUG.(HLT,MSCBAD,PHYMSC,SOFT,<PHYMSC: Bad dispatch from PHYSIO>,,<

Cause:	PHYMSC was called to perform a function of which it is not capable.

Action:

Data:

>)


BUG.(CHK,MSCBCN,PHYMSC,SOFT,<PHYMSC: COMMAND REFERENCE NUMBER BAD>,<<T2,NODE>,<T1,CID>,<T3,ENDCODE>,<T4,FUNCTION>>,<

Cause:	The command reference number is not one we could have sent.

Data:	NODE	 - node number
	CID	 - connect ID
	ENDCODE  - packet end code
	FUNCTION - command request

>)


BUG.(HLT,MSCBHE,PHYMSC,SOFT,<PHYMSC: BHD ERROR BIT SET>,,<

Cause:	The BHD error bit was set.  This implies that the BSD had the wrong
	length.  Something is inconsistent in our state or someone sent us
	too much data.
>)


BUG.(HLT,MSCBID,PHYMSC,SOFT,<PHYMSC: BAD CONNECT ID FROM SCAMPI>,<<T2,CID>>,<

Cause:	A connect response available occurred and a negative or zero connect
	Id was returned from SCA

Data:	CID - connect ID

>)


BUG.(CHK,MSCBPK,PHYMSC,SOFT,<PHYMSC: QOR BAD PACKET>,<<T2,NODE>,<T1,CID>,<T3,ENDCODE>,<T4,CRN>>,<

Cause:	The HSC sent us a packet whose command reference number
	we can't find.

Data:	NODE	- node number
	CID	- connect ID
	ENDCODE - packet end code
	CRN	- command reference number

>)


BUG.(INF,MSCCDF,PHYMSC,SOFT,<PHYMSC: CONNECT TO DISK FAILURE>,<<Q1,NODE>,<T1,ERRCOD>>,<

Cause:	Connect failure after we were told there was a HSC here.

Action: Find out if this should have a disk on the system.

Data:	NODE   - node number
	ERRCOD - error code

>,CONFLD)


BUG.(INF,MSCCRN,PHYMSC,SOFT,<PHYMSC: CONNECT DID NOT COMPLETE IN REASONABLE TIMEOUT>,<<T2,NODE>,<T1,CID>,<Q3,INDEX>>,<

Cause:	We did a Connect request and didn't get a response

Data:	NODE  - node number
	CID   - connect ID
	INDEX - MSCCID table index

>)


BUG.(INF,MSCCTF,PHYMSC,SOFT,<PHYMSC: CONNECT TO TAPE FAILURE>,<<Q1,NODE>,<T1,ERRCOD>>,<

Cause:	Could not connect to the tape controller.

Data:	NODE   - node number
	ERRCOD - error code

>,TACFAL)


BUG.(INF,MSCCTO,PHYMSC,SOFT,<PHYMSC: REQUEST HSC DISCONNECT - COMMAND TIMEOUT>,<<T2,NODE>,<T1,CID>>,<

Cause:	We are unhappy because the HSC has not correctly responded to
	our Get Command Status request

Data:	NODE - node number
	CID  - connect ID

>)


BUG.(INF,MSCCWM,PHYMSC,HARD,<PHYMSC: CONTROLLER NOT IN 576 MODE>,<<T2,NODE>,<T1,CID>,<T3,UNIT>>,<

Cause:	The HSC controller is not in 576 Bytes per sector mode

Action: Set the HSC in 576 mode.

Data:	NODE - node number
	CID  - connect ID
	UNIT - unit number

>)


BUG.(INF,MSCDIS,PHYMSC,SOFT,<PHYMSC: REQUEST HSC DISCONNECT>,<<T2,NODE>,<T1,CID>,<Q3,INDEX>>,<

Cause:	We are unhappy about the messages from the HSC

Action: Disconnect and re-connect the HSC-50

Data:	NODE   - node number
	CID    - connect ID
	INDEX  - MSCCID table index

>)


BUG.(INF,MSCDSR,PHYMSC,SOFT,<PHYMSC: DISCONNECT REQUEST BY REMOTE NODE>,<<T2,NODE>,<T1,CID>,<T3,REASON>>,<

Cause:  The remote has disconnected.

Data:	NODE - node number
	CID  - connect ID
	REASON - reason for disconnect

>)


BUG.(INF,MSCDWM,PHYMSC,HARD,<PHYMSC: DISK NOT IN 576 MODE>,<<T2,NODE>,<T1,CID>,<T3,UNIT>>,<

Cause: The HSC disk is not a 576 Bytes per sector disk

Data:	NODE - node number
	CID  - connect ID
	UNIT - unit number

>)


BUG.(INF,MSCGON,PHYMSC,SOFT,<PHYMSC: IORB/QOR gone>,<<P5,CID>,<P4,IORB>,<T2,STATUS>>,<

Cause:	PHYMSC had a data structure which pointed at an IORB. It cannot find
	the IORB on the unit transfer queue.  Tis is only
	a test to see if it ever happens.  To be removed before release.
	I believe these happen due to aborted requests.
>)


BUG.(CHK,MSCIDG,PHYMSC,SOFT,<PHYMSC: Connect ID gone>,<<T2,NODE>,<T1,CID>>,<

Cause:	Connect ID is now gone

Data:  	NODE - destination node number
	CID  - source connect ID

>)


BUG.(HLT,MSCILD,PHYMSC,SOFT,<PHYMSC: ILLEGAL DISPATCH FROM SCAMPI>,<<T1,CODE>>,<

Cause:	Dispatch value from Scampi is illegal.
>)


BUG.(CHK,MSCILF,PHYMSC,SOFT,<PHYMSC: ILLEGAL FUNCTION AT START IO>,<<T1,FCN>>,<

Cause:	Illegal function at call to MSCRIO.

Action: Fix caller not to do this.
>)


BUG.(CHK,MSCIVC,PHYMSC,SOFT,<PHYMSC:ILLEGAL COMMAND>,<<P1,CHAN>,<P2,KONT>,<P3,UNIT>,<T3,STS>>,<

Cause: Illegal command claimed by remote 
>)


BUG.(CHK,MSCMID,PHYMSC,SOFT,<PHYMSC: MISSING CONNECT ID>,,<

Cause:	Missing or zero connect ID on call to FNDNDX

Action:
>)


BUG.(INF,MSCN2S,PHYMSC,HARD,<PHYMSC: MORE DRIVES THAN TABLE SPACE, EXCESS IGNORED>,<<P2,KDB>,<P1,CHN>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,MSCNRA,PHYMSC,SOFT,<PHYMSC: NODE RESPONSE AVAILABLE WHEN NOT REQUESTED>,<<T2,NODE>,<T1,CID>>,<

Cause:	A connect response available occurred on a node we didn't expect
	an available to happen.

Data:	NODE - node number
	CID  - connect ID

>,R)


BUG.(INF,MSCNUF,PHYMSC,SOFT,<PHYMSC: GET NEXT UNIT FAILED>,<<T2,NODE>,<T1,CID>,<T3,ERRCOD>>,<

Cause:	SC.SMG failed

Data:	NODE   - node number
	CID    - connect ID
	ERRCOD - error code

>)


BUG.(INF,MSCNXF,PHYMSC,SOFT,<PHYMSC: GET NEXT UNIT FAILED>,<<T2,NODE>,<T1,CID>,<T3,ERRCOD>,<Q3,INDEX>>,<

Cause:	Get a next unit failed this will probably cause us not to find
	all the units on this HSC50

Data:	NODE   - node number
	CID    - connect ID
	ERRCOD - error code
	INDEX  - MSCCID table index

>)


BUG.(CHK,MSCOLE,PHYMSC,HARD,<PHYMSC: ONLINE FAILED>,<<T1,STATUS>>,<

Cause: An online request failed.  This has been known to happen with
duplicate unit numbers found
>)


BUG.(INF,MSCOLF,PHYMSC,SOFT,<PHYMSC: AVAILABLE ONLINE FAILED>,<<T2,NODE>,<T1,CID>,<T3,ERRCOD>>,<

Cause:	Attempt to online an available unit failed because of send failure

Data:	NODE   - node number
	CID    - connect ID
	ERRCOD - error code

>)


BUG.(INF,MSCORO,PHYMSC,SOFT,<PHYMSC: OFFLINE RETURN TO ONLINE WHEN WE WERE TOLD AVAIL>,<<T2,NODE>,<T1,CID>,<T3,CODE>>,<

Cause:	Someone told us that they were online now when we attempt to online
	them we find that they are not really available

Data:	NODE - node number
	CID  - connect ID
	CODE - end packet status code

>)


BUG.(CHK,MSCPEI,PHYMSC,SOFT,<PHYMSC: PACKET END CODE INCORRECT>,<<T2,NODE>,<T1,CID>,<T3,ENDCODE>,<T4,CRN>>,<

Cause:	The HSC sent us a packet which had a bad packet end code.

Data:	NODE    - node number
	CID	- connect ID
	ENDCODE - packet end code
	CRN	- command reference number

>)


BUG.(INF,MSCPTG,PHYMSC,SOFT,<PHYMSC: PORT WENT AWAY>,<<T2,NODE>,<T1,CID>>,<

CAUSE:	THE PORT HAS DROPPED THE CONNECTION.

Data:	NODE - node number
	CID  - connect ID

>)


BUG.(CHK,MSCQRC,PHYMSC,SOFT,<PHYMSC: QOR LIST CLOBBERED>,<<T2,NODE>,<P2,KONT>,<T4,CRN>>,<

Cause: The QOR list has been clobbered and has a 0
>,RTNBUF)


BUG.(CHK,MSCREJ,PHYMSC,SOFT,<PHYMSC: NODE CONNECTION REJECT>,<<T2,NODE>,<T1,CID>>,<

Cause:	Connection response available was rejected.  This means we can't
	talk to the node

Data:	NODE - node number
	CID  - connect ID

>,R)


BUG.(INF,MSCRLD,PHYMSC,SOFT,<PHYMSC: HSC CONTROL RELOAD INITIATED>,<<T2,NODE>,<T1,CID>>,<

Cause:	The HSC is not responding correctly to us.

Action: do a Maintenance reload to the HSC.

Data:	NODE - node number
	CID  - connect ID

>)


BUG.(CHK,MSCRLF,PHYMSC,SOFT,<PHYMSC: START OR RESET FAILED>,<<T2,NODE>,<T1,CID>,<T3,ERRCOD>>,<

Cause:	PHYMSC called SCAMPI and was unable to start or reset the remote.

Data:	NODE   - node number
	CID    - connect ID
	ERRCOD - error code

>)


BUG.(INF,MSCSCF,PHYMSC,SOFT,<PHYMSC: SETCCH FAILED TO SET CHARACTERISTICS>,<<T2,NODE>,<T1,CID>,<T3,ERRCOD>,<Q3,INDEX>>,<

Cause:	Failed to set characteristics

Data:	NODE   - node number
	CID    - connect ID
	ERRCOD - error code
	INDEX  - MSCCID table index

>)


BUG.(CHK,MSCSCW,PHYMSC,SOFT,<PHYMSC: SEND FOUND WRONG CONNECT STATE>,<<T2,NODE>,<T1,CID>,<T3,ERRCOD>>,<

Cause:	We came here when the state of the connection is incorrect.
	some of the previous states should have caught this unless the
	state changed during the send which should have been done with
	the channel off.

Data:	NODE   - node number
	CID    - connect ID
	ERRCOD - error code

>)


BUG.(CHK,MSCSDF,PHYMSC,SOFT,<PHYMSC: SEND FAILURE>,<<T2,NODE>,<T1,CID>,<T3,ERRCOD>>,<

Cause:	Send of a message to SCAMPI failed and we are about to return
	error

Data:	NODE   - node number
	CID    - connect ID
	ERRCOD - error code

>)


BUG.(CHK,MSCSIF,PHYMSC,SOFT,<PHYMSC: START IO FAILED>,<<P3,UDB>,<P2,KDB>,<P1,CHAN>>,<

Cause:	Call to MSCRIO failed when we weren't expecting it.
>)


BUG.(HLT,MSCSOA,PHYMSC,SOFT,<PHYMSC: SC.SOA FAILED>,<<T1,ERRCOD>>,<

Cause:	We tried to ask for interrupts and failed
>)


BUG.(INF,MSCSUF,PHYMSC,SOFT,<PHYMSC: SET DENSITY FAILED>,<<T2,NODE>,<T1,CID>,<3,CODE>>,<
Cause: The set unit characteristics command failed
>)


BUG.(INF,MSCTMU,PHYMSC,HARD,<PHYMSC: TOO MANY UNITS FOR KDB>,<<P2,KDB>,<P1,CHN>>,<

Cause:	We found more units than we have space for UDB entries.

>)


BUG.(HLT,MSCUDB,PHYMSC,SOFT,<PHYMSC: UDB MISSING>,,<

Cause:	We have just set up a unit during initalization and now
	we can't find it.
>)


BUG.(INF,MSCUKD,PHYMSC,HARD,<PHYMSC: UNKNOWN DISK TYPE>,<<T2,NODE>,<T1,CID>>,<

Cause:	Device type is unknown to system

Action: Device on HSC is not a legal TOPS20 device

Data:	NODE - node number
	CID  - connect ID

>)


BUG.(INF,MSSBCM,PHYMVR,SOFT,<BADCMD - MSCP SERVER BAD COMMAND>,<<T2,NODE>,<T1,CID>,<T3,OPCODE>,<T4,ERRBIT>>,<

	CAUSE:	THE MSCP SERVER RECIEVED A COMMAND WITH AN ILLEGAL OR 
		UNSUPPORTED OPERATION SPECIFIED

	DATA:	NODE - NODE NUMBER
		CID - CONNECT ID
		OPCODE - OPERATION CODE
		ERRBIT - ERROR BITS AND STATUS OF COMMAND
>)


BUG.(CHK,MSSCAC,PHYMVR,SOFT,<MSCP SERVER CAN'T ACCEPT CONNECTION>,<<T2,NODE>,<T1,CID>,<T3,REASON>>,<

	CAUSE:	THE MSCP SERVER CANNOT ACCEPT A CONNECTION

	DATA:	NODE - NODE NUMBER
		CID - CONNECT ID
		REASON - REASON FOR FAILURE
>,R)


BUG.(CHK,MSSCFS,PHYMVR,SOFT,<SERVER DETECTED NO CFS WHEN WRITING>,<<T2,NODE>,<T1,CID>>,<

	CAUSE:	THE MSCP SERVER WAS REQUESTED TO PERFORM A WRITE OPERATION WHEN
		CFS WAS NOT RUNNING OR NEGOTIATING CONNECTIONS. THIS MAY 
		CORRUPT	THE FILE SYSTEM.

	DATA:	NODE - NODE NUMBER
		CID - CONNECT ID
>)


BUG.(INF,MSSCGL,PHYMVR,SOFT,<MSCP SERVER CAN'T GET LISTNER>,<<T1,ERROR>>,<

CAUSE:	THE MSCP SERVER CANNOT GET A LISTNER FOR CONNECTION REQUESTS
	THE SERVER WILL CONTINUE TO TRY TO GET A LISTNER.
>)


BUG.(HLT,MSSCID,PHYMVR,SOFT,<ILLEGAL CONNECT ID INDEX>,<<T2,NODE>,<T1,CID>>,<
CAUSE:	THE MSCP SERVER CANNOT LOCATE A SCDB FOR THE GIVEN CONNECT ID

DATA:	NODE - NODE NUMBER
	CID - CONNECT ID
>)


BUG.(INF,MSSCTO,PHYMVR,SOFT,<PHYMVR - COMMAND TIMEOUT>,<<T2,NODE>,<T1,CID>,<T4,STATE>>,<

	CAUSE:	UNKNOWN. A COMMAND DID NOT COMPLETE IN THE TIMEOUT INTERVAL

	DATA:	NODE - NODE NUMBER
		CID - CONNECT ID
		STATE - COMMAND STATE
>)


BUG.(HLT,MSSDNQ,PHYMVR,SOFT,<DMADON - DMA DONE QUEUE ENTRY NOT FOUND>,<<T2,CID>,<T3,BUFF>>,<
CAUSE:	A DMA COMPLETE INTERRUPT OCCURRED AND NO COMMANDS WERE FOUND WHICH
	HAD A MATCHING BUFFER NAME. THIS INDICATES A SOFTWARE INCONSISTENCY

DATA:	CID - CONNECT ID
	BUFF - 32 BIT BUFFER NAME
>)


BUG.(CHK,MSSER0,PHYMVR,SOFT,<IORB DONE ERROR AND ERROR BITS 0>,<<T2,IRBERR>>,<

CAUSE:	AN IORB COMPLETED WITH BIT IS.ERR SET INDICATING AN ERROR. THE MSCP
	SERVER COULD NOT FIND ANY RELEVENT ERROR.

DATA:	IRBERR - IORB STATUS WORD
>)


BUG.(INF,MSSGON,PHYMVR,SOFT,<MSSSHD - SERVER SHUTDOWN NODE ALREADY GONE>,<<T2,NODE>,<T1,CID>,<T3,REASON>>,<

	CAUSE: 	THE MSCP SERVER WAS SHUTTING DOWN A NODE WHEN IT FOUND THAT 
		THERE WAS NO SCDBTB FOR THE CONNECTION

	DATA:	NODE - NODE NUMBER
		CID - CONNECT ID
		REASON - SHUTDOWN STATE
>,R)


BUG.(HLT,MSSLNM,PHYMVR,SOFT,<MSCP SERVER LISTNER DOES NOT MATCH>,,<

CAUSE:	THE LISTNER INDEX DOES NOT MATCH THE KNOWN INDEX OF THE LISTNER
>)


BUG.(HLT,MSSNUT,PHYMVR,SOFT,<MSCP SERVER SEND SANITY CHECK FAILED>,,<

CAUSE: 	UNKNOWN SHOULD NEVER HAPPEN. EXAMINE THE DUMP TO DETERMINE TE PROBLEM
>)


BUG.(HLT,MSSNWO,PHYMVR,SOFT,<OK2SND - OK TO SEND WHEN NOT WAITING>,<<T2,CID>>,<

CAUSE:	THE MSCP SERVER RECIEVED NOTIFICATION OF OK TO SEND
	FROM A NODE. THE NODE IN QUESTION WAS NOT FLAGGED
	AS WAITING FOR AN OK TO SEND.

DATA:	CID - CONNECT ID

>)


BUG.(INF,MSSREJ,PHYMVR,SOFT,<MSCP SERVER REJECTING CONNECTION>,<<T2,NODE>,<T1,CID>,<T3,ERROR>>,<

CAUSE:	THE MSCP SERVER IS REJECTING A CONNECTION BECAUSE THE CONNECTOR
	CANNOT BE IDENTIFIED DUE TO AN SCA FAILURE OR BECAUSE THE CONNECTOR
	IS NOT ON A KL10 PROCESSOR
>)


BUG.(INF,MSSSBD,PHYMVR,SOFT,<SEND BAD>,<<T2,NODE>,<T1,CID>,<T3,ERROR>>,<
	CAUSE:	A SEND OF A MESSAGE FAILED FOR AN UNEXPECTED REASON. THE 
		CONNECTION WILL BE SHUT DOWN.

	DATA:	NODE - NODE NUMBER
		CID - CONNECT ID
		ERROR - SCA ERROR CODE

>,MSSFSD)


BUG.(HLT,MSSSCA,PHYMVR,SOFT,<MSCP SERVER - SERVER DETECTED SCA ERROR>,<<T1,ARG1>,<T2,ARG2>,<T3,ARG3>,<T4,ARG4>>,<

CAUSE:	THE MSCP SERVER DETECTED AN ILLEGAL RESONSE FROM SCA

DATA:	SCA FUNCTION ARGUMENTS
>)


BUG.(INF,MSSSHT,PHYMVR,SOFT,<MSCP SERVER SHUTDOWN NODE>,<<T2,NODE>,<T1,CID>,<T3,STATUS>,<T4,ERROR>>,<

	CAUSE: 	THE MSCP SERVER WAS FORCED TO SHUTDOWN A NODE

	DATA:	NODE - NODE NUMBER
		CID - CONNECT ID
		STATUS - CONNECTION STATUS
		ERROR - LAST SCA ERROR
>)


BUG.(HLT,MSSSTA,PHYMVR,SOFT,<MSCP SERVER - ILLEGAL STATE>,,<

CAUSE:	THE MSCP SERVER DETECTED AN ILLEGAL COMMAND OR CONNECTION STATE

>,R)


BUG.(HLT,MSSTML,PHYMVR,SOFT,<LISTEN - MSCP SERVER TOO MANY LISTNERS>,,<
CAUSE:	THE MSCP SERVER TRIED TO OBTAIN A LISTNER WHEN ONE ALREADY EXISTED
	THIS INDICATES AN INCONSISTENCY IN SOFTWARE
>)


BUG.(CHK,MSSUMP,PHYMVR,SOFT,<UNMAP BUFFER FAILED>,<<T1,REASON>>,<

CAUSE:	A ROUTINE WAS CALLED TO UNMAP A BUFFER AND THIS FAILED WHEN IT NEVER
	SHOULD.

DATA:	REASON - ERROR CODE
>,CLNUME)


BUG.(CHK,MTANOA,MAGTAP,HARD,<IRBDN2: IRBDON CALLED FOR AN ACTIVE IORB>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,MTANOI,MAGTAP,HARD,<GETUBF: NO QUEUED IORB'S FOR INPUT>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,MTANOQ,MAGTAP,HARD,<IRBDN1: IRBDON CALLED FOR NON-QUEUED UP IORB>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,MTAORN,MAGTAP,HARD,<MTDIR0: MAGTAPE IORB OVERRUN>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,MTARIN,MAGTAP,HARD,<MTAINT: INTERRUPT RECEIVED FOR NONACTIVE IORB>,,<

Cause:	A done interrupt occurred for a magtape IORB, and PHYSIO called
	one of the routines MTAINT, MTDINT, or MTPINT to handle the done
	IORB.  However, the indicated IORB was not marked as being active.
>)


BUG.(INF,MTMSG,TAPE,HARD,<FAILED TO SEND MT MESSAGE TO "TAPE" CONTROLLER>,<<T1,ERRCOD>>,<

Cause:	This message is from TAPE.  TAPE sends IPCF messages to MOUNTR under
	certain conditions, such as volume switch.  TAPE was unable to send
	the IPCF message.  The user program involved will get an error
	return to its tape operation.

Action:	There are many reasons IPCF refuses to send a message.  The IPCF error
	code is passed back to the user.  If it is a resource problem, try
	to improve system resources.  If it seems like a monitor bug, change
	the BUGINF to a BUGHLT and find out what the monitor is doing wrong
	(For example, it might be using the wrong PID).


>)


BUG.(INF,NDINIT,NSPSRV,SOFT,<NSP - Could not add first entry to node table>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,NEGJRT,SCHED,SOFT,<UCLOCK: NEGATIVE JOBRT DETECTED>,<<T2,JOBNO>>,<

Cause:	The job runtime (JOBRT) is negative for an existing job.  This
	would cause the job to appear non-existant to most JSYSes.

Action:	Use a reasonable value for JOBRT (0) and logout the job.

Data:	T2/ Job number

>)


BUG.(INF,NETABF,IMPDV,SOFT,<IMPDV: Assign of buffer failed>)


BUG.(INF,NETRBF,IMPDV,SOFT,<IMPDV: Release of 1822 buffer failed>)


BUG.(HLT,NEWBAK,FILINI,soft,<FILRFS - NEWIB FAILURE FOR BACKUP ROOT-DIR>,,<

Cause:	This BUGHLT happens when NEWIB fails to assign a backup
	index block for the  PS: root directory.  This will happen if DSKASA
	fails to assign a disk address, or if ASROFN fails to assign an
	OFN.
>)


BUG.(HLT,NEWROT,FILINI,soft,<FILRFS - NEWIB FAILURE FOR ROOT-DIRECTORY>,,<

Cause:	This is identical to NEWBAK, except it is for the
	primary root directory rather than the backup root directory.
>)


BUG.(INF,NIPABF,IPFREE,SOFT,<IPFREE: Assign of NI buffer failed>)


BUG.(CHK,NO2PRT,DSKALC,HARD,<FEFSYS-NO DUAL-PORTED DISK. USING LOGICAL 0>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,NOACB,SCHED,SOFT,<MENTR - NO MORE AC BLOCKS>,<<CX,PC>>,<

Cause:	When a JSYS is executed from within the monitor, the
	AC's of the current process are stored in a special area in the
	monitor.  This area consists of several 20-word blocks that are used
	successively as one JSYS invokes another.  The BUGHLT indicates that a
	JSYS has been called but that no 20-word block is left in which to
	store the contents of the AC's.  This usually means that the counter
	that the monitor uses to keep track of these blocks has been
	clobbered.

Data:	1. PC at which last JSYS was executed.
>)


BUG.(INF,NOADDR,MNETDV,SOFT,<ADRINI failed to find address file>)


BUG.(HLT,NOADXB,PAGUTL,SOFT,<RELOFN-NO DSK ADR FOR XB>,,<

Cause:	A routine has been called to release an OFN. The OFN is the
	identifier for the index block of a file that is being closed.
	This routine forces the index block into memory. The backup
	address for the index block should be on the disk. The BUGHLT
	indicates that the backup address is not on the disk.
>)


BUG.(CHK,NOALCM,IPCF,HARD,<ALCMES: CANNOT SEND MESSAGE TO ALLOCATOR>,<<T1,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,NOARCS,IPCF,HARD,<ARCMSG: PID for QUASAR is not valid>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,NOBAT1,DSKALC,HARD,<FAILED TO WRITE PRIMARY BAT BLOCK>,<<T1,CKUNUM>>,<

Cause:	Primary BAT blocks were not written due to one of the following
	errors:
	    1.  Invalid unit or channel specified
	    2.  Channel and unit is not a disk device
	    3.  Hardware error

Action:

Data:	Channel, controller, and unit numbers (12 bits each)

>)


BUG.(CHK,NOBAT2,DSKALC,HARD,<FAILED TO WRITE SECONDARY BAT BLOCK>,<<T1,CKUNUM>>,<

Cause:	Secondary BAT blocks were not written due to one of the following
	errors:
	    1.  Invalid unit or channel specified
	    2.  Channel and unit is not a disk device
	    3.  Hardware error

Action:

Data:	Channel, controller, and unit numbers (12 bits each)

>)


BUG.(CHK,NOBTB,FILINI,HARD,<FILINI - UNABLE TO OPEN BIT TABLE FILE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,NOBTBN,FILINI,soft,<FILINI - UNABLE TO GET SIZE OF BOOTSTRAP.BIN FILE>,,<

Cause:	This BUGHLT should never occur.  The routine that must fail for this
	BUGHLT to occur should never be called, since BOTSIZ will be 0
	on a normal startup, or some non-negative number if the FSIDIA
	routine asked the typist for a number.
>)


BUG.(CHK,NOCHKR,SCHED,SOFT,<CHKR FORK BLOCKED>,<<T1,D>>,<

Cause:	The CHKR fork has not run in a while.  The monitor is getting
	nervous.  If the CHKR fork continues to not run for a long time
	the a CHKRNR BUGHLT will result.
>)


BUG.(HLT,NOCTY,TTYSRV,SOFT,<UNABLE TO ALLOCATE DATA FOR CTY>,,<

Cause:	During initialization of terminal lines, a call to ASGRES was made
	to get resident free space for the CTY's data base.  The call got
	a failure return - no free space available.


>)


BUG.(CHK,NODDMP,SCHED,SOFT,<DDMP FORK BLOCKED>,<<T1,D>>,<

Cause:	The DDMP fork has not run in a while.  The monitor is getting
	nervous.  If the DDMP fork continues to not run for a long time
	the a DDMPNR BUGHLT will result.
>)


BUG.(CHK,NODIR1,IPCF,HARD,<SPLMES: DIRST FAILED ON EXISTING DIRECTORY NAME>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,NODMPF,MEXEC,SOFT,<Could not find CI-20 microcode dump program>,,<

Cause:	The KLIPA (IPA20) RAM needs to be dumped. The file PS:<SYSTEM>IPADMP.EXE
	is supposed to be run to do this. However, the file does not exist.

Action:	Something has happened which warrants dumping the CI-20 microcode in
	order to get information to diagnose a problem.  It is advisable to put
	the dump program on the system.
>)


BUG.(CHK,NODTEN,DTESRV,SOFT,<DTESRV - NO DTE BUFFERS AVAILABLE IN CRITICAL CASE>,,<

Cause:	A buffer is needed for a queued protocol message to a front-end
	-11 via a DTE.  There are no buffers available, and the
	caller is not prepared to handle failure.

Action:	Assume the message was sent.
>)


BUG.(HLT,NOFEFS,FILINI,soft,<FILINI - UNABLE TO GET SIZE OF FRONT END FILE SYSTEM>,,<

Cause:	This BUGHLT occurs if GTFESZ fails to get the size of
	the front end file system, which only happens if ASGPAG fails.
>)


BUG.(HLT,NOFNDU,DEVICE,SOFT,<FNDUNT-CANNOT FIND DEVICE FOR JFN>,,<

Cause:	The block that describes the JFN, or the table used to initialize
	the device for the JFN, is clobbered or zero.  If this JFN is not
	locked, another fork may have closed this JFN or otherwise modified
	FILXXX variables, causing this situation.
>)


BUG.(HLT,NOFSEC,PAGUTL,SOFT,<ASGVAS FAILURE AT STARTUP>,,<
Cause:	ASGVAS was called to get a free section for SCA at
	startup but failed.
>)


BUG.(INF,NOHSTN,MNETDV,SOFT,<HSTINI failed to find host name file>)


BUG.(HLT,NOIORB,PHYSIO,HARD,<SETIRB - MISSING IORB>,,<

Cause:	The routine SETIRB was called for an active unit to return
	the currently active IORB for the unit, but the position wait
	queue or transfer wait queue was empty.
>)


BUG.(HLT,NOLEN,DISC,SOFT,<UPDLEN: NO LENGTH INFO FOR OFN>,,<

Cause:	The table OFNLEN, which gives the file length for each OFN, has
	an invalid entry for the OFN in question.
>)


BUG.(CHK,NOLODF,MEXEC,SOFT,<Could not find CI-20 microcode load program>,,<

Cause:	The KLIPA (IPA20) RAM needs to be reloaded. The file PS:<SYSTEM>IPALOD.EXE
	is supposed to be run to do this. However, the file does not exist.
	TOPS-20 is ignoring the CI-20.

Action:	If you wish to use the CI, you must create the load file and run it
	from the EXEC.

>)


BUG.(HLT,NOMCCD,TTYSRV,SOFT,<TTYSRV: ROUTINE CALLED FOR LINE TYPE NOT SUPPORTED>,,<

Cause:	Control passed to a routine not present in this monitor configuration.

Action:	See if TTNUS flag on for relevant line.  Examine stack for path.

>)


BUG.(INF,NOOFN,PAGUTL,SOFT,<ASOF4: Attempt to create new OFN failed - no more OFNs available>,,<

Cause:	As a result of an OPENF, an attempt has been made to create a new
	OFN.  This attempt fails because the system has no more OFNs 
	available for use.  The user will receive an OPNX10 error.  This 
	BUGINF will be issued at most once every 30 minutes regardless of 
	how many OPENF attempts are made during the time the OFN space is 
	exhausted.

Action:	If more OFN space is desired, increase the value of NOFN.

>)


BUG.(HLT,NOPGT0,DISC,SOFT,<OPNLNG: NO PAGE TABLE 0 IN LONG FILE.>,,<

Cause:	There is no page 0 for long file being opened.

>)


BUG.(CHK,NOPID,IPCF,HARD,<PIDKFL: PID DISAPPEARED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,NORMIA,MNETDV,SOFT,<No room in host tables for local address>)


BUG.(HLT,NORSXF,DTESRV,SOFT,<FAILED TO GET SPACE FOR MASTER DTE>,,<

Cause:	While attempting to initialize RSX20F protocol for the console
	front end, the call to ASGRES (assign resident free space) failed.

>)


BUG.(HLT,NOSEB2,APRSRV,SOFT,<PGMPE-NO SYSERR BUFFER AVAILABLE>,,<

Cause:	An AR or ARX parity error has occurred, and the monitor
	is creating a SYSERR block. The BUGHLT indicates that no
	free space is available for the SYSERR block. UPTPFW
	contains the page fail word.
>)


BUG.(CHK,NOSERF,MEXEC,HARD,<CANNOT GTJFN ERROR REPORT FILE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,NOSKTR,SCHED,SOFT,<ITRAP FROM NOSKED OR CSKED CONTEXT>,<<KIMUPC,MUUOPC>,<LSTERR,LSTERR>,<LSTIPC,LSTIPC>>,<

Cause:	An illegal instruction trap has occurred while the process
	was NOSKED or CSKED.  This suggests that important
	resources may be left locked.

Action:	See if this is reproducible, and if so, report the
	sequence to Software Engineering.

Data:	1. PC of last MUUO.
	2. Last error code.
	3. PC from which ITRAP was called.
>)


BUG.(CHK,NOSLNM,LOGNAM,HARD,<SLNINI: CANNOT CREATE SYSTEM LOGICAL NAME>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,NOSPLM,GTJFN,SOFT,<RELJFN: COULD NOT SEND SPOOL MESSAGE TO QUASAR>,,<

Cause:	Could not tell QUASAR of spooled file for output.

Action:

>)


BUG.(HLT,NOTOFN,PAGUTL,SOFT,<UPDOF0-ARG NOT OFN>,,<

Cause:	A routine has been called to write onto the disk an updated
	index block for a file. However, the identifier that was
	provided by the caller is not a valid id for a file.  (It is not an
	OFN.)
>)


BUG.(HLT,NOUBWA,PHYH11,soft,<RH2NCH: NO UNIBUS WINDOW FOR RH11>,,<

Cause:	This BUGHLT can only occur on the 2020.

	It happens when the call to ALUBWA from the disk initialization
	code gets a failure return.  The only reason ALUBWA would give
	such a failure return is if no more unibus adapter windows are
	available.
>)


BUG.(CHK,NOUTF1,DISC,SOFT,<SPLOPN: NOUT OF DIRECTORY NUMBER FAILED>,,<

Cause:	NOUT JSYS failed in trying to open the spooled disk file.

Action:

>)


BUG.(CHK,NOUTF2,IPCF,HARD,<SPLMES: NOUT OF GENERATION NUMBER FAILED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,NOXRFH,FORK,HARD,<DASFKH - ATTEMPT TO DEASSIGN NONEXISTANT RFH, IGNORED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,NPWQPD,PHYSIO,HARD,<PHYSIO - NULL PWQ AT POSITION DONE>,,<

Cause:	A position-done interrupt occured, and the routine PHYPDN was
	called to move IORBs from the position wait queue into the
	transfer wait queue, but the position wait queue was empty.
>)


BUG.(CHK,NRFTCL,PHYSIO,HARD,<PHYSIO - NO REQUESTS FOUND FOR CYLINDER SEEKED>,,<

Cause:	The routine PHYPDN was called on a position-done interrupt
	to transfer any IORBs that were on the position wait queue
	into the transfer wait queue; but no IORBs were found which
	were for this cylinder.
>)


BUG.(HLT,NSKDIS,SCHED,HARD,<DISMISS WHILE NOSKED OR WITH NON-RES TEST ADDRESS>,,<

Cause:	A process has declared its intention to cease running (dismiss) until
	a particular event occurs. The scheduler will test for the occurrence
	of the event by calling a routine that the process has provided.  The
	BUGHLT occurs if one of the following happens:
		1. The process has already declared itself to be
		NOSKED, thereby preventing the running of other processes;
		2. The test routine is in  part of the monitor's swappable code
		and could therefore cause an illegal page fault in the
		scheduler.

>)


BUG.(CHK,NSKDT2,PAGEM,SOFT,<PGRTRP-BAD NSKED OR INTDF>,,<

Cause:	When a page fault occurred, the running process's indicator
	of interruptibility had an abnormally low value. This could
	cause interruptions to occur when they should not. The monitor
	has set the value to prevent interruptions, but this indicates
	a bug in which too many OKINT's have been executed.
>)


BUG.(INF,NSPBAD,NSPSRV,SOFT,<NSP has received an unintelligible message>,,<

Cause:	An DECnet message has been received which was not in proper format.

Action:	A pointer to most recent message which caused an NSPBAD BUGINF
	is kept in BADMSP.  The message block is not freed until another
	NSPBAD occurs, so look in that message to find out why NSPSRV
	might reject it.

>)


BUG.(CHK,NSPBPN,NSPSRV,SOFT,<BAD NSP PORT NUMBER>,<<T1,BADDTE>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(HLT,NSPCON,NSPSRV,SOFT,<NSPSRV: Can't lock logical link block>,,<

Cause:	An attempt is being made to obtain the lock on a logical link block
	but we are in an improper scheduler context.  Code calling this routine
	from scheduler level should already have realized this.
>)


BUG.(HLT,NSPFRK,NSPSRV,SOFT,<NSPINI-CFORK FAILED>,<<T1,REASON>>,<

Cause:	When the system comes up, a fork is created under JOB 0 in which
	the DECnet NSP background task runs.  The monitor was unable to
	create the fork.

Data:	REASON - the reason code returned by the CFORK JSYS when it failed.

>)


BUG.(INF,NSPGON,NSPSRV,SOFT,<NSP - Logical link look up failed>,,<

Cause:	The NSP timer has discovered a message on its resend queue and
	the logical link owning the message is no longer in the logical
	link data base.

Action:

>)


BUG.(INF,NSPLAT,NSPSRV,SOFT,<NSP response is LATE>,<<T4,NODE>>,<

Cause:	NSP has resent a message a number of times and received no response.

Action:	Normally this is caused by heavy network traffic or a highly
	congested node in the network;  the network software should continue
	to function without major difficulty.  If the condition persists,
	check the quality of the communication path to the node that is not
	responding.

Data:	NODE - the node number(OCTAL) to which we are trying to send
>)


BUG.(HLT,NSPLLC,NSPSRV,SOFT,<NSPSRV: Logical link block check failed>,<<T1,BADBLK>>,<

Cause:	Logical link block verification failed.  NSP believes a resident free
	space block contains a logical link block but something is wrong.
	Most likely, resident free space has been clobbered.

Data:	BADBLK - the address of the block

>)


BUG.(CHK,NSPLNQ,NSPSRV,SOFT,<REMQUE - Link not queued>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(HLT,NSPLOK,NSPSRV,SOFT,<NSPSRV: Can't lock logical link block>,,<

Cause:	An attempt is being made to obtain the lock on a logical link block
	without already owning the master lock.  This is illegal.

>)


BUG.(INF,NSPNOD,NSPSRV,SOFT,<NSP got a message from an unknown node>,,<

Cause:	An incoming NSP connection attempt was from a node we don't know.
	Either, it was a Phase II node and its name is not in our data base
	or it was from a Phase III node and we were unable to interpret the
	node number.

Action:	The first case indicates that there is a node in the network whose
	node name has not been assigned through NCP.  If you want to
	communicate with the node  SET NODE number NAME name.

	The second case should be filtered by the DN20.  If it happens the
	DN20 has a bug in Transport.
>)


BUG.(CHK,NSPPHV,NSPSRV,HARD,<ULKPIP - Pipe has vanished>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,NSPPWA,NSPSRV,HARD,<LOKPIP - Pipe went away>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,NSPRSN,NSPSRV,SOFT,<NSP - NUMBER OF ENTRIES COUNT AND ACTUAL QUEUE LENGTH DON'T AGREE>,,<

Cause:

Action:

Data:

>)


BUG.(CHK,NSPRTH,NSPSRV,SOFT,<NSPTSK- INVALID ROUTING HEADER>,<<T1,LINE>,<T2,BADBYT>>,<

Cause:	An invalid routing header has been detected on a DECnet message.

Action:  If this BUGCHK happens frequently, inform your network administrator.

Data:	LINE - the number of the line which received the invalid message

	BADBYT - the invalid byte


>)


BUG.(INF,NSPSTR,NSPSRV,SOFT,<STRMSG - Could not add node to known node table>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(HLT,NSPUDF,STG,soft,<UNSUPPORTED NETWORK FUNCTION>,,<

Cause:	If the monitor is not built for decnet (DCN is 0), and
	a decnet utility routine is called, this BUGHLT will occur.
	Invoking the following routines will cause this BUGHLT:
	DEDMCB (shut links to dead MCB), NSPSPC (get a network buffer), and
	NSPQ (put a message in the scheduler queue).
>)


BUG.(INF,NTOHNG,MNETDV,SOFT,<Network output hung>,<<P1,D>>)


BUG.(HLT,NULQTA,PAGEM,SOFT,<QCHK - NO QUOTA INFO SETUP>,,<

Cause:	The monitor is checking the disk quota to see if a page can be
	added to a file. However, this OFN's pointer into the allocation
	tables is 0, an illegal value. Either the caller provided a bad
	OFN, or the SPT entry for the OFN is incorrect.
>)


BUG.(CHK,NWJTBE,FORK,soft,<NO FREE JTB BLOCKS>,,<

Cause:	Word JTBFRE in the JSB has bit n on if JSYS trap block n is
	available.  The NEWJTB routine assigns trap blocks, looking in JTBFRE
	for a bit on.  If no bit is found to be on in JTBFRE, the NWJTBE bugchk
	occurs.
>)


BUG.(HLT,OFFONX,JSYSF,SOFT,<ARRST: File marked offline has index blk ptr>,,<

Cause:	In restoring an offline file, it was discovered the file already
	has some contents.
>)


BUG.(HLT,OFFSPE,PAGUTL,SOFT,<OFFSPQ- PAGE NOT ON SPMQ>,,<

Cause:	A routine has been called to remove a core page from the special
	memory queue. If a page is on the queue, its age should be
	PSSPQ. The BUGHLT indicates that the age is incorrect. The
	entry may or may not actually be on the queue. The caller is
	expected to ensure that the page is on the queue.
>)


BUG.(HLT,OFNZRO,PAGUTL,SOFT,<OFN zero was passed as argument>,,<

Cause:	OFN 0 should never be passed as an argument.  Trace the stack and 
	eliminate the illegal use of OFN 0.

>)


BUG.(HLT,OKSKBG,SCHED,SOFT,<OKSKD0 - OKSKED WHEN NOT NOSKED>,<<CX,ADR>>,<

Cause:	An OKSKED or OKSKD1 was done when the code was not NOSKED.
	This is bad as sensitive code may be getting messed up due to
	races etc...  A NSKDIS would probably have resulted when a
	DISMS was done later on.

>)


BUG.(HLT,OPOPAC,SCHED,HARD,<MRETN - TRIED TO OVER-POP AC STACK>,,<

Cause:	When a JSYS is executed from within the monitor, the
	AC's of the current process are stored in a special area in the
	monitor.  This area consists of several 20-word blocks that are used
	successively as one JSYS calls another.

	As each nested JSYS returns, the monitor's pointer to this area of
	memory is decremented.  The BUGHLT indicates that the pointer has
	been decremented too far.  This indicates either a clobbered pointer,
	or an attempt to return from a JSYS without having entered one.

>)


BUG.(HLT,OVFLOW,PAGUTL,SOFT,<ASOFN - ALLOCATION TABLE OVERFLOW>,,<

Cause:	The monitor maintains information for disk quota enforcement
	in two parallel tables called the allocation tables. These
	contain one entry for each directory to which at least one OFN
	is assigned (that has at least one file open). The size
	of these tables is the maximum number of OFN's; therefore even
	if every OFN were associated with a unique directory, there
	should be enough room in the allocation tables. The BUGHLT
	indicates that the tables have overflowed.
>)


BUG.(INF,OVRDTA,PHYSIO,HARD,<PHYSIO - OVERDUE TRANSFER ABORTED>,<<T1,CHAN>,<T2,CONTRL>,<T3,UNIT>,<T4,FUNC>>,<

Cause:	The routine UNICKT checks the status of each unit periodically.  During
	one such check, some unit had an active IORB which timed out.  The IO
	operation had been started, but not completed within 17 seconds.  This
	BUGINF can be followed by other BUGINFs or BUGCHKs when the device
	finally responds (such as PH2DNA).

Action:	If the involved device is a tape drive controlled by a DX20, a
	common cause of the BUGINF is the microcode halting.  Reloading
	the microcode will fix the problem.  Other causes are hardware
	failures, and field service should examine the problem.

Data:	CHAN/	The channel number.
	CONTRL/	The controller number (-1 if no controller).
	UNIT/	The unit number.
	FUNC/	THE OPERATION THAT FAILED.
>)


BUG.(CHK,P11PAR,PHYH11,HARD,<PHYH11 -- CONTROL WRITE PARITY ERR>,<<T1,D>,<T2,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,P1NED1,PHYH11,HARD,<PHYH11 - RH11 NON EX DISK READING REGISTER>,<<T1,D>,<T2,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(INF,P1NED3,PHYH11,HARD,<PHYH11 - NON EX DISK ON DONE OR ATN INTERRUPT>,<<T1,D>,<T2,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,P2RAE1,PHYH2,HARD,<PHYH2 - RH20 REGISTER ACCESS ERROR READING REGISTER>,<<T1,DATAI>,<T2,CONI>,<T3,CHAN>>,<

Cause:	The routine RDREG was called to read a mass-buss register, but
	the read failed due to a register access error from the RH20.
	This is almost always due to a hardware malfunction.

Action:	Call field service.

Data:	DATAI/	The result of a DATAI done after the error was detected.
	CONI/	The CONI which showed the register access error.
	CHAN/	The channel number.
>)


BUG.(CHK,P2RAE2,PHYH2,HARD,<PHYH2 - REGISTER ACCESS ERR WRITING REG>,<<T1,DATAI>,<T2,DATA>,<T3,CONI>,<T4,CHAN>>,<

Cause:	The routine WTREG was called to write a mass-buss register,
	but the write failed due to a register access error from the
	RH20.  This is almost always due to a hardware malfunction.

Action:	Call field service.

Data:	DATAI/	The result of a DATAI done after the error was detected.
	DATA/	The register and data that was attempted to be written.
	CONI/	The CONI which showed the register access error.
	CHAN/	The channel number.
>)


BUG.(CHK,P2RAE3,PHYH2,HARD,<PHYH2 - REGISTER ACC ERR ON DONE OR ATN INTERRUPT>,<<T1,DATAI>,<T2,CONI>,<T3,CHAN>>,<

Cause:	The routine PHYINT was called to process an interrupt for the
	RH20, and a check was made to see if a register access error
	occured, and it did.  This is almost always due to a hardware
	malfunction.

Action:	Call field service.

Data:	DATAI/	The result of a DATAI done after the error was detected.
	CONI/	The CONI which showed the register access error.
	CHAN/	The channel number.
>)


BUG.(CHK,P2RAEX,PHYH11,HARD,<PHYH11 - REGISTER ACCESS ERR WRITING REG>,<<T1,D>,<T2,D>,<T3,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(HLT,PAGLCK,PAGUTL,SOFT,<DESPT-PAGE LOCKED>,,<

Cause:	The monitor is attempting to deassign a slot in the non-OFN
	part of the SPT tables. The caller is expected to ensure that
	the SPT is no longer in use. The BUGHLT indicates that the
	SPT slot is associated with a page that has been locked into
	memory even though the SPT share count is 0. This indicates
	an inconsistency in the monitor's data base. Probably the page
	was used as a page table, and not all its page pointers were
	cleared properly. A page table is locked in memory once for
	each page in memory to which it points.
>)


BUG.(HLT,PAGNIC,PAGUTL,SOFT,<GETCPP-PAGE NOT IN CORE>,,<

Cause:	A routine was called to convert a virtual address or page id
	to its corresponding core page. But the page table is not in
	core.
>)


BUG.(CHK,PCIN0,PAGEM,SOFT,<PAGEM - PC has gone into section 0>,<<T2,PC>,<T1,PFW>>,<

Cause:	A reference has been made to RSCOD or NRCOD in section 0.  This should
	not happen because section 0 code cannot reference data in
	extended sections.  As an expedient, the page being referenced
	will be mapped to section 1 with an indirect pointer.
>)


BUG.(CHK,PDVSTA,PHYSIO,SOFT,<PHYSIO - INCONSISTENT STATE OFUDB STATUS BITS>,<<T1,STATUS>>,<
Cause: UDBST1 is inconsistent
Action:
>)


BUG.(HLT,PGNDEL,PAGEM,SOFT,<REMFPB-PAGE NOT COMPLETELY DELETED>,,<

Cause:	A page has been marked as partially deleted and placed on a
	queue. The routine that processes the queue has found that the
	page still has a backup on disk. The routine that marked the
	page should have deleted all backup pages.
>)


BUG.(HLT,PGRIXM,PAGUTL,SOFT,<PGRINI - Boot overlaps resident tables>,,<
Cause:	The values in BUTPHY indicate that BOOT has been left in pages
	which are expected to be available for resident code or
	storage areas.  This could be the result of a bad monitor build
	or attempting to run the monitor with insufficient memory.
>)


BUG.(HLT,PGUNDX,PAGEM,SOFT,<PGUNTD-IN NESTED TRAP>,,<

Cause: Attempt to use a special untrap address while in a nested trap.
>)


BUG.(CHK,PH1IHM,PHYH11,HARD,<PHYH11 - ILLEGAL HDW MODE - WORD MODE ASSUMED>,,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(CHK,PH1PIE,PHYH11,HARD,<PHYH11 - RH11 LOST INTERRUPT ENABLE>,<<T2,D>>,<

Cause:	This BUG is not documented yet.

Action:

Data:

>)


BUG.(INF,PH2DNA,PHYH2,HARD,<PHYH2 - DONE INTERRUPT AND CHANNEL NOT ACTIVE>,<<T2,CHAN>>,<

Cause:	The routine RH2INT was called to handle an interrupt on the
	RH20 and the CONI said done was up, but no IO transfer was
	in progress.  If an OVRDTA had previously occured, and the
	device finally responds, this BUGINF can happen.  This usually
	indicates a hardware failure.

Action:	Call field service.

Data:	CHAN/	The channel number.
>)


BUG.(CHK,PH2IHM,PHYH2,HARD,<PHYH2 - ILLEGAL HDW MODE - WORD MODE ASSUMED>,,<

Cause:	The routine RH2CCW was called to generate a channel transfer
	word, and one of it's arguments is the data mode to use.  But
	the data mode supplied was illegal.
>)


BUG.(HLT,PH2IUA,PHYH2,HARD,<WRONG AND INACTIVE UNIT INTERRUPTED>,,<
Cause:  The routine RH2INT was called to handle an interrupt, and
	it determined that IO had finished for a controller but
	now we can't find that active controller.
>)


BUG.(CHK,PH2PIM,PHYH2,HARD,<PHYH2 - RH20 LOST PI ASSIGNMENT>,<<T1,CHAN>,<T3,CONI>,<T2,PIA>>,<

Cause:	The routine RH2CHK was called for a periodic check on the status
	of the RH20, and it discovered that the channel assignment of
	the RH20 changed from what it should be.  This usually indicates
	a hardware malfunction.  This situation is serious as it could
	cause file structure damage.

Action:	Call field service.

Data:	CHAN/	The channel number.
	CONI/	The results of the CONI on the RH
	PIA/	The PI assignment we expected to see but did not see.
>)


BUG.(CHK,PH2PIX,PHYH2,HARD,<PHYH2 - RH20 RETURNED FROM THE TWILIGHT ZONE>,<<T1,CHAN>,<T3,CONI>,<T4,OLD>,<T2,PIA>>,<

Cause:	The routine RH2CHK was called for a periodic check on the status
	of the channel, and found that the PI assignment for the channel
	was not what was expected.  A second check of the channel status
	found the correct PI assignment.

Action:	Call field service.

Data:	CHAN/	The channel number.
	CONI/	The results of the final CONI on the RH
	OLD/	The results of the first CONI on the RH
	PIA/	The PI assignment we expected to see.
>)


BUG.(HLT,PH2WUI,PHYH2,HARD,<WRONG UNIT INTERRUPTED>,,<

Cause:	The routine RH2INT was called to handle an interrupt, and it
	determined that IO had finished for a unit.  The operation was a write
	operation.  The CONI said that a particular unit completed the IO, but
	that was not the unit to which the IO was begun.  This BUGHLT occurs on
	the second such error for a particular IORB.
>)


BUG.(HLT,PHYICA,PHYSIO,HARD,<PHYINI - ILLEGAL ARGUMENT TO CORE ALLOC>,,<

Cause:	The routine PHYALC was called asking for a nonpositive number
	of words.  This routine is called to allocate resident storage
	for data such as CDB's, KDB's, and UDB's.
>)


BUG.(INF,PHYICE,PHYSIO,HARD,<PHYINI - FAILED TO ASSIGN RESIDENT STG>,,<

Cause:	The routine PHYALC was called to allocate storage for data such
	as a CDB, KDB, or UDB, but there was not enough free resident
	storage to allocate it.  The monitor will simply forget about
	any device for which it cannot build tables.
>)


BUG.(HLT,PHYLTF,PHYSIO,HARD,<PHYSIO - SCHLTM - UNEXPECTED LATOPT FAILURE>,,<

Cause:	The routine SCHLTM was called to do disk latency optimization,
	by scanning all units for the best IORB.  A unit was found to have a
	nonnull transfer wait queue, but the lower level code to select the
	best IORB for that unit gave the non-skip return, indicating that no
	IORBs existed.
>)


BUG.(CHK,PHYNIR,PHYSIO,HARD,<PHYSIO - NULL INTERRUPT ROUTINE AT OPERATION DONE>,,<

Cause:	The routine DONIRB, when terminating a long IORB, attempted to notify
	higher level code about the finished IORB, but the field in the IORB
	that contained the address to call was zero.
>)


BUG.(CHK,PHYNOS,PHYSIO,HARD,<PHYSIO- NO SERIAL NUMBER FOR DISK DRIVE>,<<P1,CHAN>,<P2,CONT>,<P3,UNIT>>,<
Cause: The serial number of the drive is missing.

Action: Call F-S

Data:	Chan/ Channel number
	Cont/ Controller number
	Unit/ Unit number
>)


BUG.(HLT,PHYNUN,PHYSIO,SOFT,<PHYSIO NO UNIT NUMBER>,<<T1,CHAN>,<T2,KONT>,<P3,UDB>>,<
Cause:	A unit number could not be found for a given CDB KDB UDB
	This indicates a software problem.

Action:	Analyse the dump. Insure that P3 contains a valid UDB.
>)


BUG.(INF,PHYTPD,PHYSIO,HARD,<DISK ALREADY PORTED TO SYSTEM>,<<P3,OCHN>,<P5,NCHN>>,<
Cause:  The system has a disk on the server that also is found on the
Massbus.  This is not legal and not permitted.

Action: Fix the remote server's database so it doesn't recognize this disk.
>)


BUG.(HLT,PI0ERR,APRSRV,HARD,<UNVECTORED INTERRUPT ON CHANNEL 0>,,<

Cause:	The monitor has received an unvectored hardware interrupt on PI
	channel 0.  This is not supposed to happen. This could possibly
	be faulty hardware generating incorrect PI requests.

>)


BUG.(CHK,PI1ERR,APRSRV,HARD,<UNEXPECTED UNVECTORED INTERRUPT ON CHANNEL 1>,,<

Cause:	The monitor has received an unvectored hardware interrupt on PI
	channel 1.  Currently, there is no processing assigned to this
	channel.  This could possibly indicate faulty hardware that is
	generating spurious PI requests.
>)


BUG.(CHK,PI2ERR,APRSRV,HARD,<UNEXPECTED UNVECTORED INTERRUPT ON CHANNEL 2>,,<

Cause:	The monitor has received an unvectored hardware interrupt on PI
	channel 2.  Currently, there is no processing assigned to this
	channel.  This could possibly indicate faulty hardware that is
	generating spurious PI requests.
>)


BUG.(CHK,PI3ERR,APRSRV,HARD,<UNEXPECTED UNVECTORED INTERRUPT ON CHANNEL 3>,,<

Cause:	The monitor has received an unvectored hardware interrupt on PI
	channel 3.  Currently, there is no processing assigned to this
	channel.  This could possibly indicate faulty hardware that is
	generating spurious PI requests.
>)


BUG.(CHK,PI4ERR,APRSRV,HARD,<UNEXPECTED UNVECTORED INTERRUPT ON CHANNEL 4>,,<

Cause:	The monitor has received an unvectored hardware interrupt on PI
	channel 4.  Currently, there is no processing assigned to this
	channel.  This could possibly indicate faulty hardware that is
	generating spurious PI requests.
>)


BUG.(CHK,PI5ERR,STG,hard,<UNEXPECTED UNVECTORED INTERRUPT ON CHANNEL 5>,,<

Cause:	If no devices are supposed to exist on the system which cause
	unvectored interrupts on channel 5, and more than ten such interrupts
	happen, this bugchk will occur.

	This bugchk is only possible if your system has no dectape and no
	card punch and no papertape reader.

	It has been observed that the DX20 occasionally causes random
	interrupts.  Having the bugchk not happen until ten such interrupts
	have been received tends to prevent the bugchk from happening.
>)


BUG.(CHK,PI6ERR,STG,HARD,<UNEXPECTED UNVECTORED INTERRUPT ON CHANNEL 6>,,<

Cause:	An unvectored PI interrupt has occurred which no devices have claimed
	responsibility for.  This most likely indicates a hardware malfunction.

Action:	Notify Field Service.

>)


BUG.(CHK,PIDFLF,IPCF,HARD,<CREPID: FREE PID LIST FOULED UP>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,PIDOD1,IPCF,HARD,<MUTCHO: PID COUNT OVERLY DECREMENTED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,PIDOD2,IPCF,HARD,<DELPID: OVERLY DECREMENTED PID COUNT>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,PIITRP,SCHED,HARD,<INSTRUCTION TRAP WHILE PI IN PROGRESS OR IN SCHEDULER>,<<LSTERR,LSTERR>,<LSTIPC,ERRPC>>,<

Cause:	An error occurred, resulting in an illegal instruction trap. If a JSYS
	were being executed by the monitor, the process would receive an
	error return.  However, in this case the error occurred  while a
	hardware interrupt (PI) was being processed, or while the monitor was
	executing code that starts the scheduler cycle.

Data:	1. Last error code.  This may indicate where error was generated.
	2. PC at which error was generated.
>)


BUG.(HLT,PINIC1,APRSRV,SOFT,<MAPIPG - PAGE TABLE NOT IN CORE>,,<

Cause:	A routine has been called to map a page into a special
	address slot.  The requested page is not in memory.
>)


BUG.(HLT,PIRACE,APRSRV,SOFT,<MAPIPG - CALLED WITH PI ON>,,<

Cause:	This routine uses a MMAP entry which may be used at PI level.
	To avoid races, the PI should be off when it is called.
	This particular caller did not turn off the PI.  Check
	the stack to find the culprit.
>)


BUG.(HLT,PISKED,SCHED,HARD,<ENTERED SCHEDULER WITH PI IN PROGRESS>,,<

Cause:	The monitor started to execute the main scheduler routine.  The
	hardware indicates that a hardware interrupt is being held. Since
	hardware interrupts operate at a higher priority than the scheduler,
	this should not happen.
>)


BUG.(HLT,PITRAP,PAGEM,SOFT,<PAGER TRAP WHILE PI IN PROGRESS>,,<

Cause:	A page fault occurred while a hardware interrupt was in progress.
	This can be the result of hardware failure or a software bug. If
	the page fail word indicates an AR or ARX parity error, the monitor
	has printed an analysis of the problem on the CTY, and a SYSERR
	entry will be created when the monitor is rebooted.
>)


BUG.(HLT,PLKMOD,PAGEM,SOFT,<PAGE LOCK OVERLY DECREMENTED>,,<

CAUSE:	THE MONITOR DECREMENTED THE LOCK COUNT OF A PAGE PAST ZERO
	THIS INDICATES A SOFTWARE PROBLEM.
>)


BUG.(CHK,PM2SIO,PHYM2,HARD,<PHYM2 - ILLEGAL FUNCTION AT START IO>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,PM8SIO,PHYM78,HARD,<PHYM78 - ILLEGAL FUNCTION AT START IO>,,<

Cause:	This bugchk can be caused by trying to write an odd number of
	words to a TU78 that is set for the high density mode. If
	T2 is odd, this is probably the cause. There is also an undocumented
	cause of this bugchk.

>)


BUG.(HLT,PPGOFN,PAGEM,SOFT,<SPHYPT - Destination is OFN>,<<T4,OFN>>,<
Cause:	SPHYPG or SPHYPG has been given an destination argument which
	is an OFN.  This type of mapping may only be done into
	non-file page tables.

Data:	T4 - The OFN.
>)


BUG.(HLT,PRONX2,APRSRV,HARD,<NXM DETECTED BY PROCESSOR>,,<

Cause:	A page fault occurred, indicating that the processor
	attempted to access a memory that did not respond within
	a preset time, and the monitor is presently running in
	process context, and the interrupt system is on. Since
	non-existent memory also produces an APR interrupt,
	which results in an APRNX1 BUGHLT,
	this BUGHLT does not normally occur.

Action:	See APRNX1. Note, however, that the occurrence of this BUGHLT
	instead of APRNX1 may indicate a failure in the interrupt
	system.
>)


BUG.(HLT,PSBNIC,PAGUTL,SOFT,<SETPPG-PSB NOT IN CORE>,,<

Cause:	The monitor is establishing the context for running a
	process by making its per-process area be part of the
	monitor's map. It is about to copy the SPT entry for the
	PSB into a special SPT slot. But the PSB is not in core.
>)


BUG.(CHK,PSIIBE,SCHED,SOFT,<PSII - Flags not set properly>,<<T1,FLAGS>>,<
Cause:	At PSII, the PC flags were found not set properly.  All paths
	to PSII should ensure that PCU is 1 and PCS is non-0.  This
	is under a debug conditional and so should not be seen in the
	field.

Data:	T1 - Flags from XSFM.
>)


BUG.(CHK,PSINSK,SCHED,HARD,<PSI FROM NOSKED OR CRSKED CONTEXT>,,<

Cause:	This process is NOSKED or CSKED, but is not NOINT.

>)


BUG.(HLT,PSISTK,SCHED,HARD,<PSI STORAGE STACK OVERFLOW>,,<

Cause:	A software interrupt occurred while a process was running
	in the monitor. The monitor is saving information regarding
	the state of the process so that in can restore that state
	when the process dismisses the interrupt. The BUGHLT indicates
	that the storage area has overflowed.

>)


BUG.(HLT,PTAIC,PAGEM,SOFT,<SWPIN - PT PAGE ALREADY IN CORE>,,<

Cause:	A routine has been called to swap a page into core. The id for
	the page indicates that it is a data page. The BUGHLT
	occurred because the entry in its page table contains a core
	address.
>)


BUG.(HLT,PTDEL,PAGUTL,SOFT,<DESPT-PT NOT DELETED>,,<

Cause:	The monitor is attempting to deassign a slot in the non-OFN
	part of the SPT tables. It assumes that the slot was used as a
	page table. The BUGHLT occurs because the SPT entry or its
	backup address is on disk. The caller probably has used the
	wrong routine in releasing an OFN.
>)


BUG.(HLT,PTMPE,APRSRV,HARD,<PAGE TABLE PARITY ERROR>,,<

Cause:	The monitor encountered multiple page table parity errors.
>)


BUG.(HLT,PTNIC1,APRSRV,SOFT,<SWPIN - PAGE TABLE NOT IN CORE>,,<

Cause:	A routine has been called to map a page table into a special
	page used only by the swapping routines. The caller is expected
	to provide an identifier for a page that is in memory. When a
	page is in memory, the page table that points to it must be
	in memory. The BUGHLT indicates that the storage address for
	the page table is not a valid core page. This can indicate that the
	page is not in memory or that its memory address is larger
	than the physical memory on the machine. The most likely
	cause is corruption of the monitor's data base.
>)


BUG.(HLT,PTNON0,PAGEM,SOFT,<SETPT0 - PREVIOUS CONTENTS NON-0>,,<

Cause:	A routine has been called to change the map for a page of a
	process. The caller is expected to have unmapped any previous
	contents of the page. The BUGHLT indicates that the page table
	contains a non-zero pointer for the page.
>)


BUG.(HLT,PTOVRN,PAGUTL,SOFT,<UPDPGS-COUNT TOO LARGE>,,<

Cause:	A routine has been called to update, on the disk, pages of a
	file to which a specified index block (OFN) points. The caller
	provides a starting page and a count. The BUGHLT occurs
	because the sum of the two extends beyond the end of the
	index block.
>)


BUG.(CHK,PTPTE1,APRSRV,HARD,<Page table parity error>,<<UPTPFW,PFW>>,<

Cause:	A page table entry has bad parity. The monitor will clear
	the entry and try again. If it fails repeatedly, PTMPE
	will result.
>)


BUG.(HLT,PVTRP,APRSRV,HARD,<PROPRIETARY VIOLATION TRAP>,,<

Cause:	A page fault occurred, indicating a proprietary violation while
	the monitor was running in scheduler context. That is, an
	instruction in a public page attempted to reference a
	concealed page. Since TOPS-20 uses only concealed mode, this
	BUGHLT should never happen.
>)


BUG.(HLT,PWRFL,APRSRV,HARD,<FATAL POWER FAILURE>,,<

Cause:	The monitor has been started at the power-fail recovery
	code and is attempting to recover. However, the loss
	of power that preceded this occurred too quickly to
	allow an orderly shutdown. Therefore the monitor will
	be reloaded.  This BUGHLT will be preceeded by the messages:
		"Attempting automatic restart..."
		"PWRDWN .NE. -1, restarting..."
>)


BUG.(CHK,PWRRES,APRSRV,HARD,<POWER RESTART>,,<

Cause:	The monitor was started at the power fail recovery code
	and is attempting to recover. This BUGCHK will be preceeded by:
		"Attempting automatic restart..."
		"Attempting to continue system"
	This indicates that an an orderly shutdown was
	accomplished before the power fail so the system will
	continue. 
>)


BUG.(HLT,PYILUN,PHYSIO,HARD,<PHYSIO - ILLEGAL UNIT NUMBER>,,<

Cause:	The routine SETUDB was called to find the UDB and KDB pointers
	given the CDB and unit number, but the unit number given was
	out of range.
>)


BUG.(HLT,RBTSEC,FREE,SOFT,<RESBTB IN WRONG SECTION>,,<
Cause:	Debugging code attempts to write-protect the allocation
	table by changing the map directly.  It assumes that
	the bit table is in the section used by NRPE, but
	the address is not in that section.
>)


BUG.(CHK,RCVNOE,JSYSA,SOFT,<RCVOK - NO ENTRY FOUND IN QUEUE>,,<

Cause:	The RCVOK JSYS has detected that the list of unprocessed GETOK
	requests is empty, but the count of entries in the list is nonzero.
>)


BUG.(CHK,RCVTMR,JSYSA,SOFT,<RCVOK TIMEOUT - IGNORING ACCESS CONTROL JOB>,,<

Cause:	The access control job did not do a RCVOK within the designated time
	period.  A GETOK request was pending.

Action:	The access control job should be examined to see if its receiving
	requests can be made faster.

>)


BUG.(CHK,RELBAD,FREE,SOFT,<RELFRE-BAD BLOCK BEING RELEASED>,<<CX,D>,<A,D>,<B,D>,<C,D>>,<

Cause:	This is a free space problem.  The block being returned does not fit
	into the free space.  When blocks are returned to the free space pool,
	there is a consistancy check preformed.  The block is merged into
	existing blocks that follow it in free space.  This block overlaps
	into existing free blocks.  It can not be merged.

Action:	If the problem persists, change the BUGCHK to a BUGHLT.  Looking at
	the stack will show the caller.  It is possible that the length of the
	current block is incorrect.  It is equally likely that the
	block(s) before this block (in free space) have had incorrect
	lengths on return.  Thus, the caller may not be the culprit.



>)


BUG.(HLT,RELFRM,FREE,SOFT,<ILLEGAL TO DEASSIGN 0 FREE SPACE>,,<

Cause:	This is a free space problem.  The calling routine is trying to release
	a block of storage of zero length.  It is illegal to free a block of
	zero length.

Action:	Look at the dump.  Backing up the stack will show which routine made
	the call to release the storage.


>)


BUG.(HLT,RELINC,FREE,SOFT,<RELFSP-BAD BLOCK BEING RELEASED>,<<Q1,POOLN>,<T4,CALRPC>,<P2,BLKADR>>,<

Cause:	This is a free space problem.  The block being returned does not fit
	into the free space.  When blocks are returned to the free space pool,
	there is a consistancy check preformed.  The block is merged into
	existing blocks that follow it in free space.  This block overlaps
	into existing free blocks.  It can not be merged.

Action:	If the problem persists, change the BUGCHK to a BUGHLT.  Looking at
	the stack will show the caller.  It is possible that the length of the
	current block is incorrect.  It is equally likely that the
	block(s) before this block (in free space) have had incorrect
	lengths on return.  Thus, the caller may not be the culprit.

Data:	POOLN		Pool number
	CALRPC		PC of caller of RELFSP
	BLKADR		Address of user block


>)


BUG.(CHK,RELINT,FREE,SOFT,<RELFRE CALLED OKINT>,<<A,D>>,<

Cause:	This is a free space problem.  The calling routine is trying to release
	a swapable free space block while it is OKINT.  This is dangerous since
	it could get interrupted and loose the block.  All
	free space actions should occur while NOINT.

Action:	The data supplied gives the address of the calling routine.  Make
	the routine become NOINT when it removes the address of the block
	about to be released from the database.  The routine
	can be made OKINT when control is returned to it.

>)


BUG.(CHK,RELRNG,FREE,SOFT,<RELFRE: BLOCK OUT OF RANGE>,<<B,D>,<A,D>,<D,D>>,<

Cause:	This is a free space problem.  The caller to the free space
	routines is trying to return a block that was not given
	out by the free space manager.  The block is outside the
	range of free space management.

Action:	Look through the dump.  By looking at the stack you
	should be able to determine who called for the releasing
	of the block.
>)


BUG.(CHK,RESBAD,FREE,SOFT,<RELRES: ILLEGAL ADDRESS PASSED TO RELRES>,<<T1,BADADR>,<T2,CALLER>>,<

Cause:	This is a free space problem.  The caller is trying to release some
	resident free space.  The address being specified is not a legal
	resident free space address.

Action:	If the problem persists change the BUGCHK to a BUGHLT and find the
	caller.  The caller is providing an illegal address.
	Find where the caller get the address and how that location gets
	modified.

Data:	BADADR - the address given to the free space manager

	CALLER - the PC when the free space manager was called

>)


BUG.(CHK,RESBAZ,FREE,SOFT,<RELRES: FREE BLOCK RETURNED MORE THAN ONCE>,<<T1,BADADR>,<T2,CALLER>>,<

Cause:	This is a free space problem.  The caller is returning a block to
	resident free space.  The block being returned is already a released
	block in the resident free space pool.  Thus, the caller is either
	returning the same block twice or has a completely random address which
	is incorrect.

Action:	If the problem persists change the BUGCHK to a BUGHLT.  The caller
	may or may not be the culprit.  It is possible that some other
	routine  is picking up the wrong address and releasing it.

Data:	BADADR - the address given to the free space manager

	CALLER - the PC when the free space manager was called


>)


BUG.(CHK,RESBND,FREE,SOFT,<RELRES: RELEASING SPACE BEYOND END OF RESIDENT FREE POOL>,<<T1,BADADR>,<T2,CALLER>>,<

Cause:	This is a free space problem.  The caller is trying to release resident
	free space.  The address passed to RELRES is outside the range of the
	resident free space pool.

Action:	If the problem persists change the BUGCHK to a BUGHLT.


Data:	BADADR - the address given to the free space manager

	CALLER - the PC when the free space manager was called

>)


BUG.(HLT,RESCHK,FREE,SOFT,<RELRES:  RESIDENT FREE SPACE WAS OVERWRITTEN>,<<T1,BADADR>,<T2,CALLER>>,<

Cause:	Resident free space has been overwritten.

Action: Look at the header of the free space segment; it contains the PC of the
	assigner of the space.  Try to figure out why more space was used
	than was requested.

Data:	BADDAR - Address passed to RELRES

	CALLER - PC when RELRES was called

>)


BUG.(INF,REVLEV,PHYM78,SOFT,<TM78 Microcode is outdated>,<<T1,ACTUAL LEVELS>,<T2,ACTUAL LEVELS>,<T3,MINIMUM LEVELS>,<T4,MINIMUM LEVELS>>,<

Cause:	The TM78 does not have a microcode version that is needed by this
	monitor.

Action:	Have Field Service install the new microcode.

Data:	T1 and T2 have the actual revision levels in the TM78. T3 and T4
	have the levels that are required by this monitor.
>)


BUG.(CHK,RFILPF,APRSRV,HARD,<REFILL ERROR PAGE FAIL>,,<

Cause:	A page fault occurred indicating a refill error. This condition
	is indicated by a "hard" failure code of 22 in the page fail
	word and should occur only under KI-style paging.
	TOPS-20 does not use this style of
	paging. The monitor will retry the instruction.
>)


BUG.(HLT,RH11CC,PHYH11,soft,<PHYH11 - ILLEGAL CHANNEL COMMAND WORD>,,<

Cause:	This BUGHLT can only occur on the 2020.

	This BUGHLT will happen if the CHSTRT routine encounters an address of
	0 in the channel control word.  The right half of the channel control
	word is the address.
>)


BUG.(HLT,RH1ICF,PHYH11,soft,<PHYH11 - INVALID CHANNEL FUNCTION>,,<

Cause:	This BUGHLT can only happen on the 2020.

	The CHSTRT routine is called to perform disk operations.  On the
	call, Q1 is supposed to contain a function code, and T2 is supposed
	to contain the value to be used for a DATAO.  However, -1 in Q1
	denotes that T2 contains the DATAO but that no function is to
	be done.

	The BUGHLT will occur if T2 is 0, or if T2 is non-0 and Q1 is 0,
	which can only occur due to some caller supplying CHSTRT with
	bad arguments.
>)


BUG.(HLT,RH2ICF,PHYH2,HARD,<PHYRH2 - INVALID CHANNEL FUNCTION>,,<

Cause:	The routine CHSTRT was called to start IO on the channel,
	but the supplied arguments were illegal.  Either no DATAO
	word was specified, or the function code was zero.
>)


BUG.(CHK,RP2NSN,PHYSIO,SOFT,<PHYSIO - NO SERIAL NUMBER FOR RP20>,<<P1,CHAN>,<P2,CONT>,<P3,UNIT>>,<

Cause:	The serial number is missing for this structure

Action: Run Checkd and create a serial number

Data:	Chan/ The Channel number
	Cont/ The Controller number or -1
	Unit/ The Unit number
>)


BUG.(HLT,RP4FEX,PHYP4,SOFT,<PHYP4 - ILLEGAL FUNCTION>,,<

Cause:	The routine RP4SIO was called to start IO for a unit, but
	the function code supplied in the IORB was out of range.
>)


BUG.(HLT,RP4IF2,PHYP4,SOFT,<PHYP4 - ILLEGAL FUNCTION AT STKIO>,,<

Cause:	The routine RP4STK was called to start stacked IO for a
	unit, but the function code supplied in the IORB was out
	of range.
>)


BUG.(HLT,RP4IFC,PHYP4,SOFT,<PHYP4 - ILLEGAL FUNCTION AT CNV>,,<

Cause:	The routine RP4CNV was called to return the cylinder associated
	with an IORB.  The routine checked the function in the IORB, and
	it was illegal.
>)


BUG.(HLT,RP4ILF,PHYP4,HARD,<PHYP4 - ILLEGAL FUNCTION ON INTERRUPT>,,<

Cause:	The routine RP4INT was called by the channel routine to handle
	a non-attention interrupt.  The function code for the IORB that
	IO was done for was either illegal, or else the function was
	one which did not transfer data.  Functions which do not transfer
	data should give an attention interrupt.
>)


BUG.(HLT,RP4LTF,PHYP4,SOFT,<PHYP4 - FAILED TO FIND TWQ ENTRY AT RP4LTM>,,<

Cause:	The routine RP4LTM was called to find the entry on the transfer
	wait queue which had the best latency.  But after searching the
	queue, no IORB was found to return.  This routine should only
	be called when the transfer wait queue is nonempty.
>)


BUG.(HLT,RP4PNF,PHYP4,SOFT,<PHYP4 - DISK PHYSICAL PARAMETERS NOT FOUND>,,<

Cause:	The routine RP4INI was called to initialize a UDB for a disk.
	It converted the hardware drive type into the internal drive
	type, and then looked in the physical parameter table (DSKUTP)
	for that type, so that the disk parameters could be obtained.
	The drive type could not be found.
>)


BUG.(CHK,RP4SSC,PHYP4,HARD,<PHYP4 - STUCK SECTOR COUNTER>,<<T1,D>,<T2,D>>,<

Cause:	During initialization of a disk unit in the routine RP4INI,
	the sector counter for the disk was examined to see if it
	was changing as it should.  After watching the value for
	100000 times, it never varied.

Action:	Call field service to fix the disk.
>)


BUG.(HLT,RP4UNF,PHYP4,HARD,<PHYP4 - UNIT TYPE NOT FOUND:>,<<T1,D>>,<

Cause:	During initialization of a disk in the routine RP4INI, the
	hardware drive type of the disk was read, and then the XTYPE
	table was searched for the corresponding internal drive type.
	The search failed, indicating the disk was of an unknown type.

>)


BUG.(HLT,RPGERR,PAGUTL,HARD,<BADCPG-FATAL ERROR IN RESIDENT PAGE>,,<

Cause:	A hardware error (AR/ARX parity error or MB parity error) was
	detected when the monitor referenced a page in memory that
	contained part of the resident monitor. The monitor has printed
	an analysis of the error on the CTY, and A SYSERR entry will be
	created when the monitor is rebooted.
>)


BUG.(HLT,RSMFAI,PAGUTL,HARD,<RESSMM-FAILED TO ASSIGN SWAP MON PAGE>,,<

Cause:	The monitor is trying to restore the swappable monitor from the
	swapping space after a system crash. It is unable to assign a
	page in the swapping space to which a monitor page was previously
	written. Note: This code is executed only if the monitor is
	manually started at location EVLDGO. This is not a recommended
	procedure.
>)


BUG.(HLT,RTNNSK,SCHED,SOFT,<PROCESS IS NOSKED OR CSKED AT MRETN>,,<

Cause:	Process is NOSKED or CSKED at return from monitor call.  Probably
	this JSYS went NOSKED or CSKED and forget to do the matching
	OKSKED or ECSKED.  This is a coding error.
>)


BUG.(INF,SBSERF,APRSRV,SOFT,<SBSERR-COULD NOT GET ERROR BLOCK>,,<

Cause:	An APR interrupt occurred because a memory controller detected
	an error in its own operation or in information received over
	the S bus or from a memory module. The monitor has determined
	that a MOS controller is involved. Normally the monitor creates
	a block and records information about the error for later
	retrieval by TGHA. However, no free space is available, so this
	information will be lost.
>)


BUG.(HLT,SBXSE0,SYSERR,SOFT,<SYSERR CALLED FROM SEC 0 WITH EXT BLK>,<<T4,PC>>,<

Cause:	SEBCPY/QUESEB/OR SEBCPY WITH UNEXTENDED FUNCTION CALL ADDRESS was
	performed when the SYSERR block was in extended free space.

Action:	The inconsistency must be fixed because it indicates that referencing
	the data block may fail if performed by unextended instructions.

Data:	PC - the PC of the caller to the SYSERR routine.

>)


BUG.(CHK,SCABAL,SCAMPI,SOFT,<SCA - Connection block already linked>,<<T1,NODE>,<T2,CID>,<T3,FLINK>,<T4,BLINK>>,<

Cause:	SCA is linking a connection block onto a system block. However, the
	connection block's pointers indicate that it is already linked to some
	other block

Data:	NODE - node number
	CID - Connect ID
	FLINK - Address of next connection block
	BLINK - Address of previous connection block
>)


BUG.(CHK,SCABMT,SCAMPI,SOFT,<SCA - Bad message type from remote node>,<<T1,NODE>,<T2,CID>,<T3,OPCODE>>,<

Cause:	On range checking the message type we found it was bad. This shouldn't
	happen if the port and port driver are working correctly. Since we
	don't know what kind of packet this is, we throw it away.

Data:	NODE - node number
	CID - Connect ID
	OPCODE - SCS op code received

>)


BUG.(CHK,SCABSF,SCAMPI,SOFT,<SCA - Buffer section full>,<>,<

Cause:	SCA went to create more buffers and discovered that the section
	for such things is full. This is an indication that something is
	not returning buffers.
>)


BUG.(CHK,SCABSN,SCAMPI,SOFT,<SCA - Block state non-zero when ready to reap>,<<T1,NODE>,<T2,CID>,<T3,STATE>>,<

Cause:	SCA is ready to delete a connection block, and its block state
	is non-zero. The block state should have been cleared when the reap
	bit was set.

Data:	NODE - Node number
	CID - Connect ID
	STATE - block state
>)


BUG.(CHK,SCABSZ,SCAMI,SOFT,<SCA - Block state is zero when trying to send connection management request>,<<T1,NODE>,<T2,CID>,<T3,STATE>>,<

Cause:	A connection block is on the system block's work queue, but its block
	state is zero. This value should be non-zero to indicate the kind of
	request to be sent.

Data:	NODE - Node number
	CID - Connect ID
	STATE - Connection state

>)


BUG.(CHK,SCACCD,SCAMPI,SOFT,<SCA - Can't cancel datagram buffer>,<<T1,NODE>,<T2,CID>,<T3,COUNT>>,<

Cause:	A sysap has done the "cancel receive datagram" function of SCA, and
	the port's queue did not contain as many buffers as the system believes
	it should contain.

Data:	NODE - Node number
	CID - Connect ID
	COUNT - Number of buffers we couldn't get
>)


BUG.(HLT,SCACCI,SCAMPI,SOFT,<SCA - Cannot complete initialization>,,<

Cause:	SCA detected an error it could not recover from during the init 
	process. SCADIE is CALLed by the offending location and hence the
	stack points out the guilty phase of init.
>)


BUG.(HLT,SCACFO,SCAMPI,SOFT,<SCA - SC.CON received failure from SC.OUT>,,<

Cause:	SC.CON created a new connection block and then called SC.OUT to
	check its state. The call should never fail.
>)


BUG.(CHK,SCACGD,SCAMPI,SOFT,<SCA - Can't get datagram buffer when reaping>,<<T1,NODE>,<T2,CID>,<Q1,COUNT>>,<

Cause:	We are reaping a connection block. Its buffer count indicates that
	datagram buffers are queued to the port. However, the port's queue has
	become empty while we tried to remove these buffers.

Data:	NODE - node number
	CID - Connect ID
	COUNT - number of buffers remaining to be dequeued
>)


BUG.(CHK,SCACGM,SCAMPI,SOFT,<SCA - Can't get message buffer when reaping>,<<T1,NODE>,<T2,CID>,<Q1,COUNT>>,<

Cause:	We are reaping a connection block. Its receive credit indicates that
	message buffers are queued to the port. However, the port's queue has
	become empty while we tried to remove these buffers.

Data:	NODE - node number
	CID - Connect ID
	COUNT - number of buffers remaining to be dequeued
>)


BUG.(HLT,SCACLB,SCAMPI,SOFT,<SCA - Incoming connect_request on closed v.c.>,<<T2,NODE>>,<

Cause:	SCAMPI received a connect_request and matched it to a listener.
	But when it tried to queue the connection block to the system block,
	it found that the v.c. was closed. Since it had checked for that
	state earlier, and this is happening at interrupt level, something
	unexpected has happened.

Data:	NODE - Node number
>)


BUG.(CHK,SCACRB,SCAMPI,SOFT,<SCA - Can't reclaim buffers>,<<T1,NODE>,<T2,CID>,<P3,COUNT>>,<

Cause:	Based on the return_credit field for this connection, SCAMPI is trying
	to reclaim buffers from the port's queue. The queue is empty. This
	reflects confusion about credit, since we should have queued these
	buffers at some time in the past.

Data:	NODE - Node number
	CID - Connect ID at this node
	COUNT - Number of buffers we couldn't get
>)


BUG.(CHK,SCACSC,SCAMPI,SOFT,<SCA - Can't send credit request>,<<T1,NODE>,<T2,CID>,<T3,STATE>>,<

Cause:	SCA wants to send a credit request, but the connection block already
	has some other message pending. This reflects some sort of
	inconsistency, since the state was "open", and the interlock word
	for credit requests was 0.

Data:	NODE - Node number
	CID - Connect ID
	STATE - BLock state
>)


BUG.(CHK,SCACVC,SCAMPI,SOFT,<SCA - Virtual circuit closure requested>,<<T1,NODE>>,<

Cause:	SCA has either detected an SCA protocol error or timed out a credit
	request to a remote (idle chatter). In either case the VC needs to be 
	closed. This event indicates one of two things, a node going away,
	or a problem... The effected remote is indicated by the system block
	address in the additional data.

Data:	NODE - Node number
>)


BUG.(CHK,SCADCF,SCAMPI,SOFT,<SCA - Datagram buffer creation failure>,<<T1,ERROR>,<T2,COUNT>>,<

Cause:	SCA detected that the level of buffers maintained was below minimum.
	The attempt to create more datagram buffers failed. The error code is
	in T1 and output as additional data.

Data:	ERROR - error code
	COUNT - number of datagram buffers in SCA's pool
>)


BUG.(HLT,SCAEBD,SCAMPI,SOFT,<SCA - Error handling buffer deferral request>,<<T2,NODE>,<T3,CID>,<T1,ERROR>>,<

Cause:	SCA was unable to create buffers when running in job 0. This should 
	never happen since job 0 can create pages as needed.

Data:	NODE - Node number
	CID - Connect ID
	ERROR - error code
>)


BUG.(HLT,SCAFN2,SCAMPI,SOFT,<SCA - Can't complete deferred call to SC.DIS>,,<

Cause: A sysap called SCAMPI at SC.DIS when the connection block was locked.
	Now the connection block is being unlocked, and we are processing the
	request. But SC.OUT has returned failure, indicating that this
	function can't be performed for the current state. There is no way
	to return that failure to the sysap, which believes that the
	disconnection has proceeded normally. We could continue here, but
	we crash in an effort to determine the cause.

Action:	It may be impossible to analyze this from the current data.
	If the ring buffer was enabled, try to determine the sequence of
	events. Look at the current state of the connection block, and try
	to see why SC.OUT failed.

>)


BUG.(HLT,SCAFN3,SCAMPI,SOFT,<SCA - Can't complete deferred call to SC.DRQ>,,<

Cause:	PHYKLP called SCAMPI at SC.DRQ when the connection block was locked.
	At the time, the incoming packet was legal for the current state of
	the connection. Now it is not legal. This shouldn't happen, but we
	don't know how to proceed. We could close the v.c. and continue, but
	we halt in order to analyze the protocol confusion and fix the bug.
>)


BUG.(HLT,SCAIBS,SCAMPI,SOFT,<SCA - Invalid block state>,<<T2,NODE>,<T3,CID>,<T1,BSTATE>>,<

Cause:	Caller to SC.RQS provided block state larger than table (or zero)

Data:	NODE - Node number
	CID - Connect ID
	BSTATE - Block state
>)


BUG.(HLT,SCAIEC,SCAMPI,SOFT,<SCA - Invalid event code for ring buffer entry>,<<T1,FEATURE>,<T2,PC>,<T3,ENTRY>,<T4,JACKET>>,<

Cause:	A bad event code was passed to SC.RHD to be placed in the ring buffer
	header.  This could cause problems since the entry length table is
	indexed by event code.

Action:	Check the caller of SC.RHD, indicated by the jacket routine address
	in T4, to be sure that a valid event code is being placed in 
	T3 before the call.

Data: 	FEATURE - feature routine address
	PC      - PC of caller to feature routine
	ENTRY   - entry code
	JACKET  - jacket routine address
>)


BUG.(HLT,SCAILC,SCAMPI,SOFT,<SCA - Illegal lock count in connection block>,,<

Cause:	The routine to unlock a connection block has found that the count
	is less than 1. Since the caller must have locked the connection
	block earlier, something unexpected has happened.

>)


BUG.(HLT,SCALCC,SCAMPI,SOFT,<SCA - Connection block lock count has changed>,,<

Cause:	The routine to unlock a connection block has found an inconsistency
	in the lock count. Earlier in the routine, the current count was 1.
	Now, after decrementing it, the count is not zero. Some other context
	must have changed it, which should not happen since the locker is
	NOSKED, and interrupt level code doesn't change the lock.
>)


BUG.(HLT,SCALFO,SCAMPI,SOFT,<SCA - SC.LIS received failure from SC.OUT>,,<

Cause:	SC.LIS created a new connection block and then called SC.OUT to
	check its state. The call should never fail.
>)


BUG.(CHK,SCAMCF,SCAMPI,SOFT,<SCA - Message buffer creation failure>,<<T1,ERROR>,<T2,COUNT>>,<

Cause:	SCA detected that the level of buffers maintained was below minimum.
	The attempt to create more message buffers failed.

Data:	ERROR - error code
	COUNT - number of message buffers in SCA's pool
>)


BUG.(CHK,SCAMCR,SCAMPI,SOFT,<SCA - Message buffer count was incorrect>,<<T1,COUNT>,<T2,TOPQ>,<T3,BOTQ>,<T4,BUFNUM>>,<

Cause:	We ran out of message buffers when the count indicated we had enough.

Data:	COUNT  - count of buffers we believed we had
	TOPQ   - pointer to top of message free queue
	BOTQ   - pointer to bottom of message free queue
	BUFNUM - number of buffers requested
>)


BUG.(HLT,SCANBL,SCAMPI,SOFT,<SCA - No buffer for online list>,,<

Cause:	SC.ABF was called to get a buffer for the address list to be used
	to call SYSAPs when a node comes online. Without this list no one will
	ever be told when a node comes online and hence we cannot run.
>)


BUG.(CHK,SCANLC,SCAMPI,SOFT,<SCA - Non-zero lock count at SC.RCB>,<<T1,NODE>,<T2,CID>,<T3,COUNT>>,<

Cause:	SCA is ready to delete a connection block, and its lock count is
	non-zero.

Data:	NODE - Node number
	CID - Connect ID
	COUNT - lock count
>)


BUG.(CHK,SCANLF,SCAMPI,SOFT,<SCA - Notice table full>,,<

Cause:	So many SYSAPs have requested to be notified that nodes come on
	and go off line that the table of notification addresses overflowed.
>)


BUG.(CHK,SCANMB,SCAMPI,SOFT,<SCA - Can't return SCS control message buffer>,<<T1,NODE>>,<

Cause:	A node went offline, and we tried to retrieve two message buffers from
	the port's queue. The port's queue is empty.

Action:	This may happen legitimately, depending on timing. However,
	if it persists, we should stock the port's message free queue more
	generously at system startup.

Data:	NODE - Node number
>)


BUG.(CHK,SCANOC,SCAMPI,SOFT,<SCA - Received packet and connection block doesn't exist>,<<T1,NODE>,<T2,CID>,<T3,OPCODE>>,<

Cause:	An incoming packet's destination CID doesn't match any connection block.
	This may reflect disagreement with another node about the state of
	a previously-existing connection.

Action:	The v.c. will be closed, which will correct the problem.
	If this bug persists, try to determine the events that led to it.
	Use the ring buffer if necessary.

Data:	NODE - Node number
	CID - Connect ID
	OPCODE - Op code
>)


BUG.(HLT,SCANP1,SCAMPI,SOFT,<SCA - CBNPO about to go negative>,,<

Cause:	We are about to decrement the count of queued buffers for a particular
	connection block, but the count is already zero or less.
>)


BUG.(HLT,SCANP2,SCAMPI,SOFT,<SCA - CBNPO about to go negative>,,<

Cause:	We are about to decrement the count of queued buffers for a
	particular connection block, but the count is already zero or less.
>)


BUG.(HLT,SCANP3,SCAMPI,SOFT,<SCA - CBNPO about to go negative>,,<

Cause:	We are about to decrement the count of queued buffers, but the
	count is already zero or less.
>)


BUG.(HLT,SCANPT,SCAMPI,SOFT,<SCA - No page for CID table>,,<

Cause:	SCA called PGRSKD for a page to put its data tables in and
	the call failed. We can do nothing without these tables.
>)


BUG.(CHK,SCANRC,SCAMPI,SOFT,<SCA - Non-zero requeue credit at SC.RCB>,<<T1,NODE>,<T2,CID>,<T3,CREDIT>>,<

Cause:	SCA is ready to delete a connection block, and its requeue credit is
	non-zero. This indicates that a credit_response is still expected.

Data:	NODE - Node number
	CID - Connect ID
	CREDIT - Requeue credit

>)


BUG.(HLT,SCANSB,SCAMPI,SOFT,<SCA - System block has gone away>,<<T2,NODE>>,<

Cause:	SC.DEF found a system block marked as stuck for buffers, but the address
	of the system block is 0

Data:	NODE - Node number
>)


BUG.(CHK,SCANSC,SCAMPI,SOFT,<SCA - Negative system count>,,<

Cause:	SCA was notified of a system's going offline and decremented the count
	of systems currently online. In doing so the count went negative. 
>)


BUG.(CHK,SCAOBB,SCAMPI,SOFT,<SCA - Buffer already exists>,<<T3,NODE>,<T2,BUFFER>>,<

Cause:	A node came online and we already had an outbound buffer for it.
	This field should have been zeroed when the node went offline. Perhaps
	SCAMPI was called twice for node online. The buffer will be lost after
	this.

Data:	NODE - Node number
	BUFFER - Address of connection management buffer
>)


BUG.(CHK,SCAOBI,SCAMPI,SOFT,<SCA - Online before initialization done>,,<

Cause:	A node came online before the initialization of SCA was completed.
>)


BUG.(HLT,SCAODI,SCAMPI,SOFT,<SCA - Overly decremented CI interlock>,,<

Cause:	A CION was done when no previous CIOFF had occurred. This would lead to
	an overly-decremented lock.

Action:	If you are unable to determine how this happened, turn on the ring
	buffer tracing of interlocks. (Do this by setting RPITRN in RINGSW.)
	It should be possible to pair each CION with a preceding CIOFF.
	Note that these calls are invoked from several CI-related modules.
>)


BUG.(CHK,SCAOF2,SCAMPI,SOFT,<SCA - Offline twice for a node>,<<T1,NODE>>,<

Cause:	SC.ERR was called when a system block was already flagged as offline.
	While this won't cause an immediate problem, it does indicate some
	sort of internal confusion and should be investigated.

Data:	NODE - Node number
>)


BUG.(CHK,SCAONS,SCAMPI,SOFT,<SCA - Online when stuck on buffers>,<<T3,NODE>>,<

Cause:	A node came online while stuck on buffers. This should have been cleared
	up when the node went offline.

Action:	Determine whether PHYKLP is calling twice with the same node.
	If not, something has probably clobbered the flags word for this
	system block.

Data:	NODE - Node number
>)


BUG.(CHK,SCAOWJ,SCAMPI,SOFT,<SCA - Online when work queue exists>,<<T3,NODE>>,<

Cause:	A node came online while its work queue still contained entries. THis
	should have been cleaned up when the node went offline.

Data:	NODE - Node number
>)


BUG.(CHK,SCAOWL,SCAMPI,SOFT,<SCA - Online when connection block still locked>,<<T3,NODE>,<T1,COUNT>>,<

Cause:	Node came online while a connection block was still locked. We should 
	not have closed the v.c. until this count was zero.

Data:	NODE - Node number
	COUNT - Lock count for connection block
>)


BUG.(CHK,SCAPCC,SCAMPI,SOFT,<SCA - Protocol complete set and connect state not closed>,<<T2,NODE>,<T1,CID>,<T3,CSTATE>,<T4,CALLER>>,<

Cause:	A call was made to SC.PTC to indicate that the protocol was complete.
	When this happens, the connect state should be closed.  It was not.

Data:	NODE   - Node number
	CID    - Connect ID
	CSTATE - Connect state
	CALLER - Address of caller to SC.PTC
>)


BUG.(CHK,SCAPER,SCAMPI,SOFT,<SCA - Protocol error>,<<T1,NODE>,<T2,CID>,<T3,OPCODE>,<T4,STATE>>,<

Cause:	An incoming message violated the SCS protocol. That is, for the current
	state of a connection, this message is illegal. We close the v.c., which
	will eliminate any confusion.

Action:	If this persists, change it to a BUGHLT, and determine the sequence of
	events that led to it. Use the ring buffer if necessary.

Data:	NODE - Node number
	CID - Connect ID at this node
	OPCODE - Op code of incoming packet
	STATE - state of connection
>)


BUG.(INF,SCARAP,SCAMPI,SOFT,<SCA - Ring buffer has wrapped>,,<

Cause:	The ring buffer has overflowed and has wrapped upon itself.
	The entries at the top are now being overwritten and will be lost.
>)


BUG.(CHK,SCARBS,SCAMPI,SOFT,<SCA - Reap bit is set when block state is non-zero>,<<T1,NODE>,<T2,CID>>,<

Cause:	A connection block is marked as waiting to send a request message, but
	it also is marked as reapable. The reapable bit should be set only when
	there is no need to send further requests.

Action:	The message is not sent, and the block is deleted. If the
	problem persists, use the ring buffer to trace the events leading
	to it.

Data:	NODE - Node number
	CID - Connect ID at this node
>)


BUG.(CHK,SCARTO,SCAMPI,SOFT,<SCA - Reap timed out>,<<T2,NODE>,<T1,CID>,<T3,STATE>,<T4,COUNT>>,<

Cause:	A block that is reapable cannot be reaped because the count of
	outstanding packets is non-zero or a debugging check has failed. After
	several postponements, these were not corrected. Now the block is being
	deleted.

Action:	If COUNT is non-zero, see if the CI-20 was reloaded recently.
	Buffers can be lost legitimately when this happens.

Data:	NODE - Node number
	CID - Connect ID at this node
	STATE - Block state
	COUNT - Contents of CBNPO (number of queued messages or datagrams)
>)


BUG.(INF,SCASBN,SCAMPI,SOFT,<SCA - Block state already non-zero>,<<T3,NODE>,<T4,CID>,<T2,OLDSTA>,<T1,NEWSTA>>,<

Cause:	Trying to set a connection's block state, we found it already non-zero.
	This can happen legitimately under some conditions.

Action:	If the old state is anything except CREDIT_PEND, something is wrong.
	Try to trace the events that led to this, using the ring buffer if
	necessary.

Data:	NODE - Node number
	CID - Connect ID
	OLDSTA - existing block state
	NEWSTA - state we're trying to set
>)


BUG.(HLT,SCASCQ,SCAMPI,SOFT,<SCA - Can't get connection management buffers>,<<T1,ERROR>>,<

Cause:	SCA has been notified of a new system's coming online. It tried
	to allocate two buffers to be used for connection management, and
	failed. This indicates that a large number of buffers have been
	allocated at interrupt level, and the process that creates more 
	hasn't run recently.

Action:	With some work, it would be possible to recover from this
	by deferring buffer allocation to process context. Meanwhile, try
	to find out why buffers are being used so rapidly, or why job 0
	is not running.

Data:	ERROR - error code from allocation routine

>)


BUG.(CHK,SCATMO,SCAMPI,SOFT,<SCA - SCA timed out remote node>,<<T2,NODE>,<T1,TIME>>,<

Cause:	SCA sent a message to another node, and did not receive a response
	within a timeout period.

Action:	This happens legitimately if a node crashes. If this timeout
	is occurring for nodes that appear to be running, try to determine
	why they are not communicating.

Data:	NODE - Node number
	TIME - time since we sent timed message
>)


BUG.(HLT,SCATQF,SCAMPI,SOFT,<SCA - Trace of free queue detected inconsistency>,,<

Cause:	The trace of the message or datagram free queue resulted in a count
	which was not equal to the known value which SCA keeps.
>)


BUG.(CHK,SCAUCF,SCAMPI,SOFT,<SCA - Unexpected credit field in credit_request>,<<T1,NODE>,<T2,CID>>,<

Cause:	The response to a positive credit_request contains a credit value that
	is different from what we thought we'd sent.

Data:	NODE - Node number
	CID - Connect ID
>)


BUG.(CHK,SCAUXR,SCAMPI,SOFT,<SCA - Unexpected response>,<<T1,NODE>,<T2,CID>,<T3,OPCODE>,<T4,EXPECT>>,<

Cause:	A connection management response arrived for a particular
	connection, but the op code is not the one we were expecting.

Action:	The v.c. will be closed, on the assumption that the other node
	violated protocol. This may correct the confusion. If this error
	persists, try to determine the events that led to it. Use the
	ring buffer if necessary.

Data:	NODE - Node number
	CID - Connect ID
	OPCODE - Op code of incoming packet
	EXPECT - Expected op code for this connection
>)


BUG.(HLT,SCDUUO,SCHED,HARD,<UUO IN SCHEDULER>,,<

Cause:	An illegal instruction has been executed while in
	the scheduler's context. Since the scheduler's PSB
	is only a prototype PSB and UPT, allowing this MUUO
	to behave like others results in bizarre errors
	that mask the original problem. This BUGHLT should
	be analyzed like an ILLUUO.

Action:	Most likley a software bug. Analyze this like any other
	ILLUUO.

>)


BUG.(HLT,SCPT01,PAGEM,SOFT,<SCNPT - ENTRY IS NOT AN IMMEDIATE POINTER>,,<

Cause:	A routine has been called to release all pages to which a specified
	page table points. The caller must ensure that all pointers
	are immediate pointers to core with no disk backup. The BUGHLT
	indicates that a pointer was not an immediate pointer.
>)


BUG.(HLT,SCPT02,PAGEM,HARD,<SCNPT - PAGE WAS NOT DELETED>,,<

Cause:	A routine has been called to release all pages to which a specified
	page table points. The caller must ensure that all pointers
	are immediate pointers to core with no disk backup. The BUGHLT
	indicates that a page had backup on disk.
>)


BUG.(HLT,SCSA2M,SCSJSY,SOFT,<SCSJSY: Attempt to map second PSB>,<<MPSFRK,OWNFRK>,<T1,CURFRK>>,<

Cause:	Some routine mapped a PSB but did not release it, or did not use the 
	correct interlock. The net result was that we are trying to map another
	PSB while we still have the first one mapped. MPSFRK contains the 
	number of the fork that did the first map, T1 ontains the fork doing 
	the second lock.
>)


BUG.(CHK,SCSABF,SCSJSY,SOFT,<SCSJSY: Connection abort failure on fork delete>,<<T1,ERRCOD>>,<

Cause:	During the deletion process for a fork we tried to abort the 
	connections it had open. We failed in the attempt. 
>)


BUG.(INF,SCSACF,SCSJSY,SOFT,<SCA: A JSYS call to ASGRES failed>,<<T1,ERRCOD>,<T2,CALLPC>>,<

Cause:	A call to ASGRES (by the JSYS) has failed. With the error code and 
	callers PC given by the BUGINF, figuring out why it failed should
	be easy enough...
>)


BUG.(CHK,SCSBDE,SCSJSY,SOFT,<SCA: BAD ENTRY TYPE FOUND>,<<T2,TYE>,<T1,BLKADR>>,<
Cause: An illegal type of message buffer was attempted to be returned.
       it is now lost.
>,PSINXT)


BUG.(CHK,SCSBIZ,SCSJSY,SOFT,<SCSJSY: Maintainance data transfer Q smashed>,<<T1,ERRCOD>>,<

Cause:	A routine which should not return (+1), did. The error code is in T1.
>)


BUG.(CHK,SCSCDC,SCSJSY,SOFT,<SCSJSY: Cannot delete connect block from fork queue>,<<T1,ERRCOD>>,<

Cause:	We tried to remove a connect block from the owning fork's list of 
	connect blocks. T1 contains why this did not succeed. The most likely
	failure is a +1 return from SCSMPS. This fails only when we map a
	PSB but do not unmap it.
>,R)


BUG.(CHK,SCSCFB,SCSJSY,SOFT,<SCSJSY: Can't find maintainance buffer name>,<<T2,BFRNAM>>,<

Cause:	SCA called us with a buffer name for a completed maintainance data 
	transfer. Upon trying to find this name in the database of outstanding 
	JSYS maint xfers, no match was found. The fork which performed the 
	maint data xfer request will never be notified of the completion of 
	the request.

Action: Try to find the buffer name in the port driver database of BSD/BHD's
	and see if this is a valid buffer name. If so, check the consistancy
	of the SCA maint Q. Other than this, not much can be done...
>)


BUG.(INF,SCSDGL,SCSJSY,SOFT,<SCSJSY: User packet address lost>,<<T1,ERRCOD>,<FORKX,CURFRK>,<JOBNO,CURJOB>>,<

Cause:	In trying to link a packet buffer back onto the datagram queue after
	determining we could not continue, we failed.

Action:	None. The fork will have lost a datagram, but the fork shoudl not hang 
	and when the fork goes away so does the problem.
>)


BUG.(CHK,SCSNOI,SCSJSY,SOFT,<SCA: SCS% cannot receive node online/offline interrupts>,,<

Cause:	SCA has told the JSYS SYSAP that there are to many SYSAPs and the JSYS
	is not allowed to see online/offline interrupts. The system can run
	but many diagnostics will get upset as will anything that uses the 
	JSYS.
>)


BUG.(CHK,SCSPBF,SCSJSY,SOFT,<SCSJSY: PSI block build failure>,<<T1,ERRCOD>>,<

Cause:	The routine to build an event block failed. The error code is in T1.
	It is very likely that ASGRES did not have the space available.
>,ONTLOP)


BUG.(INF,SCSQEB,SCSJSY,SOFT,<SCSJSY: Event block linking failure>,<<T1,ERRCOD>,<FORKX,CURFRK>,<JOBNO,CURJOB>>,<

Cause:	After detecting an error while fetching an event for the user, we 
	failed to relink the event back onto the event queue.

Action:	None. This will not hang the fork, and when the fork goes away so does
	the problem. When you see this BUGINF, the offending fork has lost
	an event...
>)


BUG.(INF,SCSUBL,SCSJSY,SOFT,<SCSJSY: User buffer lost during error recovery>,<<T1,ERRCOD>,<T2,CURFRK>,<T3,BUFADR>>,<

Cause:	Bad access to user memory or a failing routine caused SCS to try to 
	place the currently owned user buffer back on the buffer list. The
	attempt failed and the buffer address has been lost. Note that there
	is no memory loss, the monitor has just forgotten one user buffer
	address.
>)


BUG.(CHK,SEBINT,MEXEC,SOFT,<UNEXPECTED INTERRUPT IN SYSERR PROCESS>,<<ITFPC,ITFPC>,<LSTERR,LSTERR>>,<

Cause:	An unexpected error has occurred in the process which handles
	error logging.  The error handler will attempt
	to reinitialize the context and resume processing.  The
	stack may be examined for an indication of where the error
	occurred.

Data:	1. PC when error occurred.
	2. Last error code in fork.
>)


BUG.(CHK,SEBISS,SYSERR,HARD,<SEBCPY-INSUFFICIENT STRING STORAGE IN BLOCK>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,SEBUDT,SYSERR,HARD,<SEBCPY-UNKNOWN DATA TYPE>,<<T1,D>,<T4,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,SEC0FS,FREE,SOFT,<ASGRES CALLED FROM SECTION 0>,<<T4,PC>>,<

Cause:	A routine in FREE that provides free space in a non-zero section
	was called from section 0. This is dangerous because the routine
	returns a 30-bit address, and the caller will probably use the
	address in an index register, thus losing the section number.

Action:	It is essential that any code that references a non-zero section
	run in a non-zero section. The long-term solution is to study the
	entire stack and make all the code run in section 1. For the short
	term, it may be possible to insert an EA.ENT at the beginning of
	the routine that called ASGRES. Note that this may lead to other
	problems, including slower performance and ILMNRF BUGHLT's.

Data:	PC - the PC from which ASGRES was called

>)


BUG.(HLT,SEC0RL,FREE,SOFT,<RELRES CALLED FROM SECTION 0>,<<T4,PC>>,<

Cause:	A routine in FREE that releases free space was called from section
	0 with an address of free space in a non-zero section. This probably
	means that the caller should be running in a non-zero section, since
	any attempt to reference the free space would fail.

Action:	It is essential that any code that references a non-zero section
	run in a non-zero section. The long-term solution is to study the
	entire stack and make all the code run in section 1. For the short
	term, it may be possible to insert an EA.ENT at the beginning of
	the routine that called RELRES. Note that this may lead to other
	problems, including slower performance and ILMNRF BUGHLT's.

Data:	PC - the PC from which RELRES was called

>)


BUG.(HLT,SECEX1,PAGEM,SOFT,<SETMPG-ATTEMPT TO MAP NON-EX SECTION>,,<

Cause:	A routine has been calld to modify a process's map for one
	or more pages. A virtual address was provided. The caller is
	expected to provide a valid address. The BUGHLT indicates that
	a section that does not exist in the process's map was
	specified.
>)


BUG.(CHK,SERFOF,MEXEC,HARD,<CANNOT OPENF ERROR REPORT FILE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,SERFRK,SYSERR,HARD,<SERINI-CANNOT CREATE SYSERR FORK>,,<

Cause:	The cause of this BUGHLT is that Job 0 was unable to create a
	SYSERR fork.  The specific JSYS that fails is the CFORK JSYS,
	and the dump should have the reason for the failure.  Look at
	LSTERR to determine the reason the CFORK failed.

Action:	The action needed to remedy this problem depends on the error returned
	by CFORK.  Look at that code and try to determine how to
	undo what it is complaining about.


>)


BUG.(CHK,SERGOF,SYSERR,HARD,<SETOFI-CANNOT GTJFN/OPEN SYSERR FILE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,SETSPF,DTESRV,SOFT,<SETSPD FAILED TO RUN CORRECTLY AFTER FE RELOAD>,,<

Cause:	SETSPD failed to run correctly after a FE reload. The cause
	is not known. Report this bughlt to software engineering.

>)


BUG.(HLT,SHRNO0,PAGUTL,SOFT,<DESPT-SHARE COUNT NON-ZERO>,,<

Cause:	The monitor is attempting to deassign a slot in the non-OFN
	part of the SPT tables. The caller is expected to have ensured
	that the SPT slot is no longer in use. The BUGHLT indicates
	that the share count for the SPT slot is non-zero, indicating
	that some process is using the slot.
>)


BUG.(HLT,SHROFD,PAGUTL,SOFT,<DWNSHR-OFN SHARE COUNT UNDERFLOW>,,<

Cause:	A routine has been called to decrement the share count for
	an OFN. The BUGHLT indicates that the count was already 0.
>)


BUG.(HLT,SHROFN,PAGUTL,SOFT,<UPSHR-OFN SHARE COUNT OVERFLOW>,,<

Cause:	The share count for an OFN has been incremented beyond the
	maximum value. It should not be possible for a user program
	to cause this.
>)


BUG.(HLT,SKDCL1,SCHED,HARD,<CALL TO SCHEDULER WHEN ALREADY IN SCHEDULER>,,<

Cause:	Code running in scheduler context has attempted to dismiss, block
	or page fault thereby trying to enter scheduler context again.
	This might result from an unexpected page fault or faulty logic,
	i.e. the code doing the dismiss was not expected to be run
	in scheduler context.

>)


BUG.(HLT,SKDFKS,SCHED,HARD,<ILLEGAL SCHEDULER ACTION WHILE FORK CONTEXT SETUP>,,<

Cause:  The scheduler was about to perform an action that requires that no fork
	context is setup. The monitor found that FORKX was non-negative which
	indicates that fork context was setup.

Cure:	Change the monitor to call DISMSJ before callint the offending
	routine or move the call to a more appropriate place. CLK2 always
	forces DISMSJ and is usually a good place for periodic actions.
>)


BUG.(HLT,SKDMPE,APRSRV,HARD,<MPE IN SCHEDULER OR PI CONTEXT>,,<

Cause:	A page fault occurred indicating an AR or ARX parity error
	while the monitor was processing an interrupt or running
	the scheduler. This BUGHLT occurs regardless of whether the
	error is repeated when the reference is retried or not.
	The monitor has printed a description of the problem on the CTY.
	A SYSERR block has been created and will be placed in the
	SYSERR file when the monitor is rebooted.
>)


BUG.(HLT,SKDPF1,APRSRV,SOFT,<PAGE FAIL IN SCHED CONTEXT>,<<T1,UPTPFW>,<T2,TRAPPC>,<T3,TRAPFL>>,<

Cause:	A page fault occurred while the monitor was running in scheduler
	context, and the page fail word did not indicate a "hard"
	failure. This is probably a software bug because the
	scheduler executes only resident code.  One cause of this failure is a
	reference to a piece of swappable code or data that is not currently in
	memory. The flags and PC are in TRAPFL and TRAPPC; UPTPFW contains
	the page fail word.

Action:

Data:	UPTPFW - Page fail word
	TRAPPC - The PC of the instruction that caused the page fault
	TRAPFL - The PC flags of the instruction that caused the page fault

>)


BUG.(HLT,SKDTRP,SCHED,HARD,<INSTRUCTION TRAP WHILE IN SCHEDULER>,<<KIMUPC,PC>,<LSTERR,LSTERR>,<LSTIPC,ERRPC>>,<

Cause:	An error occurred, resulting in an illegal instruction
	trap. If a JSYS is being executed by the monitor, the
	process normally receives an error return when this happens.
	However, in this case the error occurred in the scheduler,
	and there is no recovery.

Data:	1. PC of last MUUO.  This may or may not be relevant.
	2. Last error code.  This may indicate where error was generated.
	3. PC where ITRAP was called.

>)


BUG.(CHK,SMGFUL,PAGEM,SOFT,<Can't swap multiple pages (drum is full)>,,<

Cause:	The monitor is attempting to swap a group of core page to the
	drum. There is no space available.  The general handling
	of drum assignments should insure that there are always a
	few pages available for "critical" assignments such as
	this case. It is possible that some pathological user
	program could overtax the normal reserves and so cause this
	failure.
>)


BUG.(CHK,SNPIC,JSYSA,SOFT,<SNPFN3: INSTRUCTION BEING REPLACED HAS CHANGED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,SNPLKF,JSYSA,SOFT,<SNPFN0: CANNOT LOCK DOWN PAGE INTO MONITOR>,,<

Cause:	The .SNPLC function of the SNOOP JSYS was trying to lock pages
	from the user address space into the monitor address space.
	It called the SETIOP routine in PAGEM to do this, and SETIOP
	returned +1 indicating failure.

>)


BUG.(CHK,SNPODB,JSYSA,SOFT,<SNPF4C: COUNT OF INSERTED BREAK POINTS OVERLY DECREMENTED>,,<

Cause:	The .SNPRB function of the SNOOP JSYS was removing breakpoints,
	and the number of breakpoints in the linked list was greater
	than the breakpoint count.

>)


BUG.(CHK,SNPUNL,JSYSA,SOFT,<SNPF5A: CANNOT UNLOCK SNOOP PAGE>,,<

Cause:	The .SNPUL function of the SNOOP JSYS received a failure
	return from the SETIOP routine in PAGEM while trying to unlock
	a page that was locked with the .SNPLC function.

>)


BUG.(HLT,SPGNLK,PAGEM,SOFT,<SPHYPG - Page not locked>,<<T2,PAGE>>,<
Cause:	SPHYPG or SPHYPT requires a locked physical page to map.
	The argument given is either not a physical core page or
	is not locked.

Data:	T2 - Offending argument.
>)


BUG.(INF,SPRZR1,SYSERR,SOFT,<SEBCHK: - SPRCNT WENT TO ZERO>,,<>)


BUG.(INF,SPRZRO,JSYSA,SOFT,<SETSPR - SPRCNT WAS SET TO ZERO>,,<>)


BUG.(HLT,SPSCHF,PAGEM,SOFT,<SPSCH - DESTINATION IS FILE>,<<T1,ID>>,<
Cause:	A file page identifier has been passed to SPSCH as the destination
	page.

Data:	T1 - OFN.PN of offending identifier.
>)


BUG.(HLT,SPTFL1,PAGUTL,SOFT,<SPT COMPLETELY FULL>,,<

Cause:	The monitor is attempting to assign to a process a slot in the
	non-OFN part of the SPT tables. Normally a linked list points to
	the free slots. The header is now 0, indicating either that there
	is confusion in the list or there is not available slot. The
	monitor normally protects aginst this event by refusing to
	assign additional SPT slots when the available number falls
	below a fixed minimum. This BUGHLT indicates a failure of
	this mechianism or corruption of the free list.
>)


BUG.(HLT,SPTFL2,PAGEM,SOFT,<SPT COMPLETELY FULL>,,<

Cause:	A routine has been called to change the map for a page of a
	process. The page is being mapped to a file page that is not
	already shared. The code is going to create an entry for the
	file page in the SPT so that the destination can have a
	share pointer. The choice of a share pointer over an indirect
	pointer was made because the count of available SPT slots
	exceeded a threshold. The BUGHLT occurred because the head
	of the queue of free SPT slots contains a zero, indicating
	that there are no free slots. This means that there is an
	inconsistency in the monitor's data.
>)


BUG.(HLT,SPTHNZ,PAGUTL,SOFT,<SPTH flags non-zero and address zero>,,<

Cause:	The monitor is scanning SPTH for OFN entries to mark.  It assumes that 
	when the address is zero, the flag bits will be also.  For this OFN
	entry the flag bits were non-zero but the address was zero.
>)


BUG.(HLT,SPTPIC,PAGEM,SOFT,<SWPIN - SPT PAGE ALREADY IN CORE>,,<

Cause:	A routine has been called to swap a page into core. The id for
	the page indicates that it is a page table. The BUGHLT
	occurred because the SPT
	entry for that page table already contains a core address.
>)


BUG.(HLT,SPTSHR,PAGUTL,SOFT,<UPSHR-SPT SHARE COUNT OVERFLOW>,,<

Cause:	The share count for an SPT slot (not an OFN) has been
	incremented beyond the maximum value. This can be caused
	by a pathological program.
>)


BUG.(CHK,SPUAPR,APRSRV,HARD,<SPURIOUS APR INTERRUPT>,,<

Cause:	An APR interrupt occurred but no condition bit was set.

>)


BUG.(CHK,SPWRFL,APRSRV,HARD,<SPURIOUS POWER FAIL INDICATION>,,<

Cause:	A power-fail indication was given, and the monitor has
	executed its sequence for an orderly power-down. The machine
	is still running after a long delay, so the monitor has
	declared the power-fail warning to be a mistake. The system
	will restart as if power had failed.
>)


BUG.(CHK,SRQBAD,SCHED,HARD,<SCDRQ-BAD CALL TO SCDRQ7>,,<

Cause:	SCDRQ7 has been called with a function it does not know about.

Action:	Fix the call or fix SCDRQ7 to know about this function.

>)


BUG.(HLT,STRBAD,PAGUTL,SOFT,<ASOFN-ILLEGAL STRUCTURE NUMBER>,,<

Cause:	A routine has been called to assign an OFN (index block). The
	caller provided a structure number that was invalid, either
	because that number can never exist, or because it does not
	exist now.
>)


BUG.(CHK,STROFF,MSTR,SOFT,<OFN ON MOUNTED STRUCTURE BUT STRTAB ENTRY IS ZERO>,,<
Cause:	The SPTH table has the N+1 through NOFN number of files on a particular
	structure marked as being on a mounted structure, but the STRTAB entry 
	for this structure is zero. Unknown why the STRTAB entry is set to zero
	before all SPTH entries for the structure are marked as dismounted.

Action:	None. The table should be corrected in a few seconds. However, there may
	be flurry of bugchks, depending upon how many files are open on the 
	structure. If the bugchks persist, check for improperly dismounted
	(and/or spun down) drive. 
	>)


BUG.(HLT,STRTER,MEXEC,soft,<FATAL ERROR WHILE PROCESSING PREVIOUS STARTUP ERROR>,,<

Cause:	When a software channel 34 or 35 interrupt happens on fork
	0, the monitor transfers control to the routine specified in
	MONBK.  This address will often be the starting address of
	JB0INT.  JB0INT handles errors in fork 0.  While JB0INT is doing its
	error recovery, it sets MONBK to J0EMER, so that this STRTER BUGHLT
	will occur if another error happens during JB0INT execution.
>)


BUG.(HLT,STZERO,FILINI,HARD,<FILINI: STRTAB ENTRY FOR PS IS 0>,,<

Cause:	This will happen if the code that is supposed to set up
	the STRTAB entry for PS: was never executed.  If this happens,
	some data has been corrupted.

>)


BUG.(CHK,SUMNR1,SCHED,HARD,<AJBALX-SUMBNR INCORRECT>,<<T3,D>,<T4,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,SUMNR2,SCHED,HARD,<WSMGR-SUMNR INCORRECT>,<<T3,D>,<T4,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,SWDDEL,PAGEM,SOFT,<Swap read complete on a page already deleted>,<<T1,PAGE>>,<

Cause: 	We got a swap read complete but the page home map location in CST2 has 
	been deleted.  This happens when the page is deleted.  The interrupt
	is simply ignored since the page does not exist anymore.

Data:	PAGE - page number

>)


BUG.(CHK,SWEDEL,PAGEM,SOFT,<Swap error on a page already deleted>,<<T1,PAGE>>,<

Cause: 	We got a swap read error but the page home map location in CST2 has 
	been deleted.  This happens when the page is deleted.  The interrupt
	is simply ignored since the page does not exists anymore.

Data:	PAGE - page number

>)


BUG.(CHK,SWPASF,DSKALC,SOFT,<CHKBAT-FAILED TO ASSIGN BAD SWAPPING ADDRESS>,<<T3,STRNAM>,<CKBDRA,ADDR>>,<

Cause:	Swapping address was not assigned due to illegal address or
	already assigned.

Action:

Data:	Sixbit Structure Name, Address to be Assigned

>)


BUG.(CHK,SWPDIR,PAGEM,HARD,<SWAP ERROR IN DIRECTORY PAGE>,<<T1,STRX>>,<

Cause: The monitor detected an error while swapping in a page with the same
OFN as the currently mapped directory. The directory will be marked.

Data:	STRX - Structure number

>)


BUG.(CHK,SWPFPE,PAGEM,HARD,<SWAP ERROR IN SENSITIVE FILE PAGE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,SWPIBE,PAGEM,HARD,<SWAP ERROR IN INDEX BLOCK>,,<

Cause:	A hardware error occurred while the monitor was reading or
	writing an index block either from the file space or
	the swapping area. Future attempts to read this block
	will generate an error. Future attempts to write it may
	produce the same BUGCHK. The page will be marked in the BAT
	blocks.

Action:

>)


BUG.(CHK,SWPJSB,PAGEM,HARD,<SWAP ERROR IN JSB PAGE>,,<

Cause:	A hardware error occurred while the monitor was reading or
	writing a page in a process's per-job area in the swapping
	space. Future attempts to read this page
	will generate an error. Future attempts to write it may
	produce the same BUGCHK. The page will be marked in the BAT
	blocks.
>)


BUG.(HLT,SWPMNE,PAGEM,HARD,<SWAP ERROR IN SWAPPABLE MONITOR>,,<

Cause:	A hardware error occurred when the monitor was reading a
	page of the swappable monitor from the swapping space.
	A SYSERR entry will be created when the monitor is rebooted,
	but the BAT blocks will not be marked.
>)


BUG.(CHK,SWPPSB,PAGEM,HARD,<SWAP ERROR IN PSB PAGE>,,<

Cause:	A hardware error occurred when the monitor was reading or writing
	a page in a process's per-process area to or from the swapping space.
	The monitor will continue to run in an attempt to update the BAT
	blocks, but will crash with a SWPXXX bughlt as soon as the disk has
	been updated.  If the monitor is unable to update the disk (in the case
	of the page having the error is needed to update the bat blocks), the
	system will stop with a J0NRUN bughlt, and the flag indicating that
	a serious swap error exists will be set.
>)


BUG.(CHK,SWPPT,PAGEM,HARD,<SWAP ERROR IN UNKNOWN PT>,,<

Cause:	A hardware error occurred when the monitor was reading or writing
	a page table in the swapping space. The monitor is unable to
	identify the page table.
	The monitor will continue to run in an attempt to update the BAT
	blocks, but will crash with a SWPXXX bughlt as soon as the disk has
	been updated.  If the monitor is unable to update the disk (in the case
	of the page having the error is needed to update the bat blocks), the
	system will stop with a J0NRUN bughlt, and the flag indicating that
	a serious swap error exists will be set.
>)


BUG.(CHK,SWPPTP,PAGEM,HARD,<SWAP ERROR IN UNKNOWN PT PAGE>,,<

Cause:	A hardware error occurred when the monitor was reading or writing
	a page from the file system or swapping space. The monitor is
	unable to identify the owning page table.
	The monitor will continue to run in an attempt to update the BAT
	blocks, but will crash with a SWPXXX bughlt as soon as the disk has
	been updated.  If the monitor is unable to update the disk (in the case
	of the page having the error is needed to update the bat blocks), the
	system will stop with a J0NRUN bughlt, and the flag indicating that
	a serious swap error exists will be set.
>)


BUG.(CHK,SWPSTL,PAGUTL,SOFT,<SWAP SPACE TOO LOW AT STARTUP>,<<T1,SWPSIZ>,<T2,MEMSIZ>>,<

Cause:	Insufficient swap space has been allocated for reasonable
	operation.  The swapping space should be at least 4 times
	the size of main (MOS/core) memory.
>)


BUG.(CHK,SWPUPT,PAGEM,HARD,<SWAP ERROR IN UPT, OR PSB>,,<

Cause:	A hardware error occurred when the monitor was reading or
	writing a special page (PSB, JSB or user page table) in
	the swapping space.
	The monitor will continue to run in an attempt to update the BAT
	blocks, but will crash with a SWPXXX bughlt as soon as the disk has
	been updated.  If the monitor is unable to update the disk (in the case
	of the page having the error is needed to update the bat blocks), the
	system will stop with a J0NRUN bughlt, and the flag indicating that
	a serious swap error exists will be set.
>)


BUG.(HLT,SWPXXX,DSKALC,HARD,<UNRECOVERABLE SWAP ERROR FOR CRITICAL PAGE>,,<

Cause:	The monitor had a swap error for a PSB, PT, PTP, or UPT.
	At the time of the error, a BUGCHK reported the problem,
	and allowed the system to continue to record the error in
	SYSERR, and rewrite the BATBLOCK.

>)


BUG.(CHK,SYENCD,SYSERR,SOFT,<SYSERR - MISSING CODE FOR ERROR TYPE>,,<
Cause: User forgot to supply a code type for the error entry

Action: Don't make an entry since it will mess up the error file.
>)


BUG.(CHK,SYSERF,MEXEC,HARD,<LOGSST-NO SYSERR STORAGE FOR RESTART ENTRY>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,TCPJS1,TCPTCP,SOFT,<RETJCN: JCN out of range>)


BUG.(CHK,TCPJS3,TCPTCP,SOFT,<CHKJCN: TCB ownership screwed up>)


BUG.(CHK,TCPJS4,TCPTCP,SOFT,<ABTJCN: TCP Conn not owned by aborting job>)


BUG.(CHK,TCPMSX,TCPTCP,SOFT,<XFRDAT: Byte size screwed up>)


BUG.(CHK,TM2CCI,PHYM2,HARD,<PHYM2 - TM02 SSC OR SLA WONT CLEAR>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,TM2HER,PHYM2,HARD,<TM2ERR - IS.HER SET ON SUCCESSFUL RETRY>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,TM2IDM,PHYM2,HARD,<PHYM2 - ILLEGAL DATA MODE AT DONE INT>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,TM2IDX,PHYM2,HARD,<PHYM2 - ILLEGAL RETRY BYTE POINTER>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,TM2IF2,PHYM2,HARD,<PHYM2 - ILLEGAL FUNCTION ON COMMAND DONE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,TM2IRF,PHYM2,HARD,<PHYM2 - ILLEGAL FUNCTION DURING RETRY>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,TM2N2S,PHYM2,HARD,<PHYM2 - MORE DRIVES THAN TABLE SPACE, EXCESS IGNORED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,TM2NUD,PHYM2,HARD,<PHYM2 - CHANNEL DONE INTERRUPT BUT NO UNIT ACTIVE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,TM2RFU,PHYM2,HARD,<PHYM2 - ERROR RECOVERY CONFUSED>,<<T1,D>,<Q1,D>,<T3,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,TM2UNA,PHYM2,HARD,<PHYM2 - DONE INTERRUPT AND UDB NOT ACTIVE>,<<Q1,D>,<P3,D>,<T1,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,TM8AEI,PHYM78,HARD,<PHYM78 - ASYNCHRONOUS ERROR INTERRUPT>,<<T1,ICODE>,<T2,CHANNEL>,<T3,CONTROLLER>>,<

Cause:	The TM78 gave an asynchronous error interrupt.

Action:	None. The TM78 has been cleared and restarted.

Data:	ICODE/ The interrupt code associated with this interrupt
>)


BUG.(INF,TM8N2S,PHYM78,HARD,<PHYM78 - MORE DRIVES THAN TABLE SPACE, EXCESS IGNORED>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,TM8NUD,PHYM78,HARD,<PHYM78 - CHANNEL DONE INTERRUPT BUT NO UNIT ACTIVE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,TM8REW,PHYM78,HARD,<PHYM78 -SPURIOUS REWIND INTERRUPT>,<<T2,CHANNEL>,<T3,CONTROLLER>>,<

Cause:	The TM78 gave a spurious rewind interrupt.

Action:	None. The TM78 has dismissed the interrupt. If persistent,
	notify field service.

Data:	T2 - CHANNEL NUMBER
	T3 - CONTROLLER NUMBER
>)


BUG.(CHK,TM8SNS,PHYM78,HARD,<CAN'T SENSE TU78 STATUS>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,TRPSIE,SCHED,HARD,<NO MONITOR FOR TRAPPED FORK>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,TTBAD1,MEXEC,soft,<BAD DEVICE DESIGNATOR FOR TERMINAL AT ATACH2>,,<

Cause:	The call to CHKDES failed.  This should not happen, since the terminal
	number involved comes from Q3, which is either the number of terminal
	controlling the job, or a user-supplied terminal number from the user's
	AC4.  If a user-supplied number is being used, it was range-checked by
	comparing it to NLINES.  If it is the number of the controlling
	terminal, the job was already verified to be attached somewhere, so
	this BUGHLT should not occur.
>)


BUG.(HLT,TTDAS1,SCHED,HARD,<HLTJB: UNABLE TO DEASSIGN CONTROLLING TERMINAL>,,<

Cause:	The monitor is killing the last (top) fork in a job and is trying to
	deassign the job's controlling terminal.  The attempt has failed for an
	unexpected reason (one that will not be corrected if the fork waits a
	while).  This indicates inconsistency in the monitor's data base.

>)


BUG.(INF,TTFSMS,MEXEC,SOFT,<Failed to send system message>,,<

Cause: Most likely reason for failure is that RSX20F
cannot complete the previous TTMSG request. Typically this
is caused by a hung DH11 line, but could be a software bug
as well.
>)


BUG.(HLT,TTICN0,TTYSRV,SOFT,<TCI - NO BUFFER POINTER BUT COUNT NON-0>,,<

Cause:	At TCI0 (get a character from the line's input buffer) the pointer to
	the dynamic data base for the line was 0.  This could either be a
	coding error or the resident table containing the pointers was
	clobbered.

Action:	Look at the dump.  The stack should indicate which routine called
	TCI0 without the pointer.

>)


BUG.(CHK,TTILEC,TTYSRV,HARD,<TTSND-UNRECOGNIZED ESCAPE CODE>,<<2,D>,<3,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,TTLOKB,TTYSRV,SOFT,<BAD TTY LOCK IN TTLCK>,,<

Cause:	The monitor tried to lock a tty line and discovered the lock
	count was overdecremented.

>)


BUG.(CHK,TTNAC1,FILMSC,HARD,<LINE NOT ACTIVE AT PTYOPN>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,TTNAC3,DSKALC,HARD,<CTY NOT ACTIVE AT FSIPBO>,,<

Cause:	The monitor tried to write to the CTY, but the CTY was not available to
	output a character.  The line is not active.

Action:	Call Digital Field Service.

>)


BUG.(HLT,TTNAC4,DSKALC,HARD,<CTY NOT ACTIVE AT FSIPBI>,,<

Cause:	CTY was not available to read in a character.

Action:	Call Digital Field Service.

>)


BUG.(HLT,TTNAC5,DSKALC,HARD,<CTY NOT ACTIVE AT FSIINI>,,<

Cause:	While mounting the public structure, the monitorfound ithad no CTY on
	which to output information.

Action:	Call Digital Field Service.

>)


BUG.(CHK,TTNAC7,TTYSRV,HARD,<DEALLOCATING INACTIVE LINE>,<<T2,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,TTNAC8,DEVICE,SOFT,<CANNOT ASSIGN TERMINAL AT DEVINI>,,<

Cause:	The monitor could not assign a terminal to a job because
	    1.  Failed to get resident storage
	    2.  Line is not fully active; it is okay for system messages
		and sendalls.  Need a CNTRL/C on line.
	    3.  Programming error

Action:

>)


BUG.(HLT,TTONOB,TTYSRV,SOFT,<TTY OUTPUT - NO BUFFER BUT COUNT NON-0>,,<

Cause:	At TTSND7 (send a character to a line) the pointer to the
	line's data base was 0.  This is either a coding error or the resident
	table containing the pointers was clobbered.

Action:	Look at the dump.  The stack should indicate which routine
	made the call without a pointer.

>)


BUG.(CHK,TTQADX,TTYSRV,SOFT,<TTYSRV-UNKNOWN FUNCTION REQUESTED>,<<T3,ADR>>,<

Cause:	TTQAD has been called with a routine address which is not
	in its local table of known routines.

Action:	Look at the stack to find the call to TTQAD, then find
	the name of the routine being passed and add it to the TQFNT
	table.
>)


BUG.(CHK,TTULKB,TTYSRV,HARD,<BAD TTY UNLOCK IN ULKTT>,,<

Cause:	The monitor tried to unlock the tty and it was allready
	unlocked.
>)


BUG.(CHK,TTYBBO,TTYSRV,HARD,<TTYSRV-BIG BUFFER OVERFLOW>,,<

Cause:	The buffer for incoming TTY characters was full.  (The character
	was discarded and the line XOFFed.)

Action:

>)


BUG.(CHK,TTYNTB,TTYSRV,HARD,<RAN OUT OF TTY BUFFERS>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,TTYSTP,TTYSRV,HARD,<TTYSRV - LINE HAS BEEN SHUT OFF BECAUSE OF EXCESSIVE INPUT RATE>,<<T2,LINE>>,<

Cause:	A terminal line on RSX20F is generating input at an excessive
	rate.  It is being shut off for 3 seconds by having its input
	speed set to 0.

Diagnosis: This can result from a noisy line which has a high input
	baud rate.  If an EIA line, it may be too long and so
	picks up electrical noise.  This problem can be prevented
	by eliminating the noise or reducing the input speed.

>)


BUG.(HLT,TVTNTV,TTYSRV,SOFT,<TVTCHK called with non-TVT>)


BUG.(HLT,TWQNUL,PHYSIO,HARD,<PHYSIO - PWQ OR TWQ WAS NULL AT A SEEK OR TRANSFER COMPLETION>,,<

Cause:	When IO completed on a unit, either OFFTWQ or OFFPWQ was called to
	remove the current IORB from the position wait queue or the transfer
	wait queue.  The error occured because the queue was empty.
>)


BUG.(HLT,UBANXM,PAGEM,SOFT,<I/O NMX FROM UNIBUS DEVICE>,<<UPTPFW,PFW>,<UPTPFO,PC>>,<

Cause:	The monitor tried to reference a non-existent device on the
	UNIBUS. This BUGHLT occurs only on the 2020.
>)


BUG.(HLT,UIONIR,PHYSIO,HARD,<UDSKIO - NO IORB FOR NOSKED FORK>,,<

Cause:	The routine UDSKIO was called to do special IO for a fork,
	and to do the IO it uses one of a group of preallocated IORBs.
	But there were no free IORBS left, and the fork could not
	block because it was NOSKED.
>)


BUG.(CHK,ULKBAD,TTYSRV,HARD,<UNLOCKING TTY WHEN COUNT IS ZERO>,<<T2,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,ULKINT,FUTILI,SOFT,<LOCK BEING UNLOCKED WHILE OKINT>,<<T1,LOCK>,<T2,CALLER>>,<

Cause:	A routine is unlocking a lock while OKINT.

Action:	Make the process be NOINT for the duration of the lock being locked

Data:	Caller's address in T2, Lock index and flags in T1

>)


BUG.(CHK,ULKSTZ,FUTILI,HARD,<OVERLY DECREMENTED STRUCTURE LOCK>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,UNBFNF,SCHED,HARD,<UNBLK1 - FORK NOT FOUND>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,UNFWSS,PHYSIO,SOFT,<UNIT NOT FOUND CREATING SDB FOR STRUCTURE>,,<

Cause:	The routine SETSTR was called to build an SDB for a structure.
	One of its arguments is the channel, controller, and unit numbers
	of a unit which had already been known to exist.  But when the
	routine CHKCKU was called to find the UDB of the unit, the routine
	failed to find the unit.
>)


BUG.(HLT,UNPGF1,APRSRV,HARD,<MEMPAR-PARITY ERROR DURING MEM SCAN>,,<

Cause:	A page fault occurred while the monitor was scanning memory
	looking for an MB parity error. The monitor expects to cause
	such a fault when it references the bad word in memory. However,
	the PC indicates that the error occurred somewhere other than
	in the instruction that is expected to fail.  The monitor has printed
	a description of the problem on the CTY. A SYSERR block has been
	created and will be placed in the SYSERR file when the monitor is
	rebooted.  If the memory scan has detected any errors, the monitor has
	printed a description of them on the CTY, too.
>)


BUG.(HLT,UNPGF2,APRSRV,HARD,<UNKNOWN PAGE FAILURE TYPE>,,<

Cause:	A page fault has occurred and the page fail word indicates
	a "hard" error. The monitor has read the type of failure from
	the page fail word and one of the following is true:

	1. The hardware is never supposed to generate the code.
	2. The code is valid, but the scheduler is running, and this
	code should never be generated from scheduler context.
>)


BUG.(CHK,UNPIRX,SCHED,HARD,<UNPIR-NO PSI IN PROGRESS>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,UNXMPE,APRSRV,HARD,<PFCDPE-UNEXPECTED PARITY ERROR TRAP>,<<T1,PFW>,<T2,PADR>>,<

Cause:	The monitor was processing an AR or ARX parity error when
	a second error occurred. The monitor retries the reference
	that caused the original error and is prepared to handle
	a second error. However, the BUGHLT indicates that the
	error occurred during the processing but not during the retry.
>)


BUG.(INF,USGHOL,MEXEC,HARD,<LOST PAGE(S) IN USAGE FILE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,UXXCKP,MEXEC,soft,<COULDN'T CREATE CHECKPOINT FILE>,,<

Cause:	The file PS:[ACCOUNTS]CHECKPOINT.BIN.1 could not be referenced
	for one reason or another.  The code first attempts a GTJFN (GJ%PHY,
	GJ%OLD) and an OPENF (OF%RD,OF%WR,OF%RTD), one of which must fail
	for UXXCKP to be a possibility.

	After the above GTJFN or OPENF has failed, then a GTJFN (GJ%PHY,GJ%NEW)
	is attempted.  If this succeeds, then UXXCKP will occur if a failure
	happens on one of the following: the subsequent OPENF (OF%WR,OF%RD),
	the call to ASGSWP to allocate CKPSIZ words, or the SOUT writing
	CKPSIZ words to the checkpoint file.

	If the GTJFN (GJ%PHY,GJ%NEW) fails, then another GTJFN (GJ%PHY,GJ%DEL)
	is attempted, and its failure will cause UXXCKP.  If this GTJFN
	succeeds, however, then a CHFDB (turning off FB%DEL to undelete the
	file) is done, and its failure will also cause UXXCKP.

Action:	Use EDDT to patch the system so that you can bring up the system
	without the checkpoint file being referenced.  Then get the checkpoint
	file into a state such that none of the above failures will occur.
>)


BUG.(CHK,UXXCL1,MEXEC,HARD,<UNABLE TO CREATE NEW USAGE FILE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,UXXCL2,MEXEC,HARD,<UNABLE TO OPEN NEW USAGE FILE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(CHK,UXXCL3,MEXEC,HARD,<UNABLE TO CLOSE USAGE FILE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,UXXCRE,MEXEC,soft,<CANNOT CREATE USAGE FILE>,,<

Cause:	If the GTJFN (GJ%PHY,GJ%OLD) or the OPENF (OF%RD,OF%WR,
	OF%RTD) on the file pointed to by CKPFIL (PS:[ACCOUNTS]
	CHECKPOINT.BIN.1) fails, then another GTJFN (GJ%FOU) and OPENF
	(OF%WR) is attempted in order to create a new checkpoint file.
	If these latter GTJFN and OPENF fail, the UXXCRE BUGHLT occcurs.

Action:	Analyze the error code from the failing JSYS, and fix the
	checkpoint file so that the error does not happen.
>)


BUG.(CHK,UXXFAI,MEXEC,HARD,<USAGE JSYS FAILURE>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(INF,UXXFIT,MEXEC,HARD,<CHECKPOINT FILE NOT IN CORRECT FORMAT FOR THIS SYSTEM, REBUILDING...>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,UXXILL,MEXEC,soft,<USGMES: ILLEGAL FUNCTION CODE>,,<

Cause:	The USAGE JSYS causes entries in the usage queue.  Each
	entry has a dispatch offset which is used by USGMES as an index into
	a vector for calling the appropriate support routine.

	If the dispatch offset is too large, this BUGHLT occurs.  Since the
	monitor itself is creating the entries in the queue, such a mismatch
	should never occur.
>)


BUG.(HLT,UXXMAP,MEXEC,soft,<USGMAP: CALL TO JFNOFN FAILED>,,<

Cause:	USGMAP wants to map a page of a file into FPG0 via SETMPG.
	It calls JFNOFN to convert the JFN.PN atom to OFN.PN, which SETMPG
	wants.  If JFNOFN fails, this BUGHLT occurs.  Some reasons that JFNOFN
	will fail are: JFN is not associated with a disk file; JFN is not open;
	attempt to create a new page table for a file that is not open for
	writing; attempt to create a new page table for a directory file;
	attempt to create a new page table for which there is no room on disk.

>)


BUG.(HLT,UXXOPN,MEXEC,soft,<UNABLE TO OPEN USAGE FILE>,,<

Cause:	USGINI invoked OPENF (OF%RD,OF%WR,OF%RTD), which failed to open the
	file pointed to by USGFIL, probably PS:[ACCOUNTS]SYSTEM-DATA.BIN.
>)


BUG.(CHK,UXXWER,MEXEC,HARD,<WRITE ERROR IN USAGE FILE>,<<T1,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,VMMODE,APRSRV,SOFT,<MUUO IN VIRTUAL MACHINE MODE>,,<

Cause:	The microcode transferred through the UPT location for execution of
an instruction in virtual machine mode. This should not happen, because no
code exists to handle this case, and the mode should never be enabled.

Action:	Determine how the mode was set, or debug the microcode.

>)


BUG.(CHK,WRTBT4,DSKALC,SOFT,<ASOFN ON BIT TABLE FILE FAILED>,<<T2,STRCOD>>,<

Cause:	Could not assign an OFN for the structure bit table.

Action:

Data:	Structure Unique Code

>)


BUG.(CHK,WRTCPB,DSKALC,HARD,<WRTBTB - FAILED TO BACKUP ROOT-DIRECTORY>,<<T1,STRCOD>>,<

Cause:	The bit table is being written.  The backup root-directory or
	symbol table may not have been written, or there may not be
	enough free space on the pack.

Action:

Data:	Structure Unique Code

>)


BUG.(HLT,WRTLNG,DSKALC,SOFT,<WRTBTB - BIT TABLE IS A LONG FILE>,,<

Cause:	The FDB for a file structure bit table has the FB%LNG bit set, which
	says the file is a long file.

>)


BUG.(CHK,WSPNEG,PAGEM,HARD,<SOSWSP-WSP NEGATIVE>,<<FX,D>,<T2,D>>,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,WSSPNA,PAGEM,SOFT,<WSSFKP-FORK SPECIAL PAGE BAD AGE>,,<

Cause:	The monitor is swapping out all pages of a process. It is
	trying to swap out one of the special pages (JSB, PSB, etc.).
	The page should be in core and locked, but it is not
	assigned (its age is LESS THAN PSASN).
>)


BUG.(HLT,WSSPNC,PAGEM,SOFT,<WSSFKP-FORK SPECIAL PAGE NOT IN CORE>,,<

Cause:	The monitor is swapping out all pages of a process. It is
	trying to swap out one of the special pages (JSB, PSB, etc.).
	The page should be in core and locked, but it is not in core.

>)


BUG.(HLT,XBLTAL,APRSRV,SOFT,<XBLTA ASKED TO COPY TOO MUCH>,<<T1,LENGTH>>,<

Cause:	XBLTA was called with a 'length to BLT' of more than one section.
	It is unlikely that the caller really intended to copy this much.

Data:	LENGTH - Number of words XBLTA was asked to copy
>)


BUG.(CHK,XBWERR,PAGUTL,HARD,<UPDOFN-DSK WRITE ERROR ON XB>,,<

Cause:	This BUG is not documented yet.

Action:

>)


BUG.(HLT,XSCORE,PAGUTL,SOFT,<CST TOO SMALL FOR PHYSICAL CORE PRESENT>,,<

Cause:	A routine has been called to map a specified core page to a
	specified virtual page. The BUGHLT indicates that the caller
	provided a page number of a core page that does not exist.
	(The number is too large). This BUGHLT can occur if a monitor
	that is built for less than 256K is booted on a machine whose
	memory exceeds 256K.

Action:	If the monitor was built for less than 256K, and there
	is more than 256K of memory on the system, rebuild the monitor
	for the correct amount of memory.
>)