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

Crash running moveit move_group node

asked 2016-11-09 13:29:21 -0600

Nic_G gravatar image

updated 2016-11-10 05:20:50 -0600

Hi All. I'm running a UR5 simulation, using ROS Kinetic with MoveIt! and gazebo, but the moveit_ros_move_group node crashes on start-up.

A backtrace shows an illegal instruction, seemingly issued by libmoveit_collision_detection_fcl.so:

 Thread 1 "move_group" received signal SIGILL, Illegal instruction.
 0x00007fffeb76b430 in fcl::AABB::AABB() () from /usr/lib/x86_64-linux-gnu/libfcl.so.0.5
 (gdb) bt
 #0  0x00007fffeb76b430 in fcl::AABB::AABB() () from /usr/lib/x86_64-linux-gnu/libfcl.so.0.5
 #1  0x00007fffef50f139 in fcl::BVHModel<fcl::OBBRSS>::BVHModel() () from /opt/ros/kinetic/lib/libmoveit_collision_detection_fcl.so.0.9.1

I followed the instructions at http://wiki.ros.org/ur_gazebo initially and the above error comes when the move_group node is called from within the ur5_moveit_planning_execution.launch file. Running 'rosrun moveit_ros_move_group move_group' directly gives the same error and stack trace.

I've tried using MoveIt from within the Kinetic distro and tried updating from the shadow-fixed server, and also tried building MoveIt from source, but the behaviour is the same.

I'm running Linux Ubuntu, version details: 4.4.0-43-generic (buildd@lgw01-22) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2)

Any advice on what to try next would be greatly appreciated!

System details:

lsb_release -a          
LSB Version:    core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial

Cpu:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz
stepping        : 5
microcode       : 0xf
cpu MHz         : 1867.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
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 rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid dtherm ida
bugs            :
bogomips        : 6141.46
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

EDIT - more info:

installing debug files, gdb shows the problem location:

#0  fcl::AABB::AABB (this=0x92fad8) at /var/lib/jenkins/workspace/fcl0.5-pkg_builder-master-generic/repo/src/BV/AABB.cpp:47

gdb dissassemly output gives the problem as the command "vmovsd %xmm2,(%rdx,%rax,8) ", which suggests the library has been compiled on an architecture with an 'avx' flag on the cpu, which my system doesn't have

edit retag flag offensive close merge delete

Comments

This is interesting. Can you tell us your cpu arch (x86, x64, something else) and OS version (lsb_release -a)?

Note that the universal_robot packages are not necessarily Kinetic compatible, but I don't think that's what causing you issues here.

gvdhoorn gravatar image gvdhoorn  ( 2016-11-09 14:32:43 -0600 )edit

Perhaps this is related to FCL's use of SSE instructions? Just a thought.

rbbg gravatar image rbbg  ( 2016-11-10 01:35:27 -0600 )edit

Could be, that's why I asked more info on cpu arch, etc.

gvdhoorn gravatar image gvdhoorn  ( 2016-11-10 01:46:36 -0600 )edit

Thanks for the reply, lsb_release -a output added to the question

Nic_G gravatar image Nic_G  ( 2016-11-10 03:53:43 -0600 )edit

And the cpu type? can you post the output of cat /proc/cpuinfo? (just a single processor is fine)

rbbg gravatar image rbbg  ( 2016-11-10 04:38:53 -0600 )edit

processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 26 model name : Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz stepping : 5 microcode : 0xf cpu MHz : 1867.000 cache size : 8192 KB physical id : 0 siblings : 8 core id

Nic_G gravatar image Nic_G  ( 2016-11-10 04:56:04 -0600 )edit

You're last update suggests something might be wrong with the binary distribution of libfcl. Perhaps it'd be good to report this over at flexible-collision-library/fcl/issues. The MoveIt issue tracker might also be good to notify.

gvdhoorn gravatar image gvdhoorn  ( 2016-11-10 06:33:30 -0600 )edit

Provided this really is an SIGILL due to miscompilation (and not a code corruption issue), this is serious and needs to be addressed. An i7-950 should definitely be capable of running MoveIt/FCL.

gvdhoorn gravatar image gvdhoorn  ( 2016-11-10 06:34:39 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-11-10 08:16:46 -0600

Nic_G gravatar image

updated 2016-11-10 08:17:41 -0600

The binary version of Flexible Collision Library, libfcl.so.0.5, was incompatible with my processors; we think it requires a processor with an 'avx' flag for vector processing.

The fix was to rebuild libfcl from source. I cloned and built from https://github.com/flexible-collision... , using branch origin/fcl-0.5 (master branch builds to 0.6.0, which fails with the moveit binaries). Summary of steps:

fetch source code

git clone https://github.com/flexible-collision-library/fcl.git
git checkout origin/fcl-0.5

Build as described at https://github.com/flexible-collision...

Re-point symlink:

sudo ln -f -s [local fcl repo location]/build/lib/libfcl.so.0.5.0 /usr/lib/x86_64-linux-gnu/libfcl.so.0.5
edit flag offensive delete link more

Comments

To avoid symlinking, I've also written instructions for building FCL for MoveIt! within your catkin workspace, which I think is pretty handy: http://moveit.ros.org/install/source/...

Dave Coleman gravatar image Dave Coleman  ( 2016-11-10 12:57:50 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2016-11-09 13:29:21 -0600

Seen: 1,050 times

Last updated: Nov 10 '16