akka/akka-core

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

Ouverte

#25 640 ouverte le 18 sept. 2018

 (16 commentaires) (2 réactions) (0 personne assignée)Scala (3 547 forks)batch import
1 - triagedhelp wantedt:jdkt:jdk-next

Métriques du dépôt

Stars
 (13 277 étoiles)
Métriques de merge PR
 (Merge moyen 8j 19h) (10 PRs mergées en 30 j)

Description

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)

Guide contributeur