The current grim reaper offers a very good facility to debug errors or handle software faults in contrast of the classic Guru Meditation requester.
However there is some applications which should benefit one of the features of the classic Guru. Just to mention only one such application is the kiosks, or info teminals. I am sure everyone has seen the blue screens of died windows systems at public premises before. I don' care that how badly is configured those systems, but more interesting for me is that how OS4 can solve that problem.
Is there a way currently that can disable the GR gui and just restart the os, or what do you think of a feature like that?
Grim is just a program that is started when different program crashes, you can replace it whit any thing you like, if you like reboot then make a program called Grim that reboots your Amiga no guru no nothing.
Edited by LiveForIt on 2007/6/6 17:26:27
(NutsAboutAmiga)
Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
Ok. So that was a silly question. :) Thanks for the answare. I have just replaced sys:system/GrimReaper with notepad and it is started beside the GR gui.
That was a simple and Amiga like solution. Thanks again.
Ahh! It is even possible to send a message over the network when a program crashing. How brilliant....
However there is some applications which should benefit one of the features of the classic Guru. Just to mention only one such application is the kiosks, or info teminals. I am sure everyone has seen the blue screens of died windows systems at public premises before. I don' care that how badly is configured those systems, but more interesting for me is that how OS4 can solve that problem.
Hmm, I've seen the Guru on crashed Amiga info screens before. IIRC it is only the recoverable alert that has a timeout, the Software Failure/Guru Meditation never did.
The GR is just a program that the OS runs when a task crashes, so it ought to be able to do anything else, like reboot the system instead.
It sounds like a good idea for applications that must keep running.
[edit] Now that I think more about it, you could copy the Reboot command from C: into System/ and call it GrimReaper, then the reboot would happen automatically.
Now that I think more about it, you could copy the Reboot command from C: into System/ and call it GrimReaper, then the reboot would happen automatically.
This solution is somewhat dirty. Something more elegant would be having an environment variable (say, CRASHHANDLER) defining the full path to the application to fire on crashes (much like VIEWER). I guess this is trivial to implement, so I hope AOS4 developers are reading here
Now that I think more about it, you could copy the Reboot command from C: into System/ and call it GrimReaper, then the reboot would happen automatically.
This solution is somewhat dirty. Something more elegant would be having an environment variable (say, CRASHHANDLER) saimo
Dirty, but simple. :) We really should not bother GR only in very special circumstances.
sorry if a little bit off topic, but the recoverable alert in it's current form is a bit of annoying. What do you think? Sometimes you have to click 10-15 times to make it disappear (as Murphy knows, the Recoverable allert comes only the ehm.. few times there is some important work not yet saved, so you _have_ to go through the infinity of mouse clicks). :-/ It's expecially bugging when there is a screen resolution difference, so it keeps both me and the TFT going nuts.
Could it be integrated in the GrimReaper somehow? (hope some devs are reading ) Is it technically possible at all?
What is so complicated in having $CRASHHANDLER set by default to SYS:System/GrimReaper and having the possibility of adding a line like "Setenv CRASHHANDLER SYS:C/Reboot" in one's user-startup?
Quote:
We really should not bother GR only in very special circumstances.
Ahh! It is even possible to send a message over the network when a program crashing. How brilliant....
You probably should do some thing like this:
DumpDebugBuffer CLEAR >RAM:crash.log
And then you should use sendmail before your AmigaOne finally reboots, that way you can check the crashes, from your administrators email account.
You should never setup your Amiga like this unless you?re using your Amiga only as server of some sort, because if you are using your AmigaOS4 for desktop, and some unrelated program crashes your computer will reboot, and you will not be able to save your work even if it where possible to do so.
(NutsAboutAmiga)
Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
sorry if a little bit off topic, but the recoverable alert in it's current form is a bit of annoying. What do you think? Sometimes you have to click 10-15 times to make it disappear (as Murphy knows, the Recoverable allert comes only the ehm.. few times there is some important work not yet saved, so you _have_ to go through the infinity of mouse clicks). :-/
What's more annoying is, with a USB mouse, you can't click to get rid of the recoverable alerts, so you have to wait for the millions of requesters to time out (I usually find it is quicker to whack the reset button and re-do whatever it was I was doing)
If the recoverable alerts could also go to the Grim Reaper, that would be utterly marvellous.
Recoverable alerts allways clear instantly on my machine, I don;t know why. The result is a kind of yellow flash.
I think they only occur for really low level crashes, so the grim reaper cant catch them.
I would be very wary of saving anything after a few of them as memeory lists and all sorts will messed up and your liable to save garbage or crash during saving.
Grim is just a program that is started when different program crashes, you can replace it whit any thing you like, if you like reboot then make a program called Grim that reboots your Amiga no guru no nothing.
It's not quite that easy. The initial requester is done by the kernel reaper...
There are actually two parts of this, Reaper and Grim Reaper. Reaper is part of the kernel, while Grim Reaper is loaded from disk. Reaper is started within the kernel, and brings up the initial requester, and only if you press "More..." the Grim Reaper is started...
I'll add an option to skip the requester, and maybe one to reset the machine directly. Thanks to lazi for pointing this out.
Seriously, if you do want to contact me write me a mail. You're more likely to get a reply then.
That is going to be next to impossible with the current alerts. The DisplayAlert disables interrupts, and the USB driver relies on them. What we would need is a new method of delivering alerts beyond that rather antiquated alerts - they are only there because they require minimal system resources and minimal system interaction.
Seriously, if you do want to contact me write me a mail. You're more likely to get a reply then.
While we're at the topic, what about Recoverable alerts? Whenever I get those my system becomes completely unstable and eventually freezes. Shouldn't we get rid of recoverable errors and bring up a GrimReaper as well in those cases? Then I could kill the program which gives the errors and the system could stay stable, but the user still has a choice to continue the program if he so wishes.
It's not quite that easy. The initial requester is done by the kernel reaper...
There are actually two parts of this, Reaper and Grim Reaper. Reaper is part of the kernel, while Grim Reaper is loaded from disk. Reaper is started within the kernel, and brings up the initial requester, and only if you press "More..." the Grim Reaper is started...
I found that if I rename/remove/replace the GrimReaper file then even the initial requester does not come up. However if I copy c:reboot to utilities/grimreaper it does not started by a crash.
Is there a proper way to capture the crash by changing the GrimReaper file and after handled it somehow (eg.: play a sound) then call the original GrimReaper?