ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

roswtf communcation error bug in Ubuntu 11.04

asked 2011-08-01 19:22:21 -0500

kluessi gravatar image

Hi there,

I am using ros-diamondback on Ubuntu 11.04-64bit.

I am launching the following launch file:

     <node pkg="tf type="static_transform_publisher" name="blub" args ="0 0 0 0 0 0 blub blub2 100" />

In another terminal I run roswtf

Loaded plugin tf.tfwtf
No package or stack in context
Static checks summary:

No errors or warnings
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
... done running graph rules
running tf checks, this will take a second...
... tf checks complete

Online checks summary:

Found 2 error(s).

ERROR Communication with [/blub] raised an error: 
ERROR Communication with [/rosout] raised an error:

I tried to set ROS_IP and ROS_HOSTNAME by hand, but still the same error. The funny thing is, that there is no error. Everything works as expected. I can listen to the tf topic and receive data.

Can anybody tell me, why roswtf thinks that there is an error?


edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2011-09-02 11:01:04 -0500

kwc gravatar image

No activity in > 1 month, closing

edit flag offensive delete link more

answered 2011-08-02 08:41:49 -0500

kwc gravatar image

updated 2011-08-03 05:49:01 -0500

Can you try running the following script? (save to, run "python")

import time
import xmlrpclib
import socket
import traceback
import roslib.scriptutil
from ros import rosnode

def check(n):
    master = roslib.scriptutil.get_master()
        node_api = rosnode.get_api_uri(master, n)
        if not node_api:
            print "Master does not have lookup information for node [%s]"%n

        node = xmlrpclib.ServerProxy(node_api)
        start = time.time()
        code, msg, bus_info = node.getBusInfo('/roswtf')
        end = time.time()
        if (end-start) > 1.:
            print "Communication with node [%s] is very slow"%n
        if code != 1:
            print "Node [%s] would not return bus info"%n
        print "[%s] ok"%(n)
    except socket.error, e:
        pass #ignore as we have rules to catch this
    except Exception, e:


Update: patch to apply to roswtf/src/roswtf/ to get more debugging information:

---    (revision 14535)
+++    (working copy)
@@ -304,6 +304,8 @@
         except socket.error, e:
             pass #ignore as we have rules to catch this
         except Exception, e:
+            import traceback
+            traceback.print_exc()
             ctx.errors.append(WtfError("Communication with [%s] raised an error: %s"%(n, str(e))))
             self.done = True
edit flag offensive delete link more

answered 2011-08-02 19:03:51 -0500

kluessi gravatar image


here the output of your script:

[/rosout] ok
[/blub] ok
edit flag offensive delete link more


please use the comment feature instead of posting answers to your question. the above output indicates that things should be working fine, so I'm a bit stumped. I've updated my previous answer with a patch you can apply to roswtf/src/roswtf/, which should give a traceback from roswtf
kwc gravatar image kwc  ( 2011-08-03 05:48:33 -0500 )edit

Question Tools


Asked: 2011-08-01 19:22:21 -0500

Seen: 484 times

Last updated: Sep 02 '11