[Bug 2775] New: JamVM lacks JVM_GetResourceLookupCacheURLs introduced by jdk8u40

bugzilla-daemon at icedtea.classpath.org bugzilla-daemon at icedtea.classpath.org
Mon Dec 21 11:53:28 UTC 2015


            Bug ID: 2775
           Summary: JamVM lacks JVM_GetResourceLookupCacheURLs introduced
                    by jdk8u40
           Product: IcedTea
           Version: 8-hg
          Hardware: all
                OS: All
            Status: NEW
          Severity: minor
          Priority: P5
         Component: JamVM
          Assignee: xerxes at zafena.se
          Reporter: xerxes at zafena.se
                CC: unassigned at icedtea.classpath.org

+++ Bugreport:
Package: openjdk-8-jre-jamvm Version: 8u45-b14-2

When trying to run a Java program with JamVM, the JVM fails to start
with the following error message:

java: relocation error:
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjava.so: symbol
JVM_GetResourceLookupCacheURLs, version SUNWprivate_1.1 not defined in
file libjvm.so with link time reference

+++ Analysis: 

When icedtea 8 updated to 8u40 and later it pulled in the following
jdk8u _only_ changesets added new JVM_ functions such as:

+ * Returns true if the JVM's lookup cache indicates that this class is
+ * known to NOT exist for the given loader.
+ */
+JVM_KnownToNotExist(JNIEnv *env, jobject loader, const char *classname);
+ * Returns an array of all URLs that are stored in the JVM's lookup cache
+ * for the given loader. NULL if the lookup cache is unavailable.
+ */
+JVM_GetResourceLookupCacheURLs(JNIEnv *env, jobject loader);
+ * Returns an array of all URLs that *may* contain the resource_name for the
+ * given loader. This function returns an integer array, each element
+ * of which can be used to index into the array returned by
+ * JVM_GetResourceLookupCacheURLs of the same loader to determine the
+ * URLs.
+ */
+JVM_GetResourceLookupCache(JNIEnv *env, jobject loader, const char

these three new JVM_ functions uses hotspot internals to improve
sun.misc.URLClassPath search time, a hack!
Alternative jvm such as JamVM must implement this hack to stay compatible with
jdk8u40 and later 8uX versions.

these three new JVM_ functions are _not_ required for jdk9 as described in the
JDK-8061651 bug report:
"Note that this enhancement is for JDK 8uX only. In JDK9 and beyond, we are
considering an alternative implementation where the cache is maintained in the
core libs code, outside of HotSpot. "

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20151221/4087dd8d/attachment.html>

More information about the distro-pkg-dev mailing list