Akka 2.2.3 -> 2.3.2

140 views
Skip to first unread message

Alanlit

unread,
May 21, 2014, 1:11:24 AM5/21/14
to akka...@googlegroups.com
Hello fellow hAkkers,

I have a series of modules that communicate via Akka -- was version 2.2.3 and all was fine. Upgraded to 2.3.2 and three of the four modules (which share their initialization code - just different configs) are fine but the third always gives:

[ERROR] [05/20/2014 18:00:27.997] [jnlp-akka.remote.default-remote-dispatcher-7] [ActorSystem(jnlp)]
 Uncaught error from thread [jnlp-akka.remote.default-remote-dispatcher-7] shutting down JVM since '
akka.jvm-exit-on-fatal-error' is enabled
java.lang.NoClassDefFoundError: akka/remote/WireFormats$AkkaControlMessage
        at akka.remote.transport.AkkaPduProtobufCodec$.constructControlMessagePdu(AkkaPduCodec.scala
:231)
        at akka.remote.transport.AkkaPduProtobufCodec$.<init>(AkkaPduCodec.scala:153)
        at akka.remote.transport.AkkaPduProtobufCodec$.<clinit>(AkkaPduCodec.scala)
        at akka.remote.EndpointManager$$anonfun$9.apply(Remoting.scala:705)
        at akka.remote.EndpointManager$$anonfun$9.apply(Remoting.scala:675)
        at scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply(TraversableLike.scala:72
2)
        at scala.collection.Iterator$class.foreach(Iterator.scala:727)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
        at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
        at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:721)
        at akka.remote.EndpointManager.akka$remote$EndpointManager$$listens(Remoting.scala:675)
        at akka.remote.EndpointManager$$anonfun$receive$2.applyOrElse(Remoting.scala:484)
        at akka.actor.Actor$class.aroundReceive(Actor.scala:465)
        at akka.remote.EndpointManager.aroundReceive(Remoting.scala:387)
        at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
        at akka.actor.ActorCell.invoke(ActorCell.scala:487)
        at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
        at akka.dispatch.Mailbox.run(Mailbox.scala:220)
        at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala
:393)
        at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
        at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
        at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.lang.ClassNotFoundException: akka.remote.WireFormats$AkkaControlMessage
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at org.codehaus.groovy.grails.cli.support.GrailsRootLoader.loadClass(GrailsRootLoader.java:5
4)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 24 more
| Error jnlp
| Error ]
| Error java.lang.NoClassDefFoundError: akka/remote/WireFormats$AkkaControlMessage
| Error         at akka.remote.transport.AkkaPduProtobufCodec$.constructControlMessagePdu(AkkaPduCod
ec.scala:231)
| Error         at akka.remote.transport.AkkaPduProtobufCodec$.<init>(AkkaPduCodec.scala:153)
| Error         at akka.remote.transport.AkkaPduProtobufCodec$.<clinit>(AkkaPduCodec.scala)
| Error         at akka.remote.EndpointManager$$anonfun$9.apply(Remoting.scala:705)
| Error         at akka.remote.EndpointManager$$anonfun$9.apply(Remoting.scala:675)
| Error         at scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply(TraversableLike.
scala:722)
| Error         at scala.collection.Iterator$class.foreach(Iterator.scala:727)
| Error         at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
| Error         at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
| Error         at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
| Error         at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:721)
| Error         at akka.remote.EndpointManager.akka$remote$EndpointManager$$listens(Remoting.scala:6
75)
| Error         at akka.remote.EndpointManager$$anonfun$receive$2.applyOrElse(Remoting.scala:484)
| Error         at akka.actor.Actor$class.aroundReceive(Actor.scala:465)
| Error         at akka.remote.EndpointManager.aroundReceive(Remoting.scala:387)
| Error         at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
| Error         at akka.actor.ActorCell.invoke(ActorCell.scala:487)
| Error         at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
| Error         at akka.dispatch.Mailbox.run(Mailbox.scala:220)
| Error         at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatch
er.scala:393)
| Error         at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
| Error         at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
| Error         at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
| Error         at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

| Error Caused by: java.lang.ClassNotFoundException: akka.remote.WireFormats$AkkaControlMessage
| Error         at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
| Error         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
| Error         at java.security.AccessController.doPrivileged(Native Method)
| Error         at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
| Error         at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
| Error         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
| Error         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
| Error         at org.codehaus.groovy.grails.cli.support.GrailsRootLoader.loadClass(GrailsRootLoade
r.java:54)
| Error         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

Simply switching back to 2.2.3 fixes everything.  Using maven to build and I see the different protocol buffer versions being pulled in between versions ..... the really head banging thing as I say is it only fails in one module, and so much of the code leading up to Akk initialization is common ..... anyone have any insights ??

Tnx

Alanl

Alanlit

unread,
May 21, 2014, 10:45:26 AM5/21/14
to akka...@googlegroups.com
>>>>>
[ERROR] [05/20/2014 18:00:27.997] [jnlp-akka.remote.default-
remote-dispatcher-7] [ActorSystem(jnlp)]
 Uncaught error from thread [jnlp-akka.remote.default-remote-dispatcher-7] shutting down JVM since '
akka.jvm-exit-on-fatal-error' is enabled
java.lang.NoClassDefFoundError: akka/remote/WireFormats$AkkaControlMessage
        at akka.remote.transport.AkkaPduProtobufCodec$.constructControlMessagePdu(AkkaPduCodec.scala
:231)
        at akka.remote.transport.AkkaPduProtobufCodec$.<init>(AkkaPduCodec.scala:153)
        at akka.remote.transport.AkkaPduProtobufCodec$.<clinit>(AkkaPduCodec.scala)
        at akka.remote.EndpointManager$$anonfun$9.apply(Remoting.scala:705)
        at akka.remote.EndpointManager$$anonfun$9.apply(Remoting.scala:675)
        at scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply(TraversableLike.scala:72
2)
>>>>>>>>


For what it is worth the problem exists (in the the one module) for Akka 2.3.1, 2.3.2 and 2.3.3. Switching back to the 2.2 branch (.3 or .4) and all works just fine. Sadly other external factors are mandating a shift to 2.3.x ...

Again, the above error happens during Akka ActorSystem initialization, so it is a little hard for me to construct a scenario to explain this ...

 
Tnx

Alanl

Martynas Mickevičius

unread,
May 21, 2014, 11:31:42 AM5/21/14
to akka...@googlegroups.com
Could you try to minimize this to a reproducible example?


--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.



--
Martynas Mickevičius
TypesafeReactive Apps on the JVM

Patrik Nordwall

unread,
May 21, 2014, 11:43:56 AM5/21/14
to akka...@googlegroups.com
Verify that you have protobuf version 2.5.0 in your classpath.
/Patrik

Patrik Nordwall
Typesafe Reactive apps on the JVM
Twitter: @patriknw


Alanlit

unread,
May 21, 2014, 2:02:01 PM5/21/14
to akka...@googlegroups.com

On Wednesday, May 21, 2014 8:43:56 AM UTC-7, Patrik Nordwall wrote:
Verify that you have protobuf version 2.5.0 in your classpath.
/Patrik

Good call !!  I found that a third party library has (of course) an old version of protobuf tucked inside it. Removing that for now fixed everything.

Tnx

Alanl

 

Patrik Nordwall

unread,
May 21, 2014, 2:30:20 PM5/21/14
to akka...@googlegroups.com
Great! You're welcome.

/Patrik
--

Brice Figureau

unread,
May 22, 2014, 10:51:44 AM5/22/14
to akka...@googlegroups.com
Just a warning (because I went this route before you) that proto files
compiled to java with protobuf 2.4.1 are not compatible with the
protobuf 2.5.0 runtime library.

In my case our own application is very dependent on protobuf and I had
to recompile some of our dependencies that were using protobuf compiled
files with 2.4.1.

--
Brice Figureau
My Blog: http://www.masterzen.fr/

Reply all
Reply to author
Forward
0 new messages