akka.util.Unsafe fails with exception on JDK 11 when using modules and not loading `jdk.unsupported`
#25,640 opened on 2018/09/18
Repository metrics
- Stars
- (13,277 個のスター)
- PR merge metrics
- (平均マージ 8d 19h) (30d で 10 merged PRs)
説明
On JDK 11, akka.util.Unsafe fails with exception even before reaching the point where it would check for Java9+. The reason is that accessing sun.misc.Unsafe is no longer allowed.
Looking at the code in master this would happen with the latest version as well.
Exception in thread "main" java.lang.ExceptionInInitializerError at akka.dispatch.AbstractNodeQueue.(AbstractNodeQueue.java:181) at akka.actor.LightArrayRevolverScheduler.(LightArrayRevolverScheduler.scala:157) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at akka.actor.ReflectiveDynamicAccess.$anonfun$createInstanceFor$1(ReflectiveDynamicAccess.scala:33) at scala.util.Try$.apply(Try.scala:209) at akka.actor.ReflectiveDynamicAccess.createInstanceFor(ReflectiveDynamicAccess.scala:28) at akka.actor.ReflectiveDynamicAccess.$anonfun$createInstanceFor$4(ReflectiveDynamicAccess.scala:39) at scala.util.Success.flatMap(Try.scala:247) at akka.actor.ReflectiveDynamicAccess.createInstanceFor(ReflectiveDynamicAccess.scala:39) at akka.actor.ActorSystemImpl.createScheduler(ActorSystem.scala:876) at akka.actor.ActorSystemImpl.(ActorSystem.scala:767) at akka.actor.ActorSystem$.apply(ActorSystem.scala:246) at akka.actor.ActorSystem$.apply(ActorSystem.scala:289) at akka.actor.ActorSystem$.apply(ActorSystem.scala:234) at akka.actor.ActorSystem$.create(ActorSystem.scala:169) at akka.actor.ActorSystem.create(ActorSystem.scala) at ... Caused by: java.lang.ExceptionInInitializerError at akka.util.Unsafe.(Unsafe.java:42) at akka.dispatch.AbstractNodeQueue.(AbstractNodeQueue.java:179) ... 20 more Caused by: java.lang.NoClassDefFoundError: sun/misc/Unsafe at akka.util.Unsafe.(Unsafe.java:22) ... 21 more Caused by: java.lang.ClassNotFoundException: sun.misc.Unsafe at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)