[comp.sys.amiga] Memory loss problem

walton@tybalt.caltech.edu (Steve Walton) (06/30/87)

My Amiga (stock 1000, external drive, 512K Alegra) has suddenly developed
a very weird problem. After certain programs are run, the free memory
(as returned by AvailMem) has dropped by some large amount.  Eventually,
the free list gets so corrupted that the machine locks up.  The only program
which exhibits the behavior that I've been able to pin down is TxEd--20K or
so disappear after every invocation.  This is *not* a problem with TxEd,
but with my machine, as I spent some time sizing editors a while back and
found that TxEd gave back every byte it took.
    Ideas?  I have run a memory test (under 1.1) on my Alegra and it checked
out OK.  I suspect either a bad chip in the chip RAM or in the WCS, with
the former causing free list corruption and the latter causing Kickstart
to be corrupted upon being read in.  Is there any way to check for either
or both of these, short of opening the machine?
    Please e-mail replies and I'll post a summary of suggestions and the fix
when I find it (could be a while :-< ).

    Steve Walton, guest as walton@tybalt.caltech.edu
    AMETEK Computer Research Division, ametek!walton@csvax.caltech.edu
"Long signatures are definitely frowned upon"--USENET posting rules

gary@mit-eddie.UUCP (07/07/87)

In article <3121@cit-vax.Caltech.Edu> walton@tybalt.caltech.edu (Steve Walton) writes:
}
}My Amiga (stock 1000, external drive, 512K Alegra) has suddenly developed
}a very weird problem. After certain programs are run, the free memory
}(as returned by AvailMem) has dropped by some large amount.

This can be caused by a program loading system libraries that it needs.
The Amiga OS actually keeps these libraries around in memory until this
memory is needed for some reason.  This helps cut down on the reloading
of libraries that are often needed.

To determine if this is your "memory loss" problem, do your memory check
only after the SECOND invocation of a program (the libraries will already
have been loaded).

} Eventually, the free list gets so corrupted that the machine locks up.

Well, that is something else and may be the result of running a buggy
program.

	Gary

john13@garfield.UUCP (07/09/87)

In article <6254@eddie.MIT.EDU>, gary@eddie.MIT.EDU (Gary Samad) writes:
> The Amiga OS actually keeps these libraries around in memory until this
> memory is needed for some reason.  

Is there a reason why the libraries will be expunged by memory requests from
within a program, but if you get an "insufficient free store" error while a
program is loading (and you know it is due to fonts, libraries etc causing
fragmentation) the system will not make any attempt to reclaim memory? I've had
the experience of booting a silly memory-intensive demo just to get rid of
a lot of un-expunged junk.

John

andy@cbmvax.UUCP (Andy Finkel) (07/17/87)

In article <3787@garfield.UUCP> john13@garfield.UUCP writes:
>In article <6254@eddie.MIT.EDU>, gary@eddie.MIT.EDU (Gary Samad) writes:
>> The Amiga OS actually keeps these libraries around in memory until this
>> memory is needed for some reason.  
>
>Is there a reason why the libraries will be expunged by memory requests from
>within a program, but if you get an "insufficient free store" error while a
>program is loading (and you know it is due to fonts, libraries etc causing
>fragmentation) the system will not make any attempt to reclaim memory? I've had
>the experience of booting a silly memory-intensive demo just to get rid of
>a lot of un-expunged junk.

That's a good suggestion.  AmigaDOS should try a big allocate before
giving up and reporting "insufficient free store".  In the meantime,
rather than loading a "silly memory-intensive demo" you could use
the hidden Workbench menu item FlushLibs.
		andy


-- 
andy finkel		{ihnp4|seismo|allegra}!cbmvax!andy 
Commodore-Amiga, Inc.

"The goal of Computer Science is to build something that will last at
least until we've finished building it."

Any expressed opinions are mine; but feel free to share.
I disclaim all responsibilities, all shapes, all sizes, all colors.

fgd3@jc3b21.UUCP (Fabbian G. Dufoe) (07/22/87)

In article <2133@cbmvax.UUCP>, andy@cbmvax.UUCP (Andy Finkel) writes:
> ... In the meantime,
> rather than loading a "silly memory-intensive demo" you could use
> the hidden Workbench menu item FlushLibs.
> 		andy
> 
> 
> -- 
> andy finkel		{ihnp4|seismo|allegra}!cbmvax!andy 
> Commodore-Amiga, Inc.

     Boy, there sure are a lot of undocumented or "hidden" features for
this machine.  How do you make FlushLibs appear on the Workbench menu?

--Fabbian Dufoe
  350 Ling-A-Mor Terrace South
  St. Petersburg, Florida  33705
  813-823-2350

UUCP: ...seismo!akgua!usfvax2!jc3b21!fgd3 

bryce@COGSCI.BERKELEY.EDU (Bryce Nesbitt) (07/22/87)

In article <129@jc3b21.UUCP> fgd3@jc3b21.UUCP (Fabbian G. Dufoe) writes:
>In article <2133@cbmvax.UUCP>, andy@cbmvax.UUCP (Andy Finkel) writes:
>>
>> ...you could use the hidden Workbench menu item FlushLibs.
>> 		andy
>
>     Boy, there sure are a lot of undocumented or "hidden" features for
>this machine.  How do you make FlushLibs appear on the Workbench menu?

Andy mentioned it in the message just before the one you responded to.
From any cli type:

loadwb -debug

When the dust settles there will be a new "invisible" workbench tool menu.
The menu is unlabled and exists just to the right of all the other menu
titles.

The "debug" option dumps you to a debugger, but you need a terminal attached
to the serial port at 9600 baud to use it.
The "flushlibs" option causes all resident libraries (and fonts, probably)
that have no active users to be kicked out of memory.

-----------------------------
|\ /|  . Ack! (NAK, EOT, SOH)
{o O} . 
( " )	bryce@cogsci.berkeley.EDU -or- ucbvax!cogsci!bryce
  U	"Success leads to stagnation; stagnation leads to failure."

lapin@ihuxy.ATT.COM (Roch) (07/24/87)

In article <2133@cbmvax.UUCP>, andy@cbmvax.UUCP (Andy Finkel) writes:
> ... In the meantime, rather than loading a "silly memory-intensive 
> demo" you could use the hidden Workbench menu item FlushLibs.
> andy finkel		{ihnp4|seismo|allegra}!cbmvax!andy 
> Commodore-Amiga, Inc.

Hidden Workbench menu items?  Would anyone care to expand on this?

merci d'avance,
David Roch
AT&T Bell Labs
You can't get there from here - REM

john13@garfield.UUCP (07/27/87)

In article <2133@cbmvax.UUCP>, andy@cbmvax.UUCP (Andy Finkel) writes:
> ... In the meantime, rather than loading a "silly memory-intensive 
> demo" you could use the hidden Workbench menu item FlushLibs.
> andy finkel		{ihnp4|seismo|allegra}!cbmvax!andy 
> Commodore-Amiga, Inc.

I've needed to use the trick once since I posted, and I did use flushlibs
(following a loadwb -debug, just in case anyone hasn't heard yet). This
resulted in an odd address error at $a708 the next time I ran a program. Would
the version number of the Workbench (ie 1.1 or 1.2) make a difference here? It
was 1.2 Kickstart I was using; my silly 1.1 demos still work though :-).

John
-- 
To preserve deniability, I have not informed the University of this posting.
But if I had, they would have been 100% behind it, yessirree bob.
This posting has statements that are evasive, misleading, and just plain wrong.
But that is only because I love the UseNet with all my heart!

eric@cbmvax.UUCP (Eric Cotton) (07/27/87)

In article <2048@ihuxy.ATT.COM> lapin@ihuxy.ATT.COM (Roch) writes:
>In article <2133@cbmvax.UUCP>, andy@cbmvax.UUCP (Andy Finkel) writes:
>> ... In the meantime, rather than loading a "silly memory-intensive 
>> demo" you could use the hidden Workbench menu item FlushLibs.
>> andy finkel		{ihnp4|seismo|allegra}!cbmvax!andy 
>> Commodore-Amiga, Inc.
>
>Hidden Workbench menu items?  Would anyone care to expand on this?

Andy was refering to the invisible fourth WorkBench menu which has 
two MenuItems: Debug and flushlibs.  run LoadWb with the debug option
to get the new menu to appear:

			LoadWb -debug

-- 
	Eric Cotton
	Commodore-Amiga

  *======================================================================*
 *=====     UUCP: {ihnp4|allegra|seismo}!cbmvax!eric                 =====*
*=====      FONE: (215) 431-9100                                      =====*
*=====      MAIL: 1200 Wilson Drive / West Chester, PA 19380          =====*
 *=====     PAUL: "I don't find this stuff amusing anymore."         =====*
  *======================================================================*

peter@sugar.UUCP (Peter da Silva) (07/30/87)

>      Boy, there sure are a lot of undocumented or "hidden" features for
> this machine.  How do you make FlushLibs appear on the Workbench menu?

Watch how you go poking around in the menu bar. I just clicked the menu bar
and released it in the upper left corner of the screen and my "special" menu
went away for a while.

Probably one of my desk accesories... but maybe not.
-- 
-- Peter da Silva `-_-' ...!seismo!soma!uhnix1!sugar!peter (I said, NO PHOTOS!)