Amiga OS, Workbench and Kickstart, Utilities, Optimizations, Hacks and all things file/usage related
User avatar
intric8
Seattle, WA, USA

Guru Meditation Errors - How to Read Them

by intric8 Tue Jan 16, 2018 5:55 pm

Transcribed from an old document. Author and year unknown. Stamped by "Megadisc", a small Australian magazine-on-a-disc.

It's not always obvious why your Amiga guru's. With the codes below, you can break the meaning down to its basic components and get to the bottom of things.

Guru Meditations

Probably all Amiga owners have seen the guru at one time or another. The guru meditation is what your Amiga does when the low level error trapping routines catch an error before the computer crashes. When the higher-level routines detect the error you are given a requestor saying: 'Software Failure. Task held. Finish ALL disk activity', with two gadgets saying retry and cancel. Retry usually does nothing and cancel causes a guru.

The proper term for the guru is an alert. The alerts give you some useful information about why the Amiga crashed and what program caused the program to crash.

FORMAT OF ALERT ERROR NUMBER: #DSGeCode.TADDRESS

D :This indicates whether or not the software failure is recoverable or not (with the current OS none are really). A zero means that it is recoverable and any non-zero value means that it isn't.

S :This (together with D) indicates the subsystem that generated the alert. The various subsystems are (DS):

00 .. Processor or none
01 .. Exec.Library
02 ..Graphics.Library
03 .. Layers.Library
04 .. Intuition.Library
05 .. Math.Library
06 .. Clist.Library
07 .. DOS.Library
08 .. RAM.Library
09 .. Icon.Library
10 .. Audio.device
11 .. Console.device
12 .. GamePort.device
13 .. Keyboard.device
14 .. Trackdisk.device
15 .. Timer.device
20 .. CIA.resource
21 .. Disk.resource
22 .. Misc.resource
0A .. Expansion.Library
30 .. Bootstrap
31 .. Workbench
32 .. Diskcopy

Ge :This indicates the general error. Basically telling you what went wrong. The various defined General Errors are (Ge):

01 .. No memory
02 .. Make Library
03 .. Open Library
04 .. Open Device
05 .. Open Resident
06 .. I/O Error
07 .. No Signal

Code :This gives more detail as to what went wrong. The value that appears here depends on the subsystem and general error.

TAddress :This is the Address of the task that caused the guru (where applicable).

Quite often the processor with trap an error. The operating system will then display a guru. These errors will only contain two digits (the right-most two digits in 'Code') and their meanings are:

00 .. Reset (SP). /Technically, these shouldn't occur, but
01 .. Reset (PC). /they do pop up occassionally
02 .. Bus Error.
03 .. Address Error. A word or Long Word access was attempted on an odd address boundary.
04 .. Illegal Instruction. A program probably made a jump to somewhere it shouldn't have.
05 .. Divide by zero. A program has attempted to divide a number by zero (a mathematical impossibility).
06 .. CHK instructions.
07 .. TRAPV Instruction. Overflow.
08 .. Privilege Violation. A program in user mode attempted to execute a privileged Instruction.
09 .. Trace. Used in some debugging.
0A & 0B .. A & F Line Emulation. Used with some coprocessors. Usually program is out of control.
18 .. Spurious interrupt.
19 to 1F .. Auto-Vector Interrupts - These should not happen as the OS uses them to detect what is going on with the hardware, but as with all others they do appear sometimes.
20 to 2F .. Trap Vectors - Usually a program is out of control.
30 to 3F .. These are reserved by Motorola. Any program causing these is probably out of control.
40 to FF .. User Interrupt Vectors - Usually a program is out of control.
Attachments
GuruMeditationErrors.jpg
Guru Meditation Errors
User avatar
Zippy Zapp
CA, USA

Re: Guru Meditation Errors - How to Read Them

by Zippy Zapp Tue Jan 16, 2018 6:28 pm

Fantastic find. My Amiga 2000 is sometimes giving a GURU just sitting idle, which troubles me. Next time I will have to write down the error. Of course it is 2.0 so it says Software Error from then on.
User avatar
intric8
Seattle, WA, USA

Re: Guru Meditation Errors - How to Read Them

by intric8 Tue Jan 16, 2018 9:15 pm

UPDATE

By "Vertigo" aka @SamuelAFalvoII via Twitter:
Only one error in this guide: The "non-recoverable" flag is exclusively assigned to bit 31. This is why all fatal alerts lead with the digit 8 (e.g., 80000003). Bits 30..24 indicate the subsystem that called the Alert() function in exec.library.
User avatar
LambdaCalculus
New Jersey, USA

Re: Guru Meditation Errors - How to Read Them

by LambdaCalculus Thu Feb 22, 2018 6:27 am

I feel like this is another vital thread that should be pinned. It's extremely useful for Amiga users who need to be able to decipher errors.
Own: Amiga 500 (NTSC), Amiga 4000, Amiga 600 (PAL), Mac Mini G4 & iBook G4 (MorphOS), ThinkPad T40 (AROS), R.Pi3 (Amibian)
After: Amiga 1200

https://nostalgiaroadtrip.com
User avatar
intric8
Seattle, WA, USA

Re: Guru Meditation Errors - How to Read Them

by intric8 Wed Feb 28, 2018 1:47 pm

Pinned! Good idea, LC. Thanks
User avatar
A10001986

Re: Guru Meditation Errors - How to Read Them

by A10001986 Wed Nov 28, 2018 6:07 am

Don't get too excited about decrypting those numbers. Both hardware problems as well as most software bugs cause more or less random guru numbers, as they not immediately raise an exception but lead to - sometimes distant - follow-up errors caused by eg wrong data read from memory.

Who is online

Users browsing this forum: No registered users and 1 guest