🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.amiga.tech
Article #9670

Re: divide by 0 problem in "info"? Also: GOMF

#9670
From: Rob Peck
Date: Thu, 01 Sep 1988 17:10
42 lines
2818 bytes
In article <2914@hubcap.UUCP>, rchampe@hubcap.UUCP (Richard Champeaux) writes:
> 
>     GOMF seems to catch a lot of the system errors, both the "Task Held"
> and the GURU ones.  However, it doesn't tend to catch the ones I got it for,
> the ones that the programs I'm writting create.  To quote the manual:
> 
>           The third is a catastrophic system failure chaaracterized by an
>      instant lockup of the entire system.  Unfortunately, this 'sudden death'
>      is fatal to all programs, including GOMF.  Luckily, programmers so inept

I found that the most common cause of instant lockup (at least when -->I<--
cause it) is asking to free a memory segment that has already been freed.
It seems that once a free memory list has been mangled, Amy does not
quite know what to do --- 

	"Do I have any memory available to put up a dead end requester, 
	 well, maybe I'd stomp on something because this memory list is 
	 so rotz'ed up I don't quite know what to do... aha, I'll just lock
	 up... the programmer (or user) will recognize that I have a problem 
	 and nerve pinch me back to health"

Actually, maybe lets make this an official request for 1.4 -- make it impossible
to lock up the system under at least this particular condition (and any
others for which the reason for the lockup can be determined).  No, I
don't know HOW, but maybe the lockup condition can be reworked to wait
a few seconds (so the user might recognized that it was locked), then
stomp/unstomp something so that a dead end requester can be put up --
like maybe even if the memory list is messed up, make a fast assumption
that there is at least 512k in the machine and reinitialize the memory
and/or screen so that the requester can be put up with the appropriate
message.  The access to data is probably already too bad off and it
might be more desireable to allow the machine to recover on its own.

One thing I had not tried yet, though ... does the system drop into
ROMWack when a lockup happens?  If so, programmers might still benefit,
even during lockup, if an external terminal could do a little bit of
post-mortem analysis.  You'd have to do a bit of printf'ing to the
external terminal before the crash, so you'd know where Amy loaded
and created various structures, but maybe there'd be a way to look
at things if you crash consistently each time you run it.

Rob Peck
Technical Details
Message-ID: <571@ardent.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!attcan!uunet!ubvax!ardent!rap
References: <1841@kalliope.rice.edu> <2914@hubcap.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!attcan!uunet!ubvax!ardent!rap
From: rap@ardent.UUCP (Rob Peck)
Newsgroups: comp.sys.amiga.tech
Subject: Re: divide by 0 problem in "info"?  Also: GOMF
Summary: avoid at least: freeing already free memory
Message-ID: <571@ardent.UUCP>
Date: 1 Sep 88 17:10:12 GMT
References: <1841@kalliope.rice.edu> <2914@hubcap.UUCP>
Organization: Dana Computer, Inc., Sunnyvale, CA
Lines: 42