[ros-users] roscore not starting -- multiple network interfaces a problem?

Patrick Bouffard bouffard at eecs.berkeley.edu
Sun Feb 27 09:08:29 UTC 2011


Just one thing to add: Running roscore on another machine (on the
10.32.43.x subnet), and another node locally that points to that
roscore, does seem to work.

Pat

On Sun, Feb 27, 2011 at 12:59 AM, Patrick Bouffard
<bouffard at eecs.berkeley.edu> wrote:
> Hi, I've just setup a new Ubuntu 10.10 box that will be running some
> ROS nodes, occasionally including roscore. I installed diamondback
> from debs this evening. This particular machine has a more complex
> networking setup than others I've setup before and I suspect that is
> giving me issues with running ROS.
>
> I'm pretty sure everything is setup as it ought to be in terms of my
> .bashrc (just source /opt/ros/diamondback/setup.bash). But when I run
> roscore it just hangs. After waiting awhile, after pressing Ctrl+C
> once, the following is output:
>
> {{{
> ^C... logging to
> /home/bouffard/.ros/log/ea02b894-424c-11e0-a499-00226bbd5586/roslaunch-lynx-3561.log
> Checking log directory for disk usage. This may take awhile.
> Press Ctrl-C to interrupt
> Done checking log file disk usage. Usage is <1GB.
>
> started roslaunch server http://lynx:52141/
> ros_comm version 1.4.4
>
> SUMMARY
> ========
>
> PARAMETERS
>  * /rosversion
>  * /rosdistro
>
> NODES
>
> auto-starting new master
> process[master]: started with pid [3576]
> ROS_MASTER_URI=http://lynx:11311/
>
> setting /run_id to ea02b894-424c-11e0-a499-00226bbd5586
> process[rosout-1]: started with pid [3589]
> started core service [/rosout]
> }}}
>
> At this point things seem to be working; roswtf returns no errors or
> warnings, I can run, e.g., rxconsole, rostopic list outputs /rosout
> and /rosout_agg, etc. But having to hit Ctrl+C is not so great.
>
> Also, without roscore running, if I run roswtf it also hangs after displaying:
>
> {{{
> bouffard at lynx:~$ roswtf
> Loaded plugin tf.tfwtf
> No package or stack in context
> ================================================================================
> Static checks summary:
>
> No errors or warnings
> ================================================================================
> }}}
>
> If I then hit Ctrl+C I get the following traceback:
>
> {{{
> ^CTraceback (most recent call last):
>  File "/opt/ros/diamondback/ros/bin/roswtf", line 35, in <module>
>    roswtf.roswtf_main()
>  File "/opt/ros/diamondback/stacks/ros_comm/utilities/roswtf/src/roswtf/__init__.py",
> line 93, in roswtf_main
>    _roswtf_main()
>  File "/opt/ros/diamondback/stacks/ros_comm/utilities/roswtf/src/roswtf/__init__.py",
> line 208, in _roswtf_main
>    master = master_online()
>  File "/opt/ros/diamondback/stacks/ros_comm/utilities/roswtf/src/roswtf/__init__.py",
> line 100, in master_online
>    master.getPid('/roswtf')
>  File "/usr/lib/python2.6/xmlrpclib.py", line 1199, in __call__
>    return self.__send(self.__name, args)
>  File "/usr/lib/python2.6/xmlrpclib.py", line 1489, in __request
>    verbose=self.__verbose
>  File "/usr/lib/python2.6/xmlrpclib.py", line 1235, in request
>    self.send_content(h, request_body)
>  File "/usr/lib/python2.6/xmlrpclib.py", line 1349, in send_content
>    connection.endheaders()
>  File "/usr/lib/python2.6/httplib.py", line 908, in endheaders
>    self._send_output()
>  File "/usr/lib/python2.6/httplib.py", line 780, in _send_output
>    self.send(msg)
>  File "/usr/lib/python2.6/httplib.py", line 739, in send
>    self.connect()
>  File "/usr/lib/python2.6/httplib.py", line 720, in connect
>    self.timeout)
>  File "/usr/lib/python2.6/socket.py", line 554, in create_connection
>    sock.connect(sa)
>  File "<string>", line 1, in connect
> KeyboardInterrupt
> bouffard at lynx:~$
> }}}
>
> Just to check that it wasn't something in the latest diamondback
> release candidate, I dist-upgrade'd and tried these same commands on
> another couple machines (that have been running some version of ROS
> for awhile and are similarly configured, Ubuntu 10.0, diamondback
> debs) with no problems.
>
> Based on the roswtf traceback and the main weirdness of the current
> box being its network config (it has three wired network interfaces),
> I'm suspecting it has something to do with that. However, I still see
> the same behaviour if I sudo ifdown all the interfaces besides lo.
>
> I'm not a networking expert but I noticed on the EnvironmentVariables
> wiki page: ".. ROS components bind to all available network
> interfaces.". Could this have something to do with my issues?
>
> Here's the output of ifconfig -a in case that helps:
>
> {{{
> bouffard at lynx:~$ ifconfig -a
> eth1      Link encap:Ethernet  HWaddr xx:xx;xx:xx:xx:xx
>          inet addr:128.32.43.208  Bcast:128.32.43.255  Mask:255.255.255.0
>          inet6 addr: fe80::218:8bff:fe74:766d/64 Scope:Link
>          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>          RX packets:1066 errors:0 dropped:0 overruns:0 frame:0
>          TX packets:504 errors:0 dropped:0 overruns:0 carrier:0
>          collisions:0 txqueuelen:1000
>          RX bytes:329324 (329.3 KB)  TX bytes:116257 (116.2 KB)
>          Interrupt:17
>
> eth2      Link encap:Ethernet  HWaddr xx:xx;xx:xx:xx:xx
>          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
>          inet6 addr: fe80::e291:f5ff:fe94:cc3/64 Scope:Link
>          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>          RX packets:1264 errors:0 dropped:0 overruns:0 frame:0
>          TX packets:1342 errors:0 dropped:0 overruns:0 carrier:0
>          collisions:0 txqueuelen:1000
>          RX bytes:78005 (78.0 KB)  TX bytes:67277 (67.2 KB)
>          Interrupt:17 Base address:0xef00
>
> eth3      Link encap:Ethernet  HWaddr xx:xx;xx:xx:xx:xx
>          inet addr:10.32.43.1  Bcast:10.32.43.255  Mask:255.255.255.0
>          inet6 addr: fe80::222:6bff:febd:5586/64 Scope:Link
>          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>          RX packets:235591 errors:0 dropped:0 overruns:0 frame:0
>          TX packets:451507 errors:0 dropped:0 overruns:0 carrier:0
>          collisions:0 txqueuelen:1000
>          RX bytes:17233068 (17.2 MB)  TX bytes:629352191 (629.3 MB)
>          Interrupt:16 Base address:0x2e00
>
> lo        Link encap:Local Loopback
>          inet addr:127.0.0.1  Mask:255.0.0.0
>          inet6 addr: ::1/128 Scope:Host
>          UP LOOPBACK RUNNING  MTU:16436  Metric:1
>          RX packets:8526 errors:0 dropped:0 overruns:0 frame:0
>          TX packets:8526 errors:0 dropped:0 overruns:0 carrier:0
>          collisions:0 txqueuelen:0
>          RX bytes:817773 (817.7 KB)  TX bytes:817773 (817.7 KB)
> }}}
>
> eth1 is the connection to the internet, eth2 is a crossover cable to
> another machine, and eth3 connected to a private subnet. Iptables is
> configured to allow machines on the 10.32.43.x subnet to access the
> internet via eth1. It's possible something I did in setting that up
> had the side-effect of messing with ROS, as I said I'm no networking
> expert. Hopefully one of you is! :)
>
> Thanks,
> Pat
>



More information about the ros-users mailing list