[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

301.0. "Guru Messages" by WORDS2::BURTON (What world is this anyway?) Wed Feb 04 1987 19:09

         
         Does anyone know where I can find out the meaning of the
         Guru's error numbers?  I'd like to know what the system
         is getting trashed over.
         
         
         	Thanks,
         	Chris
         
    
T.RTitleUserPersonal
Name
DateLines
301.1Description from CarolynCOOKIE::WECKERDave (Cum Grano Salis) WeckerWed Feb 04 1987 21:2275
Newsgroups: comp.sys.amiga
Path: decwrl!amdcad!lll-crg!rutgers!cbmvax!carolyn
Subject: Re: Guru Mediation???
Posted: 24 Nov 86 23:21:49 GMT
Organization: Commodore Technology, West Chester, PA
 
In article <12256355139.40.TE07@TB.CC.CMU.EDU> TE07@TB.CC.CMU.EDU (Tom Epperly) writes:
> ...  Then I get a Guru Meditation.
>
>                              00000004.000097b0
>
>What does this mean?  Can someone repost the information on Guru Meditations
 
   Here's a quick explanation.  
 
               nnnnnnnn.nnnnnnnn
               ________ ________
                  /         \
               error#    address 
 
   The error# is a combination of standard 68000 exception #'s and Amiga
specific error codes as described in the exec/alerts.h (or .i) header.
 
Low numbers here (like your 000000004.) are straight 68000 codes:
 
   0   Call to Debug
   1   -- ? --
   2   Bus Error
   3   Address Error
   4   Illegal Instruction
   5   Division by Zero
   6   CHK inst. (shouldn't happen)
   7   TRAPV inst. (shouldn't happen)
   8   Priviledged inst.
   9   trace (single step)
   A   Line 1010 emulator
   B   Line 1111 emulator
   2x  Trap instructions 0-E
   2F  Normal break point
 
    "Illegal instruction" (4) often happens when you've trashed some 
memory containing code or vectors.  "Address Error" (3) can occur when
code attempts to do word or longword manipulations on an odd address.
This often occurs if you pass an invalid, no-longer-valid, or zero
pointer to a sytem routine.  Gurus 3 and 4 are the most common Gurus.
 
    If you ever get the higher Guru numbers, exec/alerts.h can help
you decipher them.  Values in alerts.h are OR'd together to create
the Guru #.   Example:
 
                 80038007.nnnnnnnn
            
         80000000 = Dead End Alert
         00030000 = OpenLibrary error
         00008007 = on dos.library
 
   Some Guru's can even help diagnose hardware problems.  For example,
87000008. (Key already free) or 8700000B. (Key out of range) can be
a symptom of keyboard or static problems.
 
 
   The address (righthand) portion of the Guru number is either the
address where the error occurred (often helpful in debugging) OR 
the address of the task that had the error (not so helpful unless
you are running many tasks).  Your $97B0 is the usual address of
the initial CLI process under 1.1.  I guess you started your program
from the initial CLI.  Under 1.1, the usual address starts with $A.
 
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Carolyn Scheppner -- CBM   >>Amiga Technical Support<<
                     UUCP  ...{allegra,caip,ihnp4,seismo}!cbmvax!carolyn 
                     PHONE 215-431-9180
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

301.2Some more infos.CESARE::ZABOTMarco Zabot-Adv.Tech.mgr-Turin ACTThu Feb 05 1987 16:18214
From:	page                  20-Mar-1986 0541
To:	Zabot
Subj:	Guru Meditation Numbers Explained
Path: decwrl!decvax!wanginst!ulowell!page
Organization: University of Lowell
 
 
(I picked this up off of Quantum Link, aka the Amiga Information Network.)
(I cannot vouch for its accuracy, but thought you might be interested.   )
 
 
 
                    "You Too Can Be An Amiga Guru!"
                           by Dave Boulton
               ('New & Improved' version as of 11 Feb 86)
 
 Arrrrrrgh!, you snarl as the dreaded System Request box pops on to
 the Workbench screen: 
 
    Software error - task held
    Finish ALL disk activity
    Select CANCEL to reset/debug
 
 You stare at the computerese for a moment, and then hit the CANCEL
 button. The current screen is pushed down and you find yourself
 staring at the orange and black finality of:
 
    Software Failure.          Press left mouse button to continue.
                Guru Meditation #02010009.00009310
 
      Specific error code -----+         +--- Task Address
                               |         |
                       02 01 0009 . 00009310       
                        |  |
      Subsystem number -+  +--- General error code
 
 An alert number is divided into several parts. The section to the
 right of the decimal point is simply the address in RAM of the
 task that was running when the error occurred. This helps tell
 someone who is debugging a program which of the many different
 programs running in the Amiga caused the problem. In the example
 given above, the running task was at 9310 hex. In this case that
 happens to mean that the error occurred in CLI process number 1.
 
 The first two digits tell which module of the operating system
 reported the error (this is technically known as the 'alert
 object' or a Subsystem ID). In the example above the alert object
 is 02, which tells me that the error was reported by the Graphics
 library. 
 
 The first digit can be encoded in a funny way. The 'most
 significant bit' of this digit says whether or not this alert is a
 'dead-end'; that is, does the system have a chance of recovering
 from the error or not. If the alert object had been given as 82
 instead of 02, then the alert would be a 'dead-end'.
 
 In practice, this is a pretty narrow distinction. By the time you
 have gotten to the Alert Box the system is in such dire straits
 that the only choices left are to reboot, or to enter the system
 debugger. The 'dead-end' bit could possibly cause some confusion
 if you aren't used to dealing in hexadecimal. If the first digit
 of the alert object is ever greater than 7 (hexadecimal) then
 subtract 8 from it. Thus if the first two digits were B1, then the
 alert is a dead-end error reported by the Workbench (Subsystem ID
 code 31). (B minus 8 equals 3, for those of you without the
 required 16 fingers!)
 
 The Subsystem ID codes are as follows:
 
 Exec Library        01     Console Device      11
 Graphics Library    02     GamePort Device     12
 Layers Library      03     Keyboard Device     13
 Intuition Library   04     TrackDisk Device    14
 Math Library        05     Timer Device        15
 CList Library       06     CIA Resource        20
 DOS Library         07     Disk Resource       21
 RAM Library         08     Misc Resource       22
 Icon Library        09     BootStrap           30
 Audio Device        10     Workbench           31
 
 The next two digits specify the general type of error which has
 occurred. For many specialized types of errors this field is 00,
 instead of one of the general error codes below. This field is
 often very useful, since the user can easily tell such things as
 out-of-memory conditions, and missing libraries or device drivers
 (if you have deleted files from the LIBS or DEVS directories of
 your boot disk). In the example given above the general error code
 is 01, which means the the Graphics Library was not able to find
 enough free memory to allocate for some reason.
 
 The general error codes are:
 
 Insufficient memory   01    OpenDevice error    04
 MakeLibrary error     02    OpenResource error  05
 OpenLibrary error     03    I/O error           06
 
 The last four digits of the alert number give specific information
 about exactly what error has occurred. The interpretation of the
 specific error code depends on which subsystem we are talking
 about. Each subsystem reuses the same values for the specific
 error code with different meanings. In our example the specific
 error code is 0009. Since we are talking about an error in the
 graphics library, we determine that the error is called
 'TextTmpRas' which means that a call to the Text() routine (trying
 to draw characters on the screen) ran out of memory when it tried
 to allocate memory for a TmpRas (temporary raster work area) data
 structure.
 
 If the error had been in a different subsystem (say the Intuition
 library) then the same error code of 0009 would have had a
 completely different interpretation (for Intuition it would mean
 that the Screen Type parameter to an OpenScreen call was not a
 valid type).
 
 There is one special case in dealing with Guru Meditation Numbers.
 Everything that we have discussed so far has to do with alerts
 that are detected and generated by the Amiga ROM Kernel. There is
 another case, which is when an alert is caused by a 68000
 processor exception (or 'trap'). Whenever a CPU trap occurs (for
 instance, an illegal opcode is executed) the Exec will generally
 cause an alert. A program can intercept this trap processing, and
 insert its own 'trap handler' to perform some other function, but
 usually these traps end up causing an alert. When this happens,
 the left hand part of the guru number will be a small value. The
 subsystem ID and the general error code will both be zero. The
 specific error code will be the 'trap number' of the trap that
 occurred. The trap numbers are part of the 68000 chip, and are not
 assigned by the ROM kernel like other error codes are.
 
 The following is a list of all the possible CPU traps. A few of
 these will never show up as an alert because they are always
 handled by the ROM Kernel. I list all of them here for
 completeness (and just in case I'm wrong, and they ever _do_ show
 up).
 
 Bus Error              02      Priviledge Violation   08
 Address Error          03      Instruction Trace      09
 Illegal Instruction    04      Line A Emulation       0A
 Divide by Zero         05      Line F Emulation       0B
 
 CHK instruction        06      TRAP 0 ... 15          20 ... 2F
 TRAPV (Overflow)       07
 
 The following is a list of the specific error codes and a short
 comment about their meaning. The descriptions are a slightly
 edited version of the exec/alerts file, so they are very cryptic.
 
 Exec Library
 ExcptVect      81000001    CPU trap vector checksum
 BaseChkSum     81000002    ExecBase checksum error
 LibChkSum      81000003    library checksum failure
 LibMem         81000004    no memory to make library
 MemCorrupt     81000005    corrupted free memory list
 IntrMem        81000006    no memory for interrupt servers
 
 Graphics Library
 CopDisplay     82010001    copper display list, no memory
 CopInstr       82010002    copper instruction list, no mem.
 CopListOver    82000003    copper list too long
 CopIListOver   82000004    copper intermediate list too long
 CopListHead    82010005    copper list head, no memory
 LongFrame      82010006    long frame, no memory
 ShortFrame     82010007    short frame, no memory
 FloodFill      82010008    flood fill, no memory
 TextTmpRas     02010009    text, no memory for TmpRas
 BltBitMap      8201000A    BltBitMap, no memory
 
 Intuition Library
 GadgetType     84000001    unknown gadet type
 CreatePort     84010002    create port, no memory
 ItemAlloc      84010003    item plane alloc, no memory
 SubAlloc       84010004    sub alloc, no memory
 PlaneAlloc     84010005    plane alloc, no memory
 ItemBoxTop     84000006    item box top < RelZero
 OpenScreen     84010007    open screen, no memory
 OpenScrnRast   84010008    OpenScreen's AllocRast, no mem.
 SysScrnType    84000009    open sys screen, unknown type
 AddSWGadget    8401000A    add SW gadgets, no memory
 OpenWindow     8401000B    open window, no memory
 BadState       8400000C    Bad State Return entering Int.
 BadMessage     8400000D    Bad Message received by IDCMP
 WeirdEcho      8400000E    Weird echo causing problem
 NoConsole      8400000F    couldn't open the Console Device
 
 DOS Library
 
 StartMem       07010001    no memory at startup
 EndTask        07000002    EndTask didn't
 QPktFail       07000003    Qpkt failure
 AsyncPkt       07000004    Unexpected packet received
 FreeVec        07000005    Freevec failed
 DiskBlkSeq     07000006    Disk block sequence error
 BitMap         07000007    Bitmap corrupt
 KeyFree        07000008    Key already free
 BadChkSum      07000009    Invalid checksum
 DiskError      0700000A    Disk Error
 KeyRange       0700000B    Key out of range
 BadOverlay     0700000C    Bad overlay
 
 TrackDisk Device
 TDCalibSeek    14000001    calibrate: seek error
 TDDelay        14000002    delay: error on timer wait
 
 Timer Device
 TMBadReq       15000001    bad request
 
 Disk Resource
 DRHasDisk      21000001    get unit: already has disk
 DRIntNoAct     21000002    interrupt: no active unit
 
 BootStrap
 BootError      30000001    boot code returned an error
 
 *** End of File ***
301.3Detailed GURU error listing?WJG::GUINEAUThe Mathematics of Reality ?Sun Feb 28 1988 14:4215
Does anyone know where I can get a more complete list of *Amiga Specific*
GURU errors?

I'm getting some real nasty GURU's which don't even pop up that pesty
Task Held requestor... Strait to the meditation screen so GOMF1.0 can't
even trap it.

The one in peticular is 00000273.xxxxxxxx. 

BTW - Amiga World has an ad for GOMF2.0 - but now it costs (i think) $30


John (who's pressed his last "left mouse button to continue")