Unfortunately, this workaround is unacceptable in many deployment environments. I would thus consider this a showstopping bug for Nashorn, and I hope it can be escalated.

(I understand that this is not the Nashorn project's "fault," but the bottom line is that Nashorn cannot be used in long-running production environments until this is solved.)

On 01/09/2014 05:48 PM, Vladimir Ivanov wrote:
Regarding OOME, it's expected in this situation.

If you look at the end of the log, you'll see a set of consecutive Full GCs. It means Java heap is almost full and reached it's maximum size. And application is almost halted - VM collects the whole heap over and over again (>98% of application running time is spent during stop-the-world GC).

So, VM decides to preventively throw OOME to avoid further heap thrashing.

As Marcus already noted, it's caused by increase in dynamic footprint due to JSR292 switch to LambdaForms in 7u40.

The workaround is to increase maximum heap size.

Reply via email to