java_doctor_101
java_doctor_101

Reputation: 3357

Actor creation error in akka

trying to create an actor in akka and call its receive function. I keep getting this error.

[ERROR] [10/26/2013 18:53:29.313] [messagespreading-akka.actor.default-dispatcher-4] [akka://messagespreading/user/$a] error while processing Create(-1187846526)
70ec3d6a-184d-403c-8166-04aec76200c9akka.actor.ActorInitializationException: exception during creation
    at akka.actor.ActorInitializationException$.apply(Actor.scala:169)
    at akka.actor.ActorCell.create(ActorCell.scala:496)
    at akka.actor.ActorCell.systemInvoke(ActorCell.scala:351)
    at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:256)
    at akka.dispatch.Mailbox.run(Mailbox.scala:211)
    at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:502)
    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.IllegalArgumentException: n must be positive
    at java.util.Random.nextInt(Random.java:250)
    at scala.util.Random.nextInt(Random.scala:65)
    at NetworkBuilder.<init>(pastry.scala:431)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:357)
    at java.lang.Class.newInstance(Class.java:310)
    at akka.util.Reflect$.instantiate(Reflect.scala:39)
    at akka.actor.FromClassCreator.apply(Props.scala:187)
    at akka.actor.FromClassCreator.apply(Props.scala:186)
    at akka.actor.ActorCell.newActor(ActorCell.scala:461)
    at akka.actor.ActorCell.create(ActorCell.scala:479)
    ... 8 more

CODE TO CREATE AND CALL ACTOR RECEIVE.

val system = ActorSystem("messagespreading")
var NetworkBuilderObj:ActorRef= system.actorOf(Props[NetworkBuilder]) 
NetworkBuilderObj ! test

Upvotes: 2

Views: 5308

Answers (1)

Robin Green
Robin Green

Reputation: 33033

When you get an exception occurring in third-party code, you need to look to see if there is a Caused by. In this case it says

Caused by: java.lang.IllegalArgumentException: n must be positive
 at java.util.Random.nextInt(Random.java:250)
 at scala.util.Random.nextInt(Random.scala:65)
 at NetworkBuilder.(pastry.scala:431)

so there is the error - it has nothing to do with the code you posted per se.

Upvotes: 5

Related Questions