goto section page goto youngmonkey main page make contact, e-mail

Soliving the GURU
Advertising Space Available

Author:dhomas trenn
Published by:NewTekniques magazine (US)
Date:April 1999

One of the greatest worries of using any computer system is the seemingly random crashes that sometimes occur. On the Amiga, most of us are familiar with the flashing red or yellow alerts that appear from time to time. It's those times when you immediately start thinking to yourself...When did I last save this project?

What causes a computer crash?
Sometimes, crashes can be hardware related; overheating, damaged memory or a short circuit could all cause the system to be unreliable. But, more often, the problem is related to programming errors.

If your computer mysteriously starts crashing while using applications that used to work okay, consider whether you have recently installed a new program or updated one. If so, it is possible that this new software is the culprit.

What is a GURU Meditation Error?
The name probably came from the deep-thinking look that a programmer has when trying to debug a program - Basically, a GURU just means that a program has done something that the system could not handle.

When the operating system progressed beyond v1.3, the GURU Meditation Error was retitled as a Software Failure (flashing red). Perhaps it sounded less technical to the general public; but, the title change did not make the problem go away.

What do the GURU numbers mean?
Unless you are a programmer, the meaning of the GURU error numbers will probably not be of much use; but, curiosity is a good thing. One of the best programs available, The Guru (aminet: dev/debug/Guru3.0Eng.lha), was written by Emiel Lensink. It is freeware and in addition to decoding GURU numbers, will also tell you about DOS errors.

Is a Recoverable Alert a good thing?
Recoverable Alerts (flashing yellow) were introduced to accommodate the idea that some errors do not corrupt the entire system. Although the intention is good, in my experience, Recoverable Alerts ALWAYS lead to inevitable doom. If you are really lucky, a Recoverable Alert might allow you to save your current project; but, it is just as likely to result in lost data.

If you encounter a Recoverable Alert the safest thing to do is reboot. But, If you are worried about losing your work, use SAVE AS with a new project name. That way, if the save does fail, at least you still have the previously saved work. It is also a good idea to save the project to a different hard drive or partition. If you can, it's helpful to have a partition just for temporary files and for when these problems occur. After you save your work reboot the computer.

Don't let the Recoverable Alert fool you; it's a bad thing, indeed.

What can be done about this?
The most common cause of system crashes is the mismanagement of memory. When a program needs memory, it has to request it from the system. Usually, a program should only access it's allotted memory. Sometimes though, a bad program will attempt to use memory that does not belong to it. In the worst cases, this can cause the operating system, or other programs, to get seriously confused.

A good watchdog for these problems is a program called Enforcer (aminet: dev/debug/enforcer.lha), or Cyberguard (????). It is generally considered a programmer's tool, but anyone can benefit from its use. Before testing a new application, start Enforcer like this:

Enforcer STACKLINES=0 FILE=CON:0/0/640/150/Enforcer/Auto/Close

While it is active, Enforcer protects the most important memory areas, and if it detects a memory problem it will open a window and give a report like this:
LONG-WRITE to 00000102                  PC: 085FF746
USP:  088847C8 SR: 0014 FLSW: 00810200 TCB: 088836F0
Data: 00000000 DDDD1111 DDDD2222 DDDD3333 085FF6E2...
Addr: AAAA0000 AAAA1111 AAAA2222 AAAA3333 AAAA4444...
----> 085FF746 - "LawBreaker" Hunk 0000 Offset 00000086
----> $085ff746: MOVE.L    D0,$0102.W
Name: "LawBreaker"   Hunk 0000 Offset 00000086
If that looks like total gibberish to you, do not worry. You need only be concerned by the last line, which tells you what program caused the problem; in this case, "LawBreaker". If the first line indicates a WRITE operation, as this one does, you can expect trouble. If it is a READ operation, things are not as bad; but, not great either.

If Enforcer detects a bad program, you should try to contact the author and report the problem. Unfortunately, that isn't always possible, particularly if a programmer has stopped developing the program. It is a good rule of thumb to avoid using programs that generate Enforcer hits.

Enforcer can be started from your user-startup to be on-guard all the time. Doing this may slow down your system a very small amount; but, the protection it offers might be well worth it. It is not a complete solution; but, Enforcer is a very good tool to troubleshoot mysterious system crashes.