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 ---