
Guru Meditation
Was will uns der Amiga sagen?

Es gibt 2 unterschiedliche Arten von Guru Meditation Nummern:
- CPU Errors (680x0 Processor Traps)
- System Software Errors
CPU ERRORS
CPU Errors sehen so aus:
Guru Meditation #000000xx.yyyyyyyy
xx ist einer der folgenden Werte:
CPU ERRORS
2 | Bus Error | Hardware error |
3 | Address Error | Word access on odd byte boundary |
4 | Illegal Instruction | |
5 | Divide by zero | |
6 | CHK Instruction | |
7 | TRAPV Instruction | |
8 | Privilege Violation | |
9 | Trace | |
A | Opcode 1010 Emulation | Instruction word with a value between A000-AFFF. |
B | Opcode 1111 Emulation | Instruction word with a value between F000-FFFF. |
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. |
yyyyyyyy ist die Adresse des Tasks, bei der ein Fehler aufgetreten ist.
(Normalerweise ist es Ihr eigenes Programm, das das Problem verursacht hat.)
Wenn Sie eine Guru-Meditation-Nummer wie #00000005.00C13870 erhalten, bedeutet dies: Ein Programm hat an der Adresse C13870 versucht, einen Wert durch Null zu dividieren. Da Sie nun wissen, was der Fehler war, brauchen Sie nur die Stellen zu untersuchen, an denen Ihr Programm gezwungen werden kann, einen Wert durch Null zu dividieren, und es sollte nicht allzu lange dauern, den Fehler zu finden.
SYSTEM SOFTWARE ERRORS
System Software errors sehen so aus:
Guru Meditation #aabbcccc.dddddddd
Das erste Feld der Nummer gibt an, ob es sich um einen
behebbaren Fehler oder um einen Dead End Alert handelt. Wenn der Fehler
ein Dead End Alert ist, beginnt die Nummer mit 8, andernfalls ist sie
0. (Der gesamte Bildschirm wird auch schwarz sein, während bei
Recoverable Errors der Bildschirm nur ein wenig nach unten geschoben wird).
Das erste Feld der Nummer sagt uns auch, welches Gerät, welche
Bibliothek oder welche Ressource fehlerhaft war:
LIBRARIES
01 | Exec Library |
02 | Graphics Library |
03 | Layers Library |
04 | Intuition Library |
05 | Math Library |
06 | CList Library |
07 | AmigaDOS Library |
08 | RAM Handler Library |
09 | Icons Library |
DEVICES
10 | Audio Device |
11 | Console Device |
12 | GamePort Device |
13 | Keyboard Device |
14 | Trackdisk Device |
15 | Timer Device |
RESOURCES
20 | CIA Resource |
21 | Disk Resource |
22 | Misc Resource |
OTHERS
30 | BootStrap |
31 | Workbench |
32 | Disk Copy |
Wiederherstellbarer Fehler in der Intuition Library.
Während eine Zahl wie 84 bedeutet: Fataler Fehler in der Intuition Library
Das zweite Feld (bb) der Guru-Meditationsnummer gibt uns
die allgemeine Ursache des Problems:
01 | No Memory |
02 | Unable to Create Library |
03 | Unable to Open Library |
04 | Unable to Open Device |
05 | Unable to Open Resource |
06 | Input/Output (I/O) Error |
07 | No Signal |
Eine Zahl wie 8201cccc bedeutet also einen schwerwiegenden Fehler in der Grafikbibliothek, das Problem wurde durch zu wenig Speicher verursacht.
Das letzte Feld (cccc) vor dem Punkt gibt einige genauere Informationen. Hier ist eine Liste einiger üblicher Guru Meditation Numbers: (Diese Informationen stammen aus der Headerdatei "exec/alerts.h" [V1.3]:)
EXEC LIBRARY
01000000 | |
81000001 | 68000 exception vector checksum |
81000002 | Execbase checksum |
81000003 | Library checksum failure |
81000004 | No memory to make library |
81000005 | Corrupted memory list |
81000006 | No memory for interrupt servers |
81000007 | InitStruct() of an APTR source |
81000008 | A semaphore is in illegal state |
81000009 | Freeing memory already freed |
8100000A | Illegal 68k exception taken |
GRAPHICS LIBRARY
02000000 | |
82010000 | Graphics out of memory |
82010006 | Long frame, no memory |
82010007 | Short frame, no memory |
02010009 | Text, no memory for TmpRas |
8201000A | BltBitMap, no memory |
8201000B | Regions, memory not available |
82010030 | MakeVPort, no memory |
82011234 | Emergency memory not available * |
LAYERS LIBRARY
03000000 | |
83010000 | Layers out of memory |
INTUITION LIBRARY
04000000 | |
84000001 | Unknown gadet type |
04000001 | Recovery form of AN_GadgetType |
84010002 | Create port, no memory |
04010003 | Item plane alloc, no memory |
04010004 | Sub alloc, no memory |
84010005 | Plane alloc, no memory |
84000006 | Item box top < RelZero |
84010007 | Open screen, no memory |
84010008 | Open screen, raster alloc, no memory |
84000009 | Open sys screen, unknown type |
8401000A | Add SW gadgets, no memory |
8401000B | Open window, no memory |
8400000C | Bad State Return entering Intuition |
8400000D | Bad Message received by IDCMP |
8400000E | Weird echo causing incomprehension |
8400000F | Couldn't open the Console Device |
AMIGA DOS LIBRARY
07000000 | |
07010001 | No memory at startup |
07000002 | EndTask didn't |
07000003 | Qpkt failure |
07000004 | Unexpected packet received |
07000005 | Freevec failed |
07000006 | Disk block sequence error |
07000007 | Bitmap corrupt |
07000008 | Key already free |
07000009 | Invalid checksum |
0700000A | Disk Error |
0700000B | Key out of range |
0700000C | Bad overlay |
RAM LIBRARY
08000000 | |
08000001 | No overlays in library seglists |
TRACKDISK DEVICE
10000000 | |
10000001 | Calibrate: seek error |
10000002 | Delay: error on timer wait |
TIMER DEVICE
15000000 | |
15000001 | Bad request |
15000002 | Power supply does not supply ticks |
DISK RESOURCEK.RESOURCE
21000000 | |
21000001 | Get unit: already has disk |
21000002 | Interrupt: no active unit |
BOOTSTRAP
30000000 | |
30000001 | Boot code returned an error |
Die Zahl nach dem Punkt (dddddddd) kann drei Dinge bedeuten:
- Die Adresse der Aufgabe, bei der ein Fehler aufgetreten ist.
- Wenn der Fehler bei einer Speicherzuweisung oder -freigabe auftrat, ist es die Adresse des Speicherblocks.
- Wenn Exec wirklich verwirrt ist, lautet die Nummer 48454C50, was für HELP steht. (48=H, 45=E, 4C=L, 50=P)
|