laser_self_filter crashes when launching PR2 arm_navigation
It is basically a problem reported before by @ASchwa but never got resolved. Though it is a wiki question, I don't have enough Karma, so I am posting as new question.
I just want to run roslaunch pr2_3dnav right_arm_navigation.launch
laser_self_filter continues to crash and gets respawned on Ubuntu 12.04 LTS 64-bit with ROS Fuerte.
I know this launch file does work on many other machines that also runs 12.04 64bit with Fuerte. It is crucial for us to get this working please take a look.
As @Lorenz suggested, I attached gdb to laser_self_filter. Please take a look. Thanks!
(gdb) bt
#0 0x00007ffff6ae20e1 in pcl::VoxelGrid<pcl::PointXYZ>::applyFilter(pcl::PointCloud<pcl::PointXYZ>&) () from /opt/ros/fuerte/lib/libpcl_filters.so.1.5
#1 0x0000000000434527 in filter (output=..., this=0x7fffffffdb10)
at /opt/ros/fuerte/include/pcl-1.5/pcl/filters/filter.h:117
#2 SelfFilter::cloudCallback (this=0x7fffffffd600, cloud2=...)
at /tmp/buildd/ros-fuerte-arm-navigation-1.1.11/debian/ros-fuerte-arm-navigation/opt/ros/fuerte/stacks/arm_navigation/robot_self_filter/src/self_filter.cpp:105
#3 0x0000000000424b3a in operator() (a0=..., this=<optimized out>)
at /usr/include/boost/function/function_template.hpp:1013
#4 boost::detail::function::void_function_obj_invoker1<boost::function<void (boost::shared_ptr<sensor_msgs::PointCloud2_<std::allocator<void> > const> const&)>, void, boost::shared_ptr<sensor_msgs::PointCloud2_<std::allocator<void> > const> >::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<sensor_msgs::PointCloud2_<std::allocator<void> > const>) (function_obj_ptr=..., a0=...)
at /usr/include/boost/function/function_template.hpp:153
#5 0x000000000043821c in operator() (
a0=<error reading variable: access outside bounds of object referenced via synthetic pointer>, this=0x698238) at /usr/include/boost/function/function_template.hpp:1013
#6 message_filters::CallbackHelper1T<boost::shared_ptr<sensor_msgs::PointCloud2_<std::allocator<void> > const> const&, sensor_msgs::PointCloud2_<std::allocator<void> > >::call (this=0x698230, event=..., nonconst_force_copy=<optimized out>)
at /opt/ros/fuerte/include/message_filters/signal1.h:76
#7 0x000000000042a367 in call (event=..., this=<optimized out>)
at /opt/ros/fuerte/include/message_filters/signal1.h:119
#8 message_filters::SimpleFilter<sensor_msgs::PointCloud2_<std::allocator<void> > >::signalMessage (this=<optimized out>, event=...)
at /opt/ros/fuerte/include/message_filters/simple_filter.h:135
#9 0x000000000043b365 in tf::MessageFilter<sensor_msgs::PointCloud2_<std::allocator<void> > >::testMessage (this=0x7a2970, evt=...)
at /opt/ros/fuerte/stacks/geometry/tf/include/tf/message_filter.h:413
#10 0x000000000043bf91 in tf::MessageFilter<sensor_msgs::PointCloud2_<std::allocator<void> > >::add (this=0x7a2970, evt=...)
at /opt/ros/fuerte/stacks/geometry/tf/include/tf/message_filter.h:255
#11 0x0000000000438408 in operator() (a0=..., this=0x7c05f8)
at /usr/include/boost/function/function_template.hpp:1013
#12 message_filters::CallbackHelper1T<ros::MessageEvent<sensor_msgs::PointCloud2_<std::allocator<void> > const> const&, sensor_msgs::PointCloud2_<std::allocator<void> > >::call (this=0x7c05f0, event=..., nonconst_force_copy=<optimized out>)
at /opt/ros/fuerte/include/message_filters/signal1.h:76
#13 0x000000000042a367 in call (event=..., this=<optimized out>)
at /opt/ros/fuerte/include/message_filters/signal1.h:119
#14 message_filters::SimpleFilter<sensor_msgs::PointCloud2_<std::allocator<void> > >::signalMessage (this=<optimized out>, event=...)
at /opt/ros/fuerte/include/message_filters/simple_filter.h:135
#15 0x000000000043853b in operator() (a0=..., this=0x7e4458)
at /usr/include/boost/function/function_template.hpp:1013
#16 ros::SubscriptionCallbackHelperT<ros::MessageEvent<sensor_msgs::PointCloud2_<std::allocator<void> > const> const&, void>::call ...