Hi Marcus,

Looks like some of the details have been chopped off. Is there a GC log 
available? If there is a problem with MethodHandle a work around might be a 
simple as expanding perm.. but wait, this is meta space now and it should grow 
as long as your system has memory to give to the process. The only thing I can 
suggest is that the space to hold compressed class pointers is a fixed size and 
that if Nashorn is loading a lot of classes is that you consider making that 
space larger. Full disclosure, this isn’t something that I’ve had a chance to 
dabble with but I think there is a flag to control the size of that space. 
Maybe Colleen can offer better insight.

Regards,
Kirk

On Jan 9, 2014, at 10:02 AM, Marcus Lagergren <marcus.lagerg...@oracle.com> 
wrote:

> This almost certainly stems from the implementation from MethodHandle 
> combinators being implemented as lambda forms as anonymous java classes. One 
> of the things that is being done for  8u20 is to drastically reduce the 
> number of lambda forms created.  I don’t know of any workaround at the 
> moment. CC:ing hotspot-compiler-dev, so the people there can elaborate a bit.
> 
> /M
> 
> On 06 Jan 2014, at 06:57, Benjamin Sieffert <benjamin.sieff...@metrigo.de> 
> wrote:
> 
>> Hi everyone,
>> 
>> we have been observing similar symptoms from 7u40 onwards (using
>> nashorn-backport with j7 -- j8 has the same problems as 7u40 and 7u45...
>> 7u25 is the last version that works fine) and suspect the cause to be the
>> JSR-292 changes that took place there. Iirc I already asked over on their
>> mailing list. Here's the link:
>> http://mail.openjdk.java.net/pipermail/mlvm-dev/2013-December/005586.html
>> The fault might as well lie with nashorn, though. It's certainly worth
>> investigating.
>> 
>> Regards
>> 
>> 
>> 2014/1/4 Tal Liron <tal.li...@threecrickets.com>
>> 
>>> Thanks! I didn't know of these. I'm not sure how to read the log, but this
>>> doesn't look so good. I get a lot of "allocation failures" that look like
>>> this:
>>> 
>>> Java HotSpot(TM) 64-Bit Server VM (25.0-b63) for linux-amd64 JRE
>>> (1.8.0-ea-b121), built on Dec 19 2013 17:29:18 by "java_re" with gcc 4.3.0
>>> 20080428 (Red Hat 4.3.0-8)
>>> Memory: 4k page, physical 2039276k(849688k free), swap 262140k(256280k
>>> free)
>>> CommandLine flags: -XX:InitialHeapSize=32628416 -XX:MaxHeapSize=522054656
>>> -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
>>> -XX:+PrintTenuringDistribution -XX:+UseCompressedClassPointers
>>> -XX:+UseCompressedOops -XX:+UseParallelGC
>>> 0.108: [GC (Allocation Failure)
>>> Desired survivor size 524288 bytes, new threshold 7 (max 15)
>>> [PSYoungGen: 512K->496K(1024K)] 512K->496K(32256K), 0.0013194 secs]
>>> [Times: user=0.01 sys=0.00, real=0.00 secs]
>>> 
>>> 
>>> On 01/04/2014 10:02 PM, Ben Evans wrote:
>>> 
>>>> -Xloggc:<pathtofile> -XX:+PrintGCDetails -XX:+PrintTenuringDistribution
>>>> 
>>> 
>>> 
>> 
>> 
>> -- 
>> Benjamin Sieffert
>> metrigo GmbH
>> Sternstr. 106
>> 20357 Hamburg
>> 
>> Geschäftsführer: Christian Müller, Tobias Schlottke, Philipp Westermeyer
>> Die Gesellschaft ist eingetragen beim Registergericht Hamburg
>> Nr. HRB 120447.
> 

Reply via email to