Logging of System Errors

Log items are created in the SYSTEM-ERRORS file for all errors, including unreported transient GFEs.

Logging of errors is a two-step process. First, an entry is stored in a table in the ABS area; second, the Spooler is activated so it can create an item in the SYSTEM-ERRORS file. If the Spooler is busy, the item is not created until the Spooler has finished. Because of this, the table in the ABS area contains space for up to 32 entries. If the Spooler is not operating properly, the item may never be created.

Since the SYSTEM-ERRORS file may require frames from the Overflow Table for these log items, it is suggested that the GFE logging function be disabled if it is suspected that the table has been corrupted. Corruption of the Overflow Table can occur, for example, during a system recovery procedure. To eliminate this problem, use the NX option during the coldstart procedure (see "System Start-up and Shutdown"). This prevents the GFE Handler from creating log items in the SYSTEM-ERRORS file.

Since the SYSTEM-ERRORS file contains disk error items, GFE log items, native softrap items, virtual software aborts, and coldstart entries it is not possible to obtain a meaningful listing by typing:

SORT SYSTEM-ERRORS

Instead, to list the GFE log items, type:

LIST-GFE-LOG

To list the disk drive errors, type:

LIST-DISK-ERRS

To list native softrap errors, type:

LIST-SOFTRAPS

To list virtual software aborts, type:

LIST-ABORTS

All of these Procs can be followed by LPTR to direct the listing to the printer.

Logging of Disk Errors

Use the LIST-DISK-ERRS command to list all disk errors recorded in the SYSTEM-ERRORS file. See LIST-DISK-ERRS in the SYSPROG Account section of the mvBase Guide to Files and Accounts for a description of the disk errors report.

Logging of Runtime Errors

The RUNTIME-ERRORS file is an account level file that is used for logging items that describe Basic runtime errors that have occurred on the system. The RUNTIME-ERRORS file is similar to the SYSTEM-ERRORS file with an item describing each recorded error and dictionary items for each attribute of an error item. Item-ids contain the type of error code (always R for Basic runtime errore) and the date and time that the error occurred.

The item-body of a RUNTIME-ERROR item contains the following information:

Error number

This is the tem-id of the item in the ERRMSG file.

Parameters (or line number)

The list of parameters associated with the referenced ERRMSG item.

Process number and user

WHO command information.

Program name

BASIC program name.

Call stack

The call stack when the error occurred in a called BASIC program (for example, a GOSUB statement).

If there are multiple entries in the list of parameters, the entries are separated by a VM delimiter (x'fd').

Logging of GFEs

The example below shows a sample listing of GFE log items.

The first two columns list the system date and time at which the Spooler transferred the log entry from the ABS table to the SYSTEM-ERRORS file. This can be some time after the actual GFE occurred if the Spooler was busy at that time. The next two columns list the port on which the error was detected and the processor which detected the error.

Columns five and six list the base frame numbers (FIDs) of the file and group in which the error occurred. The F/BASE number can be looked up in the File Statistics Report or in the FILE-XREF file (if the files are current) to determine the name of the file. The G/BASE number can be used to further narrow the search to a particular group of items.

The ERROR TYPE column lists the types of errors detected by the handler. There are seventeen possible entries, as follows:

0

TRANSIENT

1

ILLEGAL FWD LINK

2

ILLEGAL BWD LINK

3

INVALID ITEM SIZE

4

EMBEDDED SEGMENT MARK

5

MISSING ENDING SEGMENT MARK

6

INCORRECTLY TERMINATED ITEM

7

INVALID ITEM FLAGS

8

ILLEGAL INDIRECT ITEM FWD LINK

9

ILLEGAL INDIRECT ITEM BWD LINK

10

INVALID INDIRECT ITEM SIZE

11

ILLEGAL BINARY ITEM FWD LINK

12

ILLEGAL BINARY ITEM BWD LINK

13

INVALID ITEM HASH ADDRESS

14

DUPLICATE ITEM-ID

15

ITEM-ID LONGER THAN 50 CHARACTERS

16

ITEM-ID CONTAINS SYSTEM DELIMITER CHARACTER

17

ILLEGAL GROUP FID

The CMD column lists the command entered in response to the GFE Handler prompt: D, E, F, I, K, L, R, or T. The column headed OTHER INFO may contain an additional number which provides more information about the GFE. The contents of this column are determined by the type of error or the command in the table above. The information in the column is zero-suppressed for greater readability, so any missing figures should be read as zero.

If the T command was entered in response to the GFE Handler prompt, the OTHER INFO column will contain link information. This column also contains information relating to certain error types. The contents of this column is described in the table below.

GFE Error

Other Information

ILLEGAL FWD LINK

The link field (in decimal).

ILLEGAL BWD LINK

The forward link which pointed to the bad backward link.

INVALID ITEM SIZE

None.

EMBEDDED SM

None.

MISSING ENDING SM

None.

INCORRECTLY TERMINATED ITEM

None.

INVALID ITEM FLAGS

None.

ILLEGAL INDIRECT ITEM FWD LINK

The link field (in decimal).

ILLEGAL INDIRECT ITEM BWD LINK

The forward link which pointed to the bad backward link.

INVALID INDIRECT ITEM SIZE

None.

ILLEGAL BINARY ITEM FWD LINK

The link field (in decimal).

ILLEGAL BINARY ITEM BWD LINK

The forward link which pointed to the bad backward link.

INVALID ITEM HASH ADDRESS

None.

DUPLICATE ITEM-ID

The frame of the duplicate item that was deleted.

ITEM-ID LONGER THAN 50 CHARACTERS

None.

ITEM-ID CONTAINS SYSTEM DELIMITER

None.

ILLEGAL GROUP FID

None.

Logging of Native Softrap Aborts

If one of the following conditions is encountered the operating system will cause the process which was active at the time to enter the Virtual Debugger.

  1. The CPU stack pointer has become misaligned.

  2. An attempt is made to activate a process without deactivating the previous process.

  3. The system attempts to access a nonexistent port or process.

  4. The system receives an invalid interrupt.

The following abort message is displayed:

NAT SOFTRAP

ABORT @ nnn. xxx

!

All other processes continue running unless they encounter the same condition.

These native softrap aborts can be listed with the LIST-SOFTRAPS Proc described in this section.

The mvBase system stops whenever an attempt is made to execute data, and that data cannot be interpreted as any executable instruction. In most cases this indicates that the memory management tables have become corrupted and any further processing might damage the integrity of the data on the hard disk drive.

LIST-SOFTRAPS Proc

The LIST-SOFTRAPS Proc lists these items in a formatted manner using INFO/ACCESS commands. If the LPTR modifier or the P option is present, the listing is printed on the printer. An example of such a listing is shown in the figure below.

Softraps are not logged if the system is booted with the NX or NF option.

Format

LIST-SOFTRAPS [option]

Parameter(s)

LPTR

Directs output to the printer.

(P)

Directs output to the printer.

 

See Also

Error Recovery and Troubleshooting

What to do Before Calling Your System Supplier

Troubleshooting Installation and Booting

Tape Function Errors

Recovering from Aborts During Backup

Special Problems During the Restore Cycle

Group Format Errors