[comp.sys.amiga] Guru Mediation???

TE07@TB.CC.CMU.EDU (Tom Epperly) (11/20/86)

Sorry if two copies of this get posted, but the other machine I sent it
from was acting very flakey so I could not be sure.

I am writing a simultaneous equation solver like TK for the PC.  I wrote
and an equation parser that aparently works.  It parsed, it printed back
the equation and exited cleanly.  Then I added a function to evaluate the
function.  Then I get a Guru Meditation.

                              00000004.000097b0

What does this mean?  Can someone repost the information on Guru Meditations
I did not keep it the last time?  The Guru occurs right after I print
AvailMem(MEMF_PUBLIC) which is the last line of the program.  Just in case
it matters I am using Lattice V3.03B and BLINK 6.5 29 Sept. 86.  If there
is a newer version of BLINK I would like it.  Also the program uses lots of
floating point operations and pointers.

Any suggestions would be apreciated!

                                        Tom Epperly
                                        Carnegie-Mellon Univ. Student

**************************************
te07@andrew.cmu.edu  (ARPA address preferred)
te07%tb.cc.cmu.edu@mit-multics.mailnet (Mailnet)
te07@tb.cc.cmu.edu  (CCNET)
te07%tb.cc.cmu.edu@cmuccvma.bitnet (Bitnet)
**************************************
Disclaimer:  I don't work for anyone I don't represent anyone except myself.
-------

carolyn@cbmvax.cbm.UUCP (Carolyn Scheppner) (11/25/86)

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
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

carolyn@cbmvax.cbm.UUCP (Carolyn Scheppner) (11/25/86)

    One more thing that causes GURUs:

       Calls to new 1.2 functions on an Amiga booted with 1.1 !

    PLEASE --- If you are developing software that uses new 1.2 functions,
               specify version 33 in your OpenLibrary() calls.
               If the OpenLibrary fails, either abort nicely after
               informing the user that the software requires 1.2,
               OR set a flag for yourself, open a lower library version,
               and provide alternate logic if running under < 1.2.
          

               
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Carolyn Scheppner -- CBM   >>Amiga Technical Support<<
                     UUCP  ...{allegra,caip,ihnp4,seismo}!cbmvax!carolyn 
                     PHONE 215-431-9180
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

hamilton@uiucuxc.UUCP (11/26/86)

carolyn@cbmvax says:
>    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.

    i thought "key already free" and "key out of range" were file-handler
(ie, disk) errors.