rosjava_core + turtlesim = compatibility problems?
Hi,
I just wanted to test how the rosjava_core (java master) is able to handle communication between C++ nodes. So I tried to:
-launch java implementation of master (by simple script in my: jroscore repo )
-and start two turtlesim demo nodes
If I run (in 3 terminals) these commands in sequence:
./jroscore # launches ros master implemented in rosjava_core
rosrun turtlesim turtle_teleop_key
rosrun turtlesim turtlesim_node
The communication and everything works fine, but if I launch them in another sequence:
./jroscore # launches ros master implemented in rosjava_core
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
The rosjava_core throws this exception after launching the last one:
./jroscore
jroscore: Launching master server now, uri: <a href="http://localhost:11311/">http://localhost:11311/</a>
jroscore: Server successfully launched on address: <a href="http://localhost:11311/">http://localhost:11311/</a>
Oct 02, 2013 1:12:36 PM org.apache.xmlrpc.server.XmlRpcErrorLogger log
SEVERE: Failed to invoke method registerPublisher in class org.ros.internal.node.xmlrpc.MasterXmlRpcEndpointImpl:
org.apache.xmlrpc.common.XmlRpcInvocationException: Failed to invoke method registerPublisher in class org.ros.internal.node.xmlrpc.MasterXmlRpcEndpointImpl:
at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:129)
at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHandler.java:106)
at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.java:46)
at org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:86)
at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:200)
at org.apache.xmlrpc.webserver.Connection.run(Connection.java:208)
at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:68)
Caused by: org.ros.exception.RemoteException:
at org.ros.internal.node.response.Response.fromListChecked(Response.java:115)
at org.ros.internal.node.client.SlaveClient.publisherUpdate(SlaveClient.java:119)
at org.ros.internal.node.server.master.MasterServer.contactSubscriberForPublisherUpdate(MasterServer.java:269)
at org.ros.internal.node.server.master.MasterServer.publisherUpdate(MasterServer.java:251)
at org.ros.internal.node.server.master.MasterServer.registerPublisher(MasterServer.java:225)
at org.ros.internal.node.xmlrpc.MasterXmlRpcEndpointImpl.registerPublisher(MasterXmlRpcEndpointImpl.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:115)
... 6 more
Caused by:
org.ros.exception.RemoteException:
at org.ros.internal.node.response.Response.fromListChecked(Response.java:115)
at org.ros.internal.node.client.SlaveClient.publisherUpdate(SlaveClient.java:119)
at org.ros.internal.node.server.master.MasterServer.contactSubscriberForPublisherUpdate(MasterServer.java:269)
at org.ros.internal.node.server.master.MasterServer.publisherUpdate(MasterServer.java:251)
at org.ros.internal.node.server.master.MasterServer.registerPublisher(MasterServer.java:225)
at org.ros.internal.node.xmlrpc.MasterXmlRpcEndpointImpl.registerPublisher(MasterXmlRpcEndpointImpl.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:115)
at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHandler.java:106)
at org.apache.xmlrpc.server ...
I am unable to reproduce the problem since building jroscore already fails for me. I checked out jroscore and called "./gradlew installApp" which resulted in "Could not find property 'install' on root project 'jroscore'.". Any idea how to fix that?