Scanning newest guava jar with jdeps there is information that this version still uses sun.misc.Unsafe which is JDK removed internal API.
Are you planning a support with java 11 in the near future?
All our uses of Unsafe have fallbacks to other implementations when Unsafe is unavailable.
That said, we haven't tested with Java 11 yet, so it's possible that something breaks. Testing in in our plans for Q4.
Does jlink issue some kind of error that prevents it from working, or does it just warn/notify about the potential problem?
This is just notify about the potential problem. I am developer from PTC and my work is to detect possible problems before upgrading our version of guava to the newest.
Note: running jdeps --jdk-internals on the latest Guava JAR produces many "unsupported" warnings:
> jdeps --jdk-internals ~/Downloads/guava-27.0-jre.jar
guava-27.0-jre.jar -> jdk.unsupported
com.google.common.cache.Striped64 -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.cache.Striped64$1 -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.cache.Striped64$Cell -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.LittleEndianByteArray$UnsafeByteArray -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$1 -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$2 -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$3 -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.Striped64 -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.Striped64$1 -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.hash.Striped64$Cell -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1 -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper$1 -> sun.misc.Unsafe JDK internal API (jdk.unsupported)
Hi, is there an ETA for this?
Will we be able to run a version of com.google.guava.*_jre.jar in an Open JDK v11 Zulu JVM? -thanks!
Are there any updates ?
Our next release should contain fixes for JDK 11 compatibility issues, but references to sun.misc.Unsafe shouldn't be a problem because they're guarded by reflective checks.
Can you share a delivery timeline for the next release?
27.1-jre was released March 8th, I presume that means that this is complete? @netdpb just left for a week, but I presume this should be taken care of
Does
jlinkissue some kind of error that prevents it from working, or does it
just warn/notify about the potential problem?
jlink requires the module information, so yes, currently things are not working out of the box. It's possible to manually add the missing module information during the build process, but it's cumbersome. An updated version with full Java 11 support that plays nice with jlink would be very welcome.
Does 28.0-jre include the Java 11 support? Can we eliminate reference of "sun.misc.Unsafe"?
If this is not fixed, is there an ETA for this?
There will still be references to sun.misc.Unsafe. They are all guarded by reflective checks to make sure it's available at runtime.
I'm closing this bug. Please file a new bug if you come across any actual problems using Guava versions after 27.1-jre with Java 11.
Most helpful comment
Can you share a delivery timeline for the next release?