Ask Your Question
0

`roslaunch pr2_moveit_config demo.launch` fails

asked 2017-02-13 13:21:38 -0500

gsarret gravatar image

I'm trying to run Dave Coleman's demo which I cloned from his repo: https://github.com/davetcoleman/pr2_m... .

This works fine:

roslaunch moveit_setup_assistant setup_assistant.launch

However, I've troubles with the following:

roslaunch pr2_moveit_config demo.launch

When I run this line, lots of things happen, then RViz starts and after a short while fails, leaving this message in terminal:

[rviz_c8d753b8ad42_15266_8281796835458697607-6] process has died [pid 15335, exit code -11, cmd /opt/ros/kinetic/lib/rviz/rviz -d /root/ws_moveit/install/share/pr2_moveit_config/launch/moveit.rviz __name:=rviz_c8d753b8ad42_15266_8281796835458697607 __log:=/root/.ros/log/af9613b0-f21b-11e6-b13f-0242ac110002/rviz_c8d753b8ad42_15266_8281796835458697607-6.log].
log file: /root/.ros/log/af9613b0-f21b-11e6-b13f-0242ac110002/rviz_c8d753b8ad42_15266_8281796835458697607-6*.log

Unfortunately, there's no logfile from RViz, only master.log, rosout.log etc., none of which provides any valuable info. Does anyone know where this error might come from? How to troubleshoot, where do I start? How to make rviz output logs at least?

I'm running it from a docker container, if it matters.

Thanks in advance.

edit retag flag offensive close merge delete

Comments

No problems with roscore &; rviz, by the way.

gsarret gravatar image gsarret  ( 2017-02-13 13:29:25 -0500 )edit

You could see whether running RViz in gdb and printing a backtrace provides any useful information. For that to really help you'd need debug symbols for RViz.

re: logging: rviz crashes before it can write anything to the logs.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-13 14:17:44 -0500 )edit

@gvdhoorn Thanks for the suggestion, but it works fine when I run RViz just from a command line. Any ideas on how to run it in gdb while executing roslaunch pr2_moveit_config demo.launch? My guess is I have to mess with demo.launch file, right? Or, build RViz from scratch with debug symbols?

gsarret gravatar image gsarret  ( 2017-02-13 14:50:22 -0500 )edit

re: debug symbols: yes, that will unfortunately require a from-source build.

re: running rviz in gdb: demo.launch already includes support for that. Just run it as demo.launch debug:=true.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-13 15:08:52 -0500 )edit

@gvdhoorn That's nice. Good, unless someone has a solution or I magically resolve it myself, I'll give gdb a try. Thank you.

gsarret gravatar image gsarret  ( 2017-02-13 16:10:23 -0500 )edit

@gvdhoorn Well, as usual, the problem turned out to be absolutely dumb. I suspected that, just didn't expect it to be SO dumb. Anyway, thanks for your comments, might come in handy at some point later.

gsarret gravatar image gsarret  ( 2017-02-15 15:04:42 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2017-02-15 15:12:37 -0500

gsarret gravatar image

updated 2017-02-16 18:08:00 -0500

The crash had in principle nothing to do with either RViz or any other part of ROS (though, it's still not a good thing --- to receive a SIGSEGV and crash). If you stumble upon something similar, just remember to always update:

rosdep update
sudo apt-get update && sudo apt-get dist-upgrade -y

"Have you tried turning it off and on again?"

edit flag offensive delete link more

Comments

To shed some light on this: the ROS buildfarm and process do not guarantee ABI compatibility at the moment. This means that if you do a partial upgrade of ROS, you may end up having incompatible binaries and / or libraries. That typically results in 'mysterious' SEGFAULTs like you enountered.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-16 01:33:30 -0500 )edit

Also: running rosdep update with sudo is not recommended (or required). rosdep update downloads the data to a per-user cache folder, which with sudo could be configured with the wrong (ie: root) permissions, leading to all sorts of problems.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-16 01:38:24 -0500 )edit

though, it's still not a good thing --- to receive a SIGSEGV and crash

I agree, nice error mesages are always preferable, but in the case of incompatible binaries due to ABI violations there isn't really that much that can be done to catch the errors. The crash is out of the program's control.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-16 01:39:34 -0500 )edit

@gvdhoorn Thanks, I edited the answer, indeed rosdep update should not be run as root (as it always reminds whenever you do that). As for the compatibility, I realize it's still work in progress, and I hope ROS will get much more stable in future. Perhaps, I'll even have a hand in it (:

gsarret gravatar image gsarret  ( 2017-02-16 18:16:16 -0500 )edit

If you have ideas about how to implement ABI compatibility checking and putting ideas in place then I'm sure your input would be appreciated.

The problem is not a technical one alone though: ROS nodes are written by people, and all those people would need to start taking care.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-18 06:57:22 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2017-02-13 13:21:38 -0500

Seen: 947 times

Last updated: Feb 16 '17