On Tue, Sep 4, 2012 at 1:59 PM, Erik Huelsmann <ehuels@gmail.com> wrote:
Hi Alan, Alessio,

On Tue, Sep 4, 2012 at 9:22 AM, Alessio Stalla <alessiostalla@gmail.com> wrote:
On Tue, Sep 4, 2012 at 6:45 AM, Alan Ruttenberg
<alanruttenberg@gmail.com> wrote:
> I've recently been getting
>
> ; Evaluation aborted on #<JAVA-EXCEPTION java.lang.OutOfMemoryError:
> PermGen space {2D9FD5EA}>.
>
> I'm wondering whether it is possible that the recent changes to
> autoloading are filling more of this space, leading to my (and
> presumably others at some point) errors.

Well, unless you're using tons of Java libraries, PermGen exhaustion
in ABCL pretty much implies a memory leak (such as many functions
never getting garbage collected). I don't know if that can be caused
by autoloads or not, though.

The autoloads change simply means that several thousand instances of the Java class org.armedbear.lisp.Autoload are being instantiated instead of several hundred. I don't see how that would affect PermGen space.

Could it be that your own project has surpassed some critical size?

No, this stuff worked before. I'm wondering if it is java 1.7 related. I was getting all kinds of problems with different formulations of the java startup - crazy stuff like not seeing the main class or not being able to start it. I'm wondering whether there is some sort of truncation of command line when using abcl under slime - running the same thing under a shell in emacs worked.

In any case, I'm now using java -jar abcl.jar, putting the classpath in CLASSPATH, and adjusting the Permsize to 128m, and seem to be able to continue. 
I hate when I can't isolate things.

If someone has time perhaps you can do some experiments with older and newer versions of ABCL under 1.6 and 1.7, using the gc details setting to get a peek at whether memory allocation looks to be different. But it isn't blocking me atm.

-Alan
 


Bye,

Erik.