InternalError: Memory Pool (Shenandoah) not found

Robert Stupp snazy at snazy.de
Sat Nov 3 20:23:26 UTC 2018


And the funny part is, that omitting '-Xms' helps to prevent the error.

This one fails:
java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xms16081M 
-Xmx16081M -classpath . Demo

This one succeeds:
java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xmx16081M 
-classpath . Demo


Demo.java:


import java.lang.management.*;
public class Demo {
     public static void main(String args[]) {
     for (MemoryPoolMXBean pool: ManagementFactory.getMemoryPoolMXBeans())
         System.out.println(pool.getName()+ " : " + pool.getPeakUsage());
     }
}



On 11/3/18 9:05 PM, Robert Stupp wrote:
> The following code snippet produces an InternalError when either the 
> getPeakUsage() or getUsage() methods for the memory-pool "Shenandoah" 
> are called.
>
> for(MemoryPoolMXBean pool: 
> ManagementFactory.getMemoryPoolMXBeans())System.out.println(pool.getName()+ 
> " : " + pool.getPeakUsage());
>
> java.lang.InternalError: Memory Pool not found
>     at 
> java.management/sun.management.MemoryPoolImpl.getPeakUsage0(Native 
> Method)
>     at 
> java.management/sun.management.MemoryPoolImpl.getPeakUsage(MemoryPoolImpl.java:99)
>
> It's 100% reproducible with recent builds from 
> http://hg.openjdk.java.net/shenandoah/jdk + 
> http://hg.openjdk.java.net/shenandoah/jdk11
>
> I'm pretty sure that this worked a few months ago.
>
> Robert
>
-- 
Robert Stupp
@snazy



More information about the shenandoah-dev mailing list