apache/pekko

java.lang.UnsupportedOperationException pekko migration

pro-kaushal opened this issue · 5 comments

Please use https://github.com/apache/pekko/discussions for questions instead of posting them to the issue tracker.

I'm getting following error after I updated system from play 2.9 to play 3 (pekko)

java.lang.UnsupportedOperationException: null
at java.base/java.util.concurrent.CompletableFuture$MinimalStage.isDone(CompletableFuture.java:2926)
at scala.jdk.javaapi.FutureConverters$.asScala(FutureConverters.scala:73)
at scala.jdk.FutureConverters$CompletionStageOps$.asScala$extension(FutureConverters.scala:41)
at play.sockjs.core.j.JavaSockJS.$anonfun$withComponents$1(JavaSockJS.scala:18)
at play.sockjs.api.SockJS$$anon$1.apply(SockJS.scala:34)
at play.sockjs.core.transports.WebSocket.$anonfun$framed$2(WebSocket.scala:27)
at play.api.mvc.WebSocket$.$anonfun$acceptOrResult$1(WebSocket.scala:184)
at play.api.mvc.WebSocket$.$anonfun$apply$1(WebSocket.scala:38)
at play.core.server.PekkoHttpServer.executeHandler(PekkoHttpServer.scala:403)
at play.core.server.PekkoHttpServer.handleRequest(PekkoHttpServer.scala:362)
at play.core.server.PekkoHttpServer.$anonfun$createServerBinding$1(PekkoHttpServer.scala:224)
at org.apache.pekko.stream.impl.fusing.MapAsyncUnordered$$anon$31.onPush(Ops.scala:1443)
at org.apache.pekko.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:555)
at org.apache.pekko.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:433)
at org.apache.pekko.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:662)
at org.apache.pekko.stream.impl.fusing.ActorGraphInterpreter$SimpleBoundaryEvent.execute(ActorGraphInterpreter.scala:71)
at org.apache.pekko.stream.impl.fusing.ActorGraphInterpreter$SimpleBoundaryEvent.execute$(ActorGraphInterpreter.scala:67)
at org.apache.pekko.stream.impl.fusing.ActorGraphInterpreter$BatchingActorInputBoundary$OnNext.execute(ActorGraphInterpreter.scala:114)
at org.apache.pekko.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:637)
at org.apache.pekko.stream.impl.fusing.ActorGraphInterpreter.org$apache$pekko$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:813)
at org.apache.pekko.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:831)
at org.apache.pekko.actor.Actor.aroundReceive(Actor.scala:547)
at org.apache.pekko.actor.Actor.aroundReceive$(Actor.scala:545)
at org.apache.pekko.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:729)
at org.apache.pekko.actor.ActorCell.receiveMessage(ActorCell.scala:590)
at org.apache.pekko.actor.ActorCell.invoke(ActorCell.scala:557)
at org.apache.pekko.dispatch.Mailbox.processMailbox(Mailbox.scala:280)
at org.apache.pekko.dispatch.Mailbox.run(Mailbox.scala:241)
at org.apache.pekko.dispatch.Mailbox.exec(Mailbox.scala:253)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

please update scala to newer latest version, this is been fixed in scala

Pekko is not even in the main part of the stacktrace. Scala and Play are much closer to the failure.

@He-Pin are you suggesting the issue is in scala.jdk.javaapi.FutureConverters$.asScala(FutureConverters.scala:73) ?

For reference, Pekko doesn't even use scala.jdk.javaapi.FutureConverters. It has its own FutureConverters class.

does look quite like scala/bug#12918

This is been fixed in scala

thanks sorted the issue