New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROS almost works now, but not quite... #1450

Closed
lovettchris opened this Issue Dec 2, 2016 · 19 comments

Comments

Projects
None yet
10 participants
@lovettchris
Member

lovettchris commented Dec 2, 2016

The Robot Operating System almost works now with latest windows insider build 10.00.14965.1001, so I can get past the RAW socket problem, yay. But ROS nodes are not talking to each other for some reason. There is a tool called "roswtf" (yeah, that's the real name :-) which reports an interesting error:

ERROR Local network configuration is invalid: Local hostname [CLOVETT13] resolves to [2001:4898:d8:47:f136:8c9c:2110:ce3f], which does not appear to be a local IP address ['10.137.62.126', '127.0.0.1', '10.0.0.228'].

It should not report any errors. Perhaps this is why the ros nodes are not yet talking.

I'm on Windows build 10.00.14965.1001, 64-bit.

Steps to repo:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 0xB01FA116
sudo apt-get update
sudo apt-get -y install ros-indigo-desktop-full
sudo rosdep init
rosdep update
roswtf

Email me at clovett at microsoft.com to get the strace, it is rather large.

@MikeGitb

This comment has been minimized.

MikeGitb commented Dec 3, 2016

Seems like a problem related to ipv6? Have you tried disabling ipv6 in windows to verify?

Running ROS would really be a step forward.

@lovettchris

This comment has been minimized.

Member

lovettchris commented Dec 3, 2016

Well disabling it from the adapter settings didn't help. ipconfig shows no ipv6 addresses, but I get the same error. Might have to disable ipv6 more deeply somehow... but windows warns against doing that, I suspect a bunch of things may break...

@MikeGitb

This comment has been minimized.

MikeGitb commented Dec 3, 2016

I'd guess, the problem is that your ipv6 address is still cached on the dns-server and/or the local cache..

@gavanderhoorn

This comment has been minimized.

gavanderhoorn commented Dec 8, 2016

Related: #1391?

@gavanderhoorn

This comment has been minimized.

gavanderhoorn commented Dec 8, 2016

@lovettchris: unless things have changed very recently, even with roswtf completely happy, there appear to still be some unresolved issues in the network stack on WSL that prevent pub/sub to work reliably in both directions. User experience with ROS on WSL has improved a lot over the past few months though (see Installing ROS on Ubuntu Bash in Windows 10 on ROS Answers fi).

@sunilmut

This comment has been minimized.

Member

sunilmut commented Dec 8, 2016

@gavanderhoorn - We are glad to know that things are progressing with roswtf on WSL. Can you describe in little more detail about what the exact problem is when you say there appear to still be some unresolved issues in the network stack on WSL that prevent pub/sub to work reliably in both directions? This will help us know what needs to be done to unblock this further.

@sunilmut sunilmut added the network label Dec 8, 2016

@janbernloehr

This comment has been minimized.

janbernloehr commented Dec 11, 2016

I just checked roswtf on my installation of kinectic. Since I disabled ipv6, the issue mentioned here does not show.

However, the issue mentioned by @gavanderhoorn is present - see also #1391

The warning in the end is relevant

jan@jan-pc:~$ 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

Online checks summary:

Found 1 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING The following node subscriptions are unconnected:
 * /rosout:
   * /rosout
@sunilmut

This comment has been minimized.

Member

sunilmut commented Jan 19, 2017

@lovettchris - Thanks for your post. Please try your scenario on 15007 and let us know if it still doesn't work.

@janbernloehr

This comment has been minimized.

janbernloehr commented Jan 21, 2017

On 15007 roswtf still complains that /rosout is not available. On the other hand, the ipv6 issue reported by @lovettchris seems to be fixed since there are no errors even though ipv6 is enabled.

jan@jan-pc:~$ 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

Online checks summary:

Found 1 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING The following node subscriptions are unconnected:
 * /rosout:
   * /rosout
@sunilmut

This comment has been minimized.

Member

sunilmut commented Jan 23, 2017

@janbernloehr - Thanks for trying this out in recent build and the update. Can you collect and share the strace of the failing roswtf command?

strace -o <strace_file> -ff roswtf

@janbernloehr

This comment has been minimized.

janbernloehr commented Jan 23, 2017

I created straces of roscore and roswtf on 15014.

roscore.tar.gz
roswtf.tar.gz

@Andersw88

This comment has been minimized.

Andersw88 commented Jan 29, 2017

I have tested in build 15019, still not working.

Made straces from roscore and roswtf as well.
roscore.tar.gz
roswtf.tar.gz

@sweetim

This comment has been minimized.

sweetim commented May 8, 2017

any update? with the latest windows creator update?

@janbernloehr

This comment has been minimized.

janbernloehr commented May 11, 2017

See #1391 for the latest update

@svanimisetti

This comment has been minimized.

svanimisetti commented Jul 28, 2017

I have used the instruction for Ubuntu ROS installation to install ROS on Windows 10 Bash (WSL). It did install without complaining. I am also able to start the ROS master using roscore. However, I am not having so much luck with the debug (visualization tools). RViz just crashed after a segmentation fault and Gazebo open with a blank (greyed out) visualization window. Based on comments above, I see that its not expected to work rightaway. Perhaps this has to do something with OpenGL + NVIDIA (GeForce 920M) interface issues. Maybe compiling from source in WSL is the best option - but I am too faint of heart to try something like that. My system configuration is listed below for reference. Apologize for the long post.

vsampath@DESKTOP-548P7JD:~$ roscore &
[1] 8425
vsampath@DESKTOP-548P7JD:~$ ... logging to /home/vsampath/.ros/log/dbe0e326-736e-11e7-ab82-54ee7571850e/roslaunch-DESKTOP-548P7JD-8425.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://DESKTOP-548P7JD:59554/
ros_comm version 1.12.7


SUMMARY
========

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.7

NODES

auto-starting new master
process[master]: started with pid [8436]
ROS_MASTER_URI=http://DESKTOP-548P7JD:11311/

setting /run_id to dbe0e326-736e-11e7-ab82-54ee7571850e
process[rosout-1]: started with pid [8449]
started core service [/rosout]

vsampath@DESKTOP-548P7JD:~$ rosrun rviz rviz
[ INFO] [1501230589.094844400]: rviz version 1.12.10
[ INFO] [1501230589.095276300]: compiled against Qt version 5.5.1
[ INFO] [1501230589.095559800]: compiled against OGRE version 1.9.0 (Ghadamon)
Segmentation fault (core dumped)

System config:

vsampath@DESKTOP-548P7JD:~$ sudo uname -mrs
Linux 4.4.0-43-Microsoft x86_64
vsampath@DESKTOP-548P7JD:~$ sudo lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 61
Model name:            Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz
Stepping:              4
CPU MHz:               2401.000
CPU max MHz:           2401.0000
BogoMIPS:              4802.00
Virtualization:        VT-x
Hypervisor vendor:     vertical
Virtualization type:   full
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave osxsave avx f16c rdrand


vsampath@DESKTOP-548P7JD:~$ sudo lshw
desktop-548p7jd
    description: Computer
    width: 64 bits
  *-core
       description: Motherboard
       physical id: 0
     *-memory
          description: System memory
          physical id: 0
          size: 8097MiB
     *-cpu
          product: Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz
          vendor: Intel Corp.
          physical id: 1
          bus info: cpu@0
          capacity: 2401MHz
          width: 64 bits
          capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave osxsave avx f16c rdrand cpufreq


vsampath@DESKTOP-548P7JD:~$ sudo lspci -vnn
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.


vsampath@DESKTOP-548P7JD:~$ sudo glxinfo | grep OpenGL
OpenGL vendor string: Mesa Project
OpenGL renderer string: Software Rasterizer
OpenGL version string: 1.4 (2.1 Mesa 17.2.0-devel (git-9ac55e8219))
OpenGL extensions:
@janbernloehr

This comment has been minimized.

janbernloehr commented Jul 29, 2017

I see from your output that you are using ros kinetic. The necessary patch, however, is only available for ros lunar.

Also, when I run your glxinfo statement I get
$ sudo glxinfo | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 4.0, 256 bits)
OpenGL version string: 3.0 Mesa 17.0.7
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:

Are you sure you didnt install any custom glx stuff which may interfere here?

@svanimisetti

This comment has been minimized.

svanimisetti commented Jul 30, 2017

Thanks Jan. For the record, installation based on ROS lunar resolved the ros_comm issue. However, WSL still seems to struggle with getting Gazebo visualization to work. Same setup for ROS lunar replicated on Raspberry Pi (display tunneled over X11 forwarding) seems to open Gazebo with visualization just fine. I opened a thread on Gazebo answers on this.

@sunilmut

This comment has been minimized.

Member

sunilmut commented Aug 1, 2017

@svanimisetti - Thanks for your post. WSL's focus so far as been command line tools. Although, within that focus, graphical tools have been able to work with X11 forwarding. If you are having problems with the visualization on ROS, that would be a different issue than this one and I would recommend opening a new issue for that.

@davetcoleman

This comment has been minimized.

davetcoleman commented Apr 23, 2018

I've been following this thread and want to say that your blog post for ROS on WSL is great! Thanks @janbernloehr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment