akka/akka-core

akka.util.Unsafe fails with exception on JDK 11 when using modules and not loading `jdk.unsupported`

オープン

#25,640 opened on 2018/09/18

 (16 件のコメント) (2 件のリアクション) (0 人の担当者)Scala (3,547 件のフォーク)batch import
1 - triagedhelp wantedt:jdkt:jdk-next

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)

コントリビューターガイド