1 XEROX 1186 USER'S GUIDE 1 XEROX 1186 USER'S GUIDE B0OT DIAGNOSTICS 1 BOOT DIAGNOSTICS 1 5. BOOT DIAGNOSTICS 6 Boot diagnostics are performed when you are rebooting or restarting the workstation. The boot types and symbols are described in this chapter. They are followed by a summary of the cursor codes used to indicate progress and error condidtions. 2 Boot Types 1 There are two options for booting the 1186; Normal and Diagnostic Boot. These are described below. 2 Normal Boot 1 Normal booting causes the workstation to run a short diagnostic test, called Preboot Diagnostics, to check for machine problems. Preboot Diagnostics are automatically executed whenever you turn the workstation on, or when you press the B Reset button. f If Preboot Diagnostics fail, the function keys/boot icons do not appear on the display screen. f If Preboot Diagnostics succeed, the boot icons appear and normal booting can begin. Three small red lights below the small green light on the workstation front panel indicate the operation of Preboot Diagnostics, which takes approximately five seconds to complete. All three red lights are lit during the first phase of Preboot Diagnostics; seven additional tests are run, each showing different combinations of lights. The red lights go off if Preboot Diagnostics succeed, but remain lit if failure occurs. The system also produces a beeping sound if a failure occurs. If the boot icons do not come up within 10 seconds, if one or more red lights remain lit, or if a beeping sound is heard, a failure that prevents the system from booting has occurred. Note the pattern of lights (on-off-on, on-on-off, and so forth) and contact your technical support representative. After the Preboot Diagnostics complete, you will boot your workstation by pressing one of the boot icon keys represented on the display. If a boot-time error is detected, the cursor code will stop counting, and display the combination of numbers that indicate the error type. The numbers are displayed on the screen where the cursor would normally appear. Refer to the list of cursor codes at the end of this chapter for an explanation. 2 Diagnostic Boot 1 A diagnostic boot provides a more specific and extensive diagnostic test. Boot Diagnostics should be run when: f The workstation is initially installed, or moved to another location. f Any component of the workstation is exchanged or replaced. f A problem is suspected. Short and Long Options for Boot Diagnostics 1 There are short and long versions of Boot Diagnostics. f Short diagnostics run from 2 to 5 minutes, and are normally used for routine checks. f Longer diagnostics run from 15 to 20 minutes. This option runs more thorough tests, and is normally used when problems are suspected. Running Boot Diagnostics 1 After resetting the machine by pressing the B Reset button, six function key/boot icons appear on the screen; three of these are special diagnostic boot icons which can be used to select the device from which the diagnostic program will be obtained. To run diagnostics from: f Rigid Disk $ press the F5 Function key/boot icon. f Floppy Disk $ load the floppy disk labeled "Boot Diagnostics" into the floppy disk drive, and press the F6 function key/boot icon. f Network $ press the F7 function key/boot icon. If the device does not have the diagnostic program available, the function key./boot icon for that device will not do anything. Running the Short Option of Boot Diagnostics 1 To run the short version of Boot Diagnostics: 1. Press the B Reset button on the front panel of the workstation. 2. Press the function key (F5, F6 or F7) corresponding to the test you wish to run. Running the Long Option of Boot Diagnostics 1 To run the longer version of Boot Diagnostics: 1. Press the B Reset button on the front panel of the workstation. 2. Press the function key (F5, F6 or F7) corresponding to the test you wish to run, twice in rapid succession. Behavior While Running Boot Diagnostics 1 The cursor codes for Boot Diagnostics always contain one or more letters, ranging from A to F. Letters are unique to Boot Diagnostic cursor codes only. While Boot Diagnostics are running, the display is normally black. However, during memory test, the screen displays a variety of special patterns. Each test has an identifier that contains at least one letter. If test Ax (x can be any number) completes successfully, it goes to test Bx, then Cx, and so forth. If a test fails, the Boot Diagnostics terminate and no additional test are run. Results of Boot Diagnostics 1 Errors Detected 1 When a hardware probem is detected, the cursor codes alternate continuously between two numbers. The first number is the "test MP code" (maintenance panel code) and contains one or more letters, from A to F. The second number is the "error code." Record the numbers exactly as they appear. Press the R key on the keyboard. This causes a third test result to appear (and may contain digits 0$9, or letters A$F.) This result should also be written down and reported to your technical service representative. Successful Completion 1 Successful completion of Boot Diagnostics is indicated by the appearance of the function key/boot icons. Normal system booting can then be performed. 2 Cursor Codes 1 There are two types of cursor codes: progress codes and error codes. Progress codes are displayed incrementally at various stages of initialization. Error codes are traps that freeze or blink the error number on your screen. All cursor codes less than 9000 are generated by non-Lisp programs that have been implemented directly in microcode, or in Mesa, a high-level programming language used by Xerox. Cursor codes from 9000 to 9999 are generated by an error in the Lisp system code. Only those cursor codes likely to occur during operation of a work station running Lisp are identified in this document. Currently, whenever an Interlisp-D system error occurs, the cursor will be replaced by the appropriate error code. If this happens when the cursor is located in a dark area of the screen, such as the prompt window, the cursor code will not be visible. Therefore, if you are encountering repeatable errors that freeze your system, attempt to keep the cursor in an area of white space on the display screen. This will allow you to read the error code. This problem is being addressed and should be eliminated in the near future. 2 Pilot Operating System Codes 1 Pilot Operating System codes are described below: 0900 - 0999 Pilot Error Codes 1 0915 Pilot breakpoint: Can signify any number of problems, such as: bad page on the rigid disk, cannot read the floppy disk, or a hardware failure. To recover, try running ALAG. If ALAG passes and its Media Scan test shows no new bad pages, the floppy disk (software installation) is suspect. 0937 Trying to find out the time and date: Pilot will hang in this state if no time server is responding, and the time has not been set on the machine since power-up. Time can be set from within Lisp (with SETTIME), by 2-booting the Installation Utility floppy, or by 5-booting the EI Fixed Disk Diagnostics floppy. 0981 Trying to discover Ethernet Pup host number: Will hang in this state if non-Lisp code tries to perform Pup operations and no Pup ID Server responds, or processor ID is not registered. See network administrator. 2 Lisp Codes 1 9000 -9299 Interlisp-D Microcode Error Codes 1 Most of these errors are indicative of some serious problem; Lisp software attempts to cause regular breaks when these occur. 9001 CSParErr Control store parity error; a hardware error 9002 StackErr Hardware stack overflow 9003 IBEmptyErr Instruction fetch unit empty error 9004 VirtAddrErr Attempt to reference virtual address >22 bits 9005 EmuMemErr Double bit memory error or non-existent memory 9013 NegPcError Inconsistent PC at FnCall 9014 applyUfn Arg to apply not integer 9016 notFreeTrap Stack allocation error 9024 - Page fault in the page fault handler. 9048 - ReFOvr page fault under page fault 9049 - Ghost context switch 9051 BadUfnTable An entry in \UFNtable is invalid 9120 MiscErr Misc. Opcode; no such register 9121 MiscErr Misc.Opcode; bad 2nd byte 9127 PcNegError Inconsistent PC at Punt 9136 CycleMask Bad caller 9129 M1Loc Microcode error 9130 M2Loc Microcode error 9131 M3Loc Microcode error 9300 - 9399 Lisp System Code Errors 1 These codes generally indicate an error state in Lisp system code that cannot be handled in the break package. Most are unexpected and indicate a serious error. It is possible to use TeleRaid (described in the Lisp Library documentation) to find out more information, providing you have a networked machine with other 1108 machines on the same network. To become a Teleraid server (and allow other machines to look at your state), press the UNDO key. When thecursor changes into "TeleRaid", go to another machine and run the TeleRaid user. Even if you can't use TeleRaid, you can convert several of these codes into a Lisp break, providing the state of the system is reasonably consistent and the error occurred under user code (rather than, say, the garbage collector.) To attempt to enter a break, type CTRL-B to the TeleRaid server. Some other options are described below, followed by the list of the Lisp system codes. Summary of TeleRaid server commands: CTRL-B Attempt to enter Break. If error is in a special system context, will change cursor to "CANT", indicating refusal to enter break. CTRL-D Perform Hard Reset-clear stack, flush all non-restartable processes. CTRL-N Continue from error. This is usually not possible, except for code 9318, or when you got a 9915 error by typing CTRL-C while the Raid interrupt was enabled. CTRL-P Display Pup host number (in decimal) in maintenance panel. The 9300 Series Codes are: 9302 Invalid Vmem: Indicates an attempt to boot an image that is not a valid Lisp sysout, or which is inconsistent from having some, but not all, of its dirty pages written. Can happen if you boot instead of calling LOGOUT. Usually caught sooner as code 0217. 9303 No place for IOCB page at startup: This error should never happen. 9304 Map out of bounds: Indicates an attempt to use a pointer larger than the virtual address space of the machine. Usually means garbage was fetched from somewhere that should have contained a pointer. 9305 Invalid address: Indicates an attempt to use a pointer that does not refer to an existing (allocated) part of virtual memory. Usually means garbage was fetched from somewhere that should have contained a pointer. This error can often be converted to a break with the CTRL-B TeleRaid command. 9306 Invalid virtual page: 9307 Unavailable page on real page chain: Signals an inconsistent state in page fault handler. 9308 Loop in \SELECTREALPAGE: Signals an inconsistent state in page fault handler. 9309 Attempt to allocate already existing page (from call to \NEWPAGE). 9310 \DONEWPAGE failed to allocate new map page. 9311 Locked page occupies a file page needed to lock another: Signals a bad state in virtual memory system. 9312 Arg to CLOCK0 not an integer box. 9313 Fault on resident page: Processor took a page fault for a page that appears to be resident. 9314 PageFault on stack: Shouldn't happen, as stack is resident. 9318 Error in uninterruptable system code: An error that ordinarily would enter a break (e.g., a type test failure), but in a piece of code that should not be user-interruptable. This is generally a sign that some datum used by system code has been smashed, but this is not always fatal. If you cannot diagnose the error with TeleRaid, type CTRL-N after entering the TeleRaid server; Lisp will go ahead and attempt to enter at the break anyway, from which (if it succeeds) you might be able to glean more information about the problem. 9319 Stack full: Signals a hard stack overflow. A soft stack overflow (Lisp break "STACK FULL") occurs when the stack is mostly used up; if you proceed beyond that point without resetting you can completely fill the stack and get this code. Press STOP to perform a HARDRESET to clear the stack, or run TeleRaid to find out what caused the stack to overflow. 9320 MDS full: Storage space is completely exhausted. A continuable Lisp break "STORAGE FULL" occurs when MDS is nearly full. 9321 Unknown UFN: Indicates an attempt to execute an unimplemented opcode. This usually means that the processor is trying to execute random memory, or took a wild jump somewhere. Can be a microcode or hardware error. 9322 Atoms full: The limit on number of litatoms (216) has been reached. a continuable STORAGE FULL error will occur first. 9323 Pnames full: There is no more space for storing the pnames of litatoms. This is unlikely to occur unless you create an extraordinary number of litatoms with very long pnames. 9324 Stack frame use count overflow: The program has attempted to create more than 200 references to the same stack frame. 9400 - 9899 Unassigned 1 9900 - 9924 Raid or Alto Error Codes 1 These codes are displayed when an attempt is made to call Raid, or the Alto operating system. The only one that is likely to ever occur is 9915, call to RAID. Note that if you have the Raid interrupt enabled (by default on CTRL-C), you will get a 9915 error by typing that interrupt character. 9905 NOOPSUBR 9906 \BACKGROUNDSUBR 9907 \CHECKBCPLPASSWORD 9908 DISKPARTITION 9909 DSPBOUT 9910 \DSPRATE 9911 \GATHERSTATS 9912 \GETPACKETBUFFER 9913 \LISPFINISH 9914 \MOREVMEMFILE 9915 RAID 9916 \READRAWPBI 9917 \WRITERAWPBI 9918 SETSCREENCOLOR 9919 SHOWDISPLAY 9920 \PUPLEVEL1STATE 9921 \WRITESTATS 9922 \CONTEXTSWITCH 9923 \COPYSYS0SUBR 9924 \WRITEMAP (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC) STARTINGPAGE# 33) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (180 204 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (144 216 468 36) NIL) (TEXT NIL NIL (144 228 324 528) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC )) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (144 204 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (144 216 468 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (144 756 468 36) NIL) (TEXT NIL NIL (144 228 324 510) NIL))) (PAGE NIL (PAPERSIZE NIL FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM) FORMATINFO (ARABIC)) (180 204 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (144 216 468 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (144 756 468 36) NIL) (TEXT NIL NIL (144 228 324 510) NIL)))))$4TfD fD4TTD TD1DD4T`D `D1D2D4TDxD1TxDxD.xD(TTD4TDxD.TTD D1DTD1DTD2D"TDT1TxDxD1TxDxD1TxD xD1DTD1DTD.TTDD1D`D1D`D1D"`D2D"DT4TTD D4TTDD1TTD D1DD1DD1D"DEDD PAGEHEADING VERSOHEADEDD PAGEHEADING RECTOHEADDDD PAGEHEADINGFOOTINGVDDD PAGEHEADINGFOOTINGR1TTDD1 MODERN MODERNMODERNMODERN MODERN MODERN MODERN MODERN?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8)) " HRULE.GETFNMODERN "! HRULE.GETFNMODERN !   HRULE.GETFNMODERN  HRULE.GETFNMODERN## HRULE.GETFNMODERN### HRULE.GETFNMODERN   HRULE.GETFNMODERN d HRULE.GETFNMODERN   HRULE.GETFNMODERN ZU, HRULE.GETFN?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8))   HRULE.GETFNMODERN p)  +7I3. HRULE.GETFNMODERN 7 Kd HRULE.GETFNMODERN g xa- HRULE.GETFNMODERN .CT, HRULE.GETFNMODERN /ET( HRULE.GETFNMODERN P HRULE.GETFNMODERN  HRULE.GETFNMODERN %ef HRULE.GETFNMODERN  HRULE.GETFN?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8))   HRULE.GETFNMODERN $ HRULE.GETFNMODERN HRULE.GETFNMODERN1 HRULE.GETFNMODERN +3 HRULE.GETFNMODERN    HRULE.GETFNMODERN- HRULE.GETFNMODERN   ; & 3 ? > * ' ( - *  3 , ' (    $  HRULE.GETFNMODERN  #  %LB(!_6H1>/'E),Yr#G&W HRULE.GETFNMODERN &  HRULE.GETFNMODERN  '   8z