[comp.sys.amiga] vd0: failing to recover with probability >> 0

jack@cca.CCA.COM (Jack Orenstein) (05/25/88)

I'm using a 2 meg vd0: and putting everything needed for C compilation
in it. Lately I've been debugging some code that opens a new screen and
window and fails, leaving un-reclaimable chip memory. To get the memory
back, I do a Control-A-A, and about 40% of the time, I lose vd0:. I then
have to reload that 2 meg from floppies. 

I don't have an explanation, but I have noticed a correlation: The failures
seem to happen more frequently following out-of-memory messages about vd0:
Is this coincidental, or is there some reason why running out of memory
should later prevent vd0: from recovering?

Jack Orenstein


P.S. If anyone knows how to get back the chip memory following the
program crash, that would also be very helpful.

jesup@cbmvax.UUCP (Randell Jesup) (05/27/88)

In article <28610@cca.CCA.COM> jack@cca.CCA.COM (Jack Orenstein) writes:
>I'm using a 2 meg vd0: and putting everything needed for C compilation
>in it. Lately I've been debugging some code that opens a new screen and
>window and fails, leaving un-reclaimable chip memory. To get the memory
>back, I do a Control-A-A, and about 40% of the time, I lose vd0:.

	A)  The 1.2 OpenScreen will lose a small amount of chip memory
	    if the open fails.  Sorry, you'll have to live with it for now.
	B)  If vd0: is running low on memory, it will use chip ram.  Chip
	    ram is MUCH more likely to get hit in a warm boot than fast
	    memory.  Solution: don't set a vd0: for more than 1.5Meg on
	    an amiga with 2 meg of FAST memory.

>P.S. If anyone knows how to get back the chip memory following the
>program crash, that would also be very helpful.

	Getting back anything from a dead process is risky at best.  If you
want to try, check out GOMF.

Randell Jesup		{uunet!ihnp4|allegra}!cbmvax!jesup

Skywalker@cup.portal.com (05/27/88)

I am pretty sure that the VD0: memory errors are due to running out
of FAST ram before the disk is full. If your board auto-configures,
then the non-display system memory, and any programs that you run,
start using up your fast ram. How full is your VD0:? and how much
free fast ram do you have just before you run your program, and after?
Is there any correlation between how much you put in vd0: vs how frequently
/when it crashes?

Also, wild pointers (running off the end of arrays, etc) have an attraction
to trashing vd0:'s integrety.  (I wish Amy had hardware memory protection...)
You might make your vd0: smaller (say 1.5 Meg), so that it can't run out of
fast ram. I seem to remember the docs saying something to the effect
that it is better to fill up vd0: than to run out of fast ram, as then
it may crash...

hope this helps...

    --- scott ---