[comp.sys.amiga] Buggy Software Fix-It Kit

dlarson@blake.acs.washington.edu (Dale Larson) (01/11/90)

<eat this!>

I want to put together a disk (or disk set) of stuff to send to companies
who produce buggy software in an effort to make their task of fixing those
bugs easier.  For example, WP has a lot of trouble dealing with low memory
situations, so programs for creating low and fragmented memory situations
would be helpful for them to have.  I don't know how "in touch" they are
with other Amiga developers and their products (i.e. Fish disks), but think
that they might not have many of these utilities and code examples, etc.

If you have a software company (and address!!!) you would like to see 
recieve one of these sets, a nomination for pd utilities or code for
debugging their code, or would like to make a donation for the cost of 
the disks and mailing (!)  ;-)  please see my email address below.
-- 
	    A lack of prior planning on the part of any programmer 
		       always constitutes an emergency.
	
           Digital Teddy Bear      dlarson@blake.acs.washington.edu

ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (01/12/90)

In article <5289@blake.acs.washington.edu> dlarson@blake.acs.washington.edu (Dale Larson) writes:
>For example, WP has a lot of trouble dealing with low memory
>situations, so programs for creating low and fragmented memory situations
>would be helpful for them to have.  [ ... ]

	Let *me* tell ya about low memory....

	I've been pulling large quantities of hair off various part of my
body trying to combat system failures to low memory.  Despite whatever other
flaws it has, I really have to hand it to Dan Silva; it's tough to crash
DPaint with low memory.  We know.  We tried.

	Anyway, I've discovered that one rather important system function
goes belly-up in a big way when memory gets short.  It's AutoRequest(), and
I formally reported the bug on BIX last night.  "Okay," you say, "I won't
call AutoRequest()."

	Ha.  That's what you think.  Remember DOS?  It calls AutoRequest()
to throw up those "Please insert volume copy 32 of Empty: in any drive"
requesters.  "Okay," I hear you say, "I'll set the Process.pr_WindowPtr to
-1 and turn them off."  Oh yeah?  There are some DOS requesters you *can't*
shut off.  And what about other programs that may be running in the system
that may indirectly call up a requester?

	"Okay," I hear you saying, "I'll do an AvailMem() before I do
allocations or DOS calls and make sure there's enough memory left in the
system for AutoRequest() to work."  Uh huh.  Apart from the fact that this
will complicate your code beyond belief, you have no guarantee that other
programs in the system will do the same thing, that is, leave a little bit
for the OS.  So even if you keep 100K free, someone else may allocate it out
from under you, and you *still* end up looking at a flashing red box.  The
really irritating part of all this is that it looks like *your* program is
at fault.

	I've been trying to think of various ways of defending myself against
low memory, but I haven't been able to come up with a suitably elegant
solution.  If anyone has any suggestions, or can point to formal work on the
subject, I'd greatly appreciate it.

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Leo L. Schwab -- The Guy in The Cape	INET: well!ewhac@ucbvax.Berkeley.EDU
 \_ -_		Recumbent Bikes:	UUCP: pacbell > !{well,unicom}!ewhac
O----^o	      The Only Way To Fly.	      hplabs / (pronounced "AE-wack")
	 "Because you never know who might want to sit in your lap."

new@udel.edu (Darren New) (01/12/90)

In article <15486@well.UUCP> ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:
>	Anyway, I've discovered that one rather important system function
>goes belly-up in a big way when memory gets short.  It's AutoRequest(), and

You probably know better than I, having more recent experience with it.
However, I've had little problem with this because instead of a requestor,
I get a recoverable alert when I run out of memory and then try to
open an AutoRequest.  Admitedly, it looks like a crash, but it really isn't.
		    -- Darren

terry@helios.ucsc.edu (Terry Ricketts) (01/13/90)

	The problem of memory running low is a problem that plagues all
Amigas. A friend is running a BBS and the software seems to eat a little bit
of memory every time a user calls in. He has to watch it constantly & when
memory starts to get low eithor run 'sweep' or reboot.
	I seem to remember that when I used Facc II (I now use BlitzDisk) there
was a built in facility to check for low memory and warn the user when it
happened. It used a library entry that was called asdglomem.lib if I remember
correctly. I'm sure Perry K. can tell the full story on it.

tron1@tronsbox.UUCP (HIM) (01/14/90)

>Amigas. A friend is running a BBS and the software seems to eat a little bit
>of memory every time a user calls in. He has to watch it constantly & when
>memory starts to get low eithor run 'sweep' or reboot.

There are some PD "cron" utilities that would run Sweep for him ever 15-20
minutes.

****************************************************************************
Everything I say is (c) 1990, except the stuff I stole from someone else
and the stuff I don't want responsibility for.
 
Kenneth J. Jamieson: Xanadu Enterprises Inc. "Professional Amiga Software"
      UUCP: tron1@tronsbox.UUCP  BEST PATH ---> uunet!tronsbox!tron1 
      Sysop, Romantic Encounters BBS - (201)759-8450 / (201)759-8568 
****************************************************************************