Two versions of protobuf-java in microkernel
In akka-microkernel 1.2 RC6 there two versions (2.3.0 and 2.4.1) of protobuf-java present in the lib directory. In akka-core, there is only 2.4.1. Presence of 2.3.0 in microkernel distribution causes exceptions when trying to send message to remote actors. Reproducible case is the minimal remote example at https://github.com/jboner/akka/tree/master/akka-samples/akka-sample-remote .
Exception stack trace from my project:
Exception stack trace from my project:
java.lang.NoSuchFieldError: alwaysUseFieldBuilders
at akka.remote.protocol.RemoteProtocol$UuidProtocol.access
$13100(RemoteProtocol.java:8419)
at akka.remote.protocol.RemoteProtocol$UuidProtocol
$Builder.maybeForceBuilderInitialization(RemoteProtocol.java:8630)
at akka.remote.protocol.RemoteProtocol$UuidProtocol
$Builder.<init>(RemoteProtocol.java:8622)
at akka.remote.protocol.RemoteProtocol$UuidProtocol
$Builder.create(RemoteProtocol.java:8634)
at akka.remote.protocol.RemoteProtocol$UuidProtocol$Builder.access
$12900(RemoteProtocol.java:8607)
at akka.remote.protocol.RemoteProtocol
$UuidProtocol.newBuilder(RemoteProtocol.java:8594)
at akka.serialization.RemoteActorSerialization
$.createRemoteMessageProtocolBuilder(SerializationProtocol.scala:294)
at akka.remote.netty.RemoteClient.send(NettyRemoteSupport.scala:235)
at akka.remote.netty.NettyRemoteClientModule$$anonfun$send
$1.apply(NettyRemoteSupport.scala:94)
at akka.remote.netty.NettyRemoteClientModule$$anonfun$send
$1.apply(NettyRemoteSupport.scala:94)
at akka.remote.netty.NettyRemoteClientModule
$class.withClientFor(NettyRemoteSupport.scala:119)
at
akka.remote.netty.NettyRemoteSupport.withClientFor(NettyRemoteSupport.scala :
649)
at akka.remote.netty.NettyRemoteClientModule
$class.send(NettyRemoteSupport.scala:94)
at akka.remote.netty.NettyRemoteSupport.send(NettyRemoteSupport.scala:
649)
at akka.actor.RemoteActorRef.postMessageToMailbox(ActorRef.scala:
1234)
at akka.actor.ScalaActorRef$class.$bang(ActorRef.scala:1400)
at akka.actor.RemoteActorRef.$bang(ActorRef.scala:1207)
at motifs.actors.NodeMaster.preStart(motifs-actors.scala:85)
at akka.actor.LocalActorRef.akka$actor$LocalActorRef$
$initializeActorInstance(ActorRef.scala:1173)
at akka.actor.LocalActorRef$$anonfun$start$1.apply(ActorRef.scala:
704)
at akka.actor.LocalActorRef$$anonfun$start$1.apply(ActorRef.scala:
694)
at akka.util.ReentrantGuard.withGuard(LockUtil.scala:20)
at akka.actor.LocalActorRef.start(ActorRef.scala:694)
at akka.actor.LocalActorRef.start(ActorRef.scala:605)
at Main$.main(motifs-run.scala:106)
at Main.main(motifs-run.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp l.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at scala.tools.nsc.util.ScalaClassLoader$$anonfun$run
$1.apply(ScalaClassLoader.scala:78)
at scala.tools.nsc.util.ScalaClassLoader
$class.asContext(ScalaClassLoader.scala:24)
at scala.tools.nsc.util.ScalaClassLoader
$URLClassLoader.asContext(ScalaClassLoader.scala:88)
at scala.tools.nsc.util.ScalaClassLoader
$class.run(ScalaClassLoader.scala:78)
at scala.tools.nsc.util.ScalaClassLoader
$URLClassLoader.run(ScalaClassLoader.scala:101)
at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:33)
at scala.tools.nsc.ObjectRunner$.runAndCatch(ObjectRunner.scala:40)
at scala.tools.nsc.ScriptRunner.scala$tools$nsc$ScriptRunner$
$runCompiled(ScriptRunner.scala:180)
at scala.tools.nsc.ScriptRunner$$anonfun$runScript
$1.apply(ScriptRunner.scala:197)
at scala.tools.nsc.ScriptRunner$$anonfun$runScript
$1.apply(ScriptRunner.scala:197)
at scala.tools.nsc.ScriptRunner$$anonfun$withCompiledScript$1$$anonfun
$apply$mcZ$sp$1.apply(ScriptRunner.scala:166)
at scala.tools.nsc.ScriptRunner$$anonfun$withCompiledScript$1$$anonfun
$apply$mcZ$sp$1.apply(ScriptRunner.scala:166)
at scala.Option.exists(Option.scala:188)
at scala.tools.nsc.ScriptRunner$$anonfun$withCompiledScript$1.apply
$mcZ$sp(ScriptRunner.scala:166)
at scala.tools.nsc.ScriptRunner$$anonfun$withCompiledScript
$1.apply(ScriptRunner.scala:140)
at scala.tools.nsc.ScriptRunner$$anonfun$withCompiledScript
$1.apply(ScriptRunner.scala:140)
at scala.tools.nsc.util.package$.waitingForThreads(package.scala:26)
at scala.tools.nsc.ScriptRunner.withCompiledScript(ScriptRunner.scala:
139)
at scala.tools.nsc.ScriptRunner.runScript(ScriptRunner.scala:197)
at scala.tools.nsc.ScriptRunner.runScriptAndCatch(ScriptRunner.scala:
210)
at scala.tools.nsc.MainGenericRunner.runTarget
$1(MainGenericRunner.scala:58)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:
80)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:
89)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
Leave a comment
on 2011-09-19 14:55 *
By Peter Vlugter
Assigned to set to Peter Vlugter
Status changed from New to Accepted
on 2011-10-03 12:50 *
By Jonas Bonér
Was this one fixed for 1.2? If not, move it.
Yes, fixed for 1.2 when cutting the release.