Jump to content
Excelsior Forums
tanelorn

F941 Out of Memory Error

Recommended Posts

Hi,

I am using Excelsior 5.0 on a Windows platform.

While compiling a large class (>500K) embedded in a big jar (>13M), jc crashed at first with an F950 error ("out of memory: adjust COMPILERHEAP equation").

Since I'm more interested in completing the compilation than getting optimized code for now, I fixed this using the COMPILEWITHFIXEDHEAP, as suggested by the documentation.

The F950 error disappeared, but I am now running into F941 errors ("out of memory: increase the value of COMPILERHEAP equation"). This error does not seem affected by the COMPILEWITHFIXEDHEAP flag, so I gradually increased the COMPILERHEAP.

I am now using "-compilerheap=2000000000", which seems to be near the acceptable limit value, and jc is still crashing with F941 errors.

Do you have any advice? It would be definitely acceptable for me to spend more time compiling due to swapping, or to specifically disable native code compilation for this large class. But I still need most of this jar to be natively compiled, as my code depends on it.

Best Regards.

Share this post


Link to post
Share on other sites

Hi,

Unfortunately, it seems that your class cannot be compiled by the current version of Excelsior JET.

However, 500k class file is not so large and it should not cause such a problem.

Try to extract it from jar file and compile alone (you can set "+gendll -dllname=foo" compiler options if class does not contain main method).

Also, if you could send us (java@excelsior-usa.com) the class/jar file which provokes the error, we could inspect it and see if we can do anything to decrease compiler memory consumption in this case.

-AlexM

Share this post


Link to post
Share on other sites

Hi,

I have just sent you the smallest jar still reproducting the F941 error I could come up with.

Actually, this problem is alleviated by the fact that none of my classes directly inherit from or implement the content of this jar. So, as I understand it, not compiling it does not impede their native compilation.

Anyway, the resulting jar is surprisingly small, so that's probably worth a look.

Best regards.

Share this post


Link to post
Share on other sites

Hi,

Following an advice from your support team, I compiled this jar with the just-released Excelsior JET 6.

This F941 error is not reproduced anymore: the JET 6 version seems much more robust with respect to memory consuption.

So this issue is solved for me. Thanks for your time!

Best regards.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×