[ros-users] [PCL]: seg fault in convertCloudToArray

Dejan Pangercic dejan.pangercic at gmail.com
Tue Sep 20 17:27:13 UTC 2011


Ivan, I am catching up on my ros-users emails.
Is below code still giving you problems?

D.

On Thu, Jul 7, 2011 at 3:21 PM, Ivan Dryanovski
<ivan.dryanovski at gmail.com> wrote:
> I am getting a similar segfault error in convertCloudToArray. I am
> working on Ubuntu 10.10, 64-bit. I am using the latest libpcl-dev
> installed from binaries. The same code ran ok when I used the
> perception_pcl ros stack instead.
>
> Below is the code I'm running
>
> void pointCloudCallback(const sensor_msgs::PointCloud2::ConstPtr& cloud_in_msg)
> {
>  PointCloudT::Ptr cloud_in_ptr = boost::make_shared<PointCloudT>();
>  pcl::fromROSMsg(*cloud_in_msg, *cloud_in_ptr);
>
>  pcl::IterativeClosestPoint<PointT, PointT> reg;
>
>  pcl::KdTreeFLANN<PointT>::Ptr tree =
>    boost::make_shared<pcl::KdTreeFLANN<PointT> > ();
>
>  reg.setRadiusSearch<PointT>(tree, 0.20, "f");
>  reg.setTransformationEpsilon (icp_tf_epsilon_);
>  reg.setMaxCorrespondenceDistance (icp_max_corresp_dist_);
>  reg.setMaximumIterations (icp_max_iterations_);
>
>  reg.setInputCloud  (cloud_in_ptr);
>  reg.setInputTarget (cloud_in_ptr);
> }
>
> The call to setInputCloud produces this error:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x01bdf3e7 in pcl::KdTreeFLANN<pcl::PointXYZRGB>::convertCloudToArray(pcl::PointCloud<pcl::PointXYZRGB>
> const&) ()
>   from /usr/local/lib/libpcl_kdtree.so.1
>
> This is the backtrace from gdb:
>
> #0  0x01bdf3e7 in
> pcl::KdTreeFLANN<pcl::PointXYZRGB>::convertCloudToArray(pcl::PointCloud<pcl::PointXYZRGB>
> const&) ()
>   from /usr/local/lib/libpcl_kdtree.so.1
> #1  0x01befb64 in
> pcl::KdTreeFLANN<pcl::PointXYZRGB>::setInputCloud(boost::shared_ptr<pcl::PointCloud<pcl::PointXYZRGB>
> const> const&, boost::shared_ptr<std::vector<int, std::allocator<int>
>> const> const&) ()
>   from /usr/local/lib/libpcl_kdtree.so.1
> #2  0x0806e243 in pcl::Registration<pcl::PointXYZRGB,
> pcl::PointXYZRGB>::setInputTarget(boost::shared_ptr<pcl::PointCloud<pcl::PointXYZRGB>
> const> const&) ()
> #3  0x0805f266 in
> kinect_pose_est::KinectPoseEst::pointCloudCallback(boost::shared_ptr<sensor_msgs::PointCloud2_<std::allocator<void>
>> const> const&) ()
> #4  0x08067d15 in
> 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>) ()
> #5  0x08067dc9 in
> ros::SubscriptionCallbackHelperT<boost::shared_ptr<sensor_msgs::PointCloud2_<std::allocator<void>
>> const> const&,
> void>::call(ros::SubscriptionCallbackHelperCallParams&) ()
> #6  0x00d85b72 in ros::SubscriptionQueue::call (this=0xb4702840)
>    at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/subscription_queue.cpp:164
> #7  0x00dca34a in ros::CallbackQueue::callOneCB (this=0x8098010, tls=0xb4703080)
>    at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/callback_queue.cpp:381
> #8  0x00dcaa3f in ros::CallbackQueue::callAvailable (this=0x8098010,
> timeout=...)
>    at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/callback_queue.cpp:333
> #9  0x00dd1010 in ros::SingleThreadedSpinner::spin (this=0xbfffe63c,
> queue=0x8098010)
>    at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/spinner.cpp:49
> #10 0x00d55859 in ros::spin (s=...)
>    at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/init.cpp:493
> #11 0x00d55889 in ros::spin ()
>    at /tmp/buildd/ros-diamondback-ros-comm-1.4.6/debian/ros-diamondback-ros-comm/opt/ros/diamondback/stacks/ros_comm/clients/cpp/roscpp/src/libros/init.cpp:488
> #12 0x0806f64b in main ()
>
> Thanks,
> Ivan
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>



-- 
MSc. Dejan Pangercic
PhD Student/Researcher
Intelligent Autonomous Systems Group
Technische Universität München
Telephone: +49 (89) 289-26908
E-Mail: dejan.pangercic at cs.tum.edu
WWW: http://ias.cs.tum.edu/people/pangercic



More information about the ros-users mailing list