Quantcast

kinfu_app segfault

classic Classic list List threaded Threaded
6 messages Options
dtj
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

kinfu_app segfault

dtj
Hey,

In a weird bug, the kinfu_app was working great for me.  Strangely, after about 4 weeks of good times, it's now failing to work & giving seg-faults.  I'm rather confused by this, especially because it was working fine before.  I've tried rebuilding kinfu_app but that doesn't help.  I've visualized the .pcd files I'm working on & they're intact.  I'm running version 5824 of pcl_experimental (I downloaded it on June 1 or 2 I think).

When I run in GDB I get the following backtrace:

#0  0xb7e41a2e in pcl::PCDReader::readHeader(std::string const&, sensor_msgs::PointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&, Eigen::Quaternion<float, 0>&, int&, int&, unsigned int&, int) ()
   from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6

I tried deleting this library & remaking + re-linking this but that didn't fix it.  A couple questions:
1) Where is the best place in the pcl_experimental build system to add "-g" debugging flags?  I can easily add this to my own CMakeLists.txt files but I'm less sure of the right way to do this for things like kinfu_app

2)  Anyone got a good idea on how to fix this??  The fact that it worked beautifully for several weeks & then stopped working has me a bit miffed.

Any help will be appreciated.  Thanks!
dtj
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: kinfu_app segfault

dtj
Just for a little more context, I'm calling kinfu_app in the following way:

./kinfu_app -volume_size 1.8 -pcd ~/rosbag/d2_icp_expand

& the app successfully loads a bunch of pcd files before the error coming after the start of the main loop.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: kinfu_app segfault

Radu B. Rusu
Administrator
In reply to this post by dtj
Since you're already working with trunk, can you please retrace your steps to the revision that was working for you?
That would help us identify the offending commit. Thanks.

Cheers,
Radu.


On 06/25/2012 12:52 AM, dtj wrote:

> Hey,
>
> In a weird bug, the kinfu_app was working great for me.  Strangely, after
> about 4 weeks of good times, it's now failing to work & giving seg-faults.
> I'm rather confused by this, especially because it was working fine before.
> I've tried rebuilding kinfu_app but that doesn't help.  I've visualized the
> .pcd files I'm working on & they're intact.  I'm running version 5824 of
> pcl_experimental (I downloaded it on June 1 or 2 I think).
>
> When I run in GDB I get the following backtrace:
>
> #0  0xb7e41a2e in pcl::PCDReader::readHeader(std::string const&,
> sensor_msgs::PointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&,
> Eigen::Quaternion<float, 0>&, int&, int&, unsigned int&, int) ()
>     from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
>
> I tried deleting this library & remaking + re-linking this but that didn't
> fix it.  A couple questions:
> 1) Where is the best place in the pcl_experimental build system to add "-g"
> debugging flags?  I can easily add this to my own CMakeLists.txt files but
> I'm less sure of the right way to do this for things like kinfu_app
>
> 2)  Anyone got a good idea on how to fix this??  The fact that it worked
> beautifully for several weeks & then stopped working has me a bit miffed.
>
> Any help will be appreciated.  Thanks!
>
> --
> View this message in context: http://www.pcl-users.org/kinfu-app-segfault-tp4019621.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
>

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
dtj
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: kinfu_app segfault

dtj
Hey Radu,

I didn’t actually change the revision I was working on when kinfu_app went from working -> broken.  So I can't revert to a previous version of trunk w/life was happy.  This leads me to wonder if an Ubuntu update caused the problem, though that seems weird/unlikely.  The specific SVN info (for before when kinfu_app was working & now when it isn’t) is:

~/pcl_experimental/pcl-trunk$ svn info
Path: .
URL: http://svn.pointclouds.org/pcl/trunk
Repository Root: http://svn.pointclouds.org/pcl
Repository UUID: a9d63959-f2ad-4865-b262-bf0e56cfafb6
Revision: 5824
Node Kind: directory
Schedule: normal
Last Changed Author: aichim
Last Changed Rev: 5824
Last Changed Date: 2012-06-01 14:54:08 -0700 (Fri, 01 Jun 2012)

The line that is throwing the seg-fault is:
“bool has_data = data_ready_cond_.timed_wait (lock, boost::posix_time::millisec(100));”
in the function: startMainLoop () in kinfu_app.cpp

The backtrace from gdb w/”-g” flags is:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xafe9cb70 (LWP 13107)]
0xb7e41a2e in pcl::PCDReader::readHeader(std::string const&, sensor_msgs::PointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&, Eigen::Quaternion<float, 0>&, int&, int&, unsigned int&, int) ()
   from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
(gdb) bt
#0  0xb7e41a2e in pcl::PCDReader::readHeader(std::string const&, sensor_msgs::PointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&, Eigen::Quaternion<float, 0>&, int&, int&, unsigned int&, int) ()
   from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
#1  0xb7e3e2f9 in pcl::PCDReader::read(std::string const&, sensor_msgs::PointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&, Eigen::Quaternion<float, 0>&, int&, int) ()
   from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
#2  0xb7e3a18d in pcl::PCDGrabberBase::PCDGrabberImpl::readAhead() () from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
#3  0xb7e3a394 in pcl::PCDGrabberBase::PCDGrabberImpl::trigger() () from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
#4  0xb7e3bf2d in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, pcl::PCDGrabberBase::PCDGrabberImpl>, boost::_bi::list1<boost::_bi::value<pcl::PCDGrabberBase::PCDGrabberImpl*> > >, void>::invoke(boost::detail::function::function_buffer&) () from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
#5  0xb7f4b6d1 in boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() () from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_common.so.1.6
#6  0xb7f4485b in pcl::TimeTrigger::thread_function() () from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_common.so.1.6
#7  0xb7f45ec7 in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, pcl::TimeTrigger>, boost::_bi::list1<boost::_bi::value<pcl::TimeTrigger*> > > >::run() ()
   from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_common.so.1.6
#8  0xb7f8f3cc in thread_proxy () from /usr/lib/libboost_thread.so.1.46.1
#9  0xb7f70d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#10 0xb6dfb46e in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Sorry to just dump a ton of info here.  Any good steps would be appreciated.  I’ve checked the first .pcd file in that directory with the pcl visualizer & loads & visualizes nicely.  Also, I'm running Ubuntu 11.10 if that makes a difference.

Thanks again.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: kinfu_app segfault

Radu B. Rusu
Administrator
Hmmm, if you didn't change PCL at all but other system libraries only, then I'm not sure what to say. Did you recompile
PCL after updating the rest of your system? What exactly changed?

Cheers,
Radu.


On 06/25/2012 10:29 PM, dtj wrote:

> Hey Radu,
>
> I didn’t actually change the revision I was working on when kinfu_app went
> from working -> broken.  So I can't revert to a previous version of trunk
> w/life was happy.  This leads me to wonder if an Ubuntu update caused the
> problem, though that seems weird/unlikely.  The specific SVN info (for
> before when kinfu_app was working & now when it isn’t) is:
>
> ~/pcl_experimental/pcl-trunk$ svn info
> Path: .
> URL: http://svn.pointclouds.org/pcl/trunk
> Repository Root: http://svn.pointclouds.org/pcl
> Repository UUID: a9d63959-f2ad-4865-b262-bf0e56cfafb6
> Revision: 5824
> Node Kind: directory
> Schedule: normal
> Last Changed Author: aichim
> Last Changed Rev: 5824
> Last Changed Date: 2012-06-01 14:54:08 -0700 (Fri, 01 Jun 2012)
>
> The line that is throwing the seg-fault is:
> “bool has_data = data_ready_cond_.timed_wait (lock,
> boost::posix_time::millisec(100));”
> in the function: startMainLoop () in kinfu_app.cpp
>
> The backtrace from gdb w/”-g” flags is:
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0xafe9cb70 (LWP 13107)]
> 0xb7e41a2e in pcl::PCDReader::readHeader(std::string const&,
> sensor_msgs::PointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&,
> Eigen::Quaternion<float, 0>&, int&, int&, unsigned int&, int) ()
>     from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
> (gdb) bt
> #0  0xb7e41a2e in pcl::PCDReader::readHeader(std::string const&,
> sensor_msgs::PointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&,
> Eigen::Quaternion<float, 0>&, int&, int&, unsigned int&, int) ()
>     from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
> #1  0xb7e3e2f9 in pcl::PCDReader::read(std::string const&,
> sensor_msgs::PointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&,
> Eigen::Quaternion<float, 0>&, int&, int) ()
>     from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
> #2  0xb7e3a18d in pcl::PCDGrabberBase::PCDGrabberImpl::readAhead() () from
> /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
> #3  0xb7e3a394 in pcl::PCDGrabberBase::PCDGrabberImpl::trigger() () from
> /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
> #4  0xb7e3bf2d in
> boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t&lt;void,
> boost::_mfi::mf0&lt;void, pcl::PCDGrabberBase::PCDGrabberImpl>,
> boost::_bi::list1<boost::_bi::value&lt;pcl::PCDGrabberBase::PCDGrabberImpl*>
>>> , void>::invoke(boost::detail::function::function_buffer&) () from
> /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
> #5  0xb7f4b6d1 in boost::signals2::detail::signal0_impl<void,
> boost::signals2::optional_last_value&lt;void>, int, std::less<int>,
> boost::function<void ()>, boost::function<void (boost::signals2::connection
> const&)>, boost::signals2::mutex>::operator()() () from
> /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_common.so.1.6
> #6  0xb7f4485b in pcl::TimeTrigger::thread_function() () from
> /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_common.so.1.6
> #7  0xb7f45ec7 in boost::detail::thread_data<boost::_bi::bind_t&lt;void,
> boost::_mfi::mf0&lt;void, pcl::TimeTrigger>,
> boost::_bi::list1<boost::_bi::value&lt;pcl::TimeTrigger*> > > >::run() ()
>     from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_common.so.1.6
> #8  0xb7f8f3cc in thread_proxy () from /usr/lib/libboost_thread.so.1.46.1
> #9  0xb7f70d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
> #10 0xb6dfb46e in clone () from /lib/i386-linux-gnu/libc.so.6
> Backtrace stopped: Not enough registers or memory available to unwind
> further
>
> Sorry to just dump a ton of info here.  Any good steps would be appreciated.
> I’ve checked the first .pcd file in that directory with the pcl visualizer &
> loads & visualizes nicely.  Also, I'm running Ubuntu 11.10 if that makes a
> difference.
>
> Thanks again.
>
> --
> View this message in context: http://www.pcl-users.org/kinfu-app-segfault-tp4019621p4019678.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
>

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: kinfu_app segfault

fheredia
We had a similar problem when pulling the latest trunk. That was about one week ago. We think the problem was that some of our libraries were very old, while others (e.g. VTK) were very new. Which caused all our libraries were mixed up, and probably not well-installed :s. Furthermore we were using Ubuntu 11.04

We tried downloading and compiling the trunk in a fresh install of Ubuntu 12.04, and it ran without problems. So we think is the problem with the libraries. We decided that for time's sake we wouldn't try to find out the error and patch once more and old install. My two cents. 



On Tue, Jun 26, 2012 at 7:41 AM, Radu B. Rusu <[hidden email]> wrote:
Hmmm, if you didn't change PCL at all but other system libraries only, then I'm not sure what to say. Did you recompile PCL after updating the rest of your system? What exactly changed?

Cheers,
Radu.



On 06/25/2012 10:29 PM, dtj wrote:
Hey Radu,

I didn’t actually change the revision I was working on when kinfu_app went
from working -> broken.  So I can't revert to a previous version of trunk
w/life was happy.  This leads me to wonder if an Ubuntu update caused the
problem, though that seems weird/unlikely.  The specific SVN info (for
before when kinfu_app was working & now when it isn’t) is:

~/pcl_experimental/pcl-trunk$ svn info
Path: .
URL: http://svn.pointclouds.org/pcl/trunk
Repository Root: http://svn.pointclouds.org/pcl
Repository UUID: a9d63959-f2ad-4865-b262-bf0e56cfafb6
Revision: 5824
Node Kind: directory
Schedule: normal
Last Changed Author: aichim
Last Changed Rev: 5824
Last Changed Date: 2012-06-01 14:54:08 -0700 (Fri, 01 Jun 2012)

The line that is throwing the seg-fault is:
“bool has_data = data_ready_cond_.timed_wait (lock,
boost::posix_time::millisec(100));”
in the function: startMainLoop () in kinfu_app.cpp

The backtrace from gdb w/”-g” flags is:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xafe9cb70 (LWP 13107)]
0xb7e41a2e in pcl::PCDReader::readHeader(std::string const&,
sensor_msgs::PointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&,
Eigen::Quaternion<float, 0>&, int&, int&, unsigned int&, int) ()
   from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
(gdb) bt
#0  0xb7e41a2e in pcl::PCDReader::readHeader(std::string const&,
sensor_msgs::PointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&,
Eigen::Quaternion<float, 0>&, int&, int&, unsigned int&, int) ()
   from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
#1  0xb7e3e2f9 in pcl::PCDReader::read(std::string const&,
sensor_msgs::PointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&,
Eigen::Quaternion<float, 0>&, int&, int) ()
   from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
#2  0xb7e3a18d in pcl::PCDGrabberBase::PCDGrabberImpl::readAhead() () from
/home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
#3  0xb7e3a394 in pcl::PCDGrabberBase::PCDGrabberImpl::trigger() () from
/home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
#4  0xb7e3bf2d in
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t&lt;void,
boost::_mfi::mf0&lt;void, pcl::PCDGrabberBase::PCDGrabberImpl>,
boost::_bi::list1<boost::_bi::value&lt;pcl::PCDGrabberBase::PCDGrabberImpl*>
, void>::invoke(boost::detail::function::function_buffer&) () from
/home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_io.so.1.6
#5  0xb7f4b6d1 in boost::signals2::detail::signal0_impl<void,
boost::signals2::optional_last_value&lt;void>, int, std::less<int>,
boost::function<void ()>, boost::function<void (boost::signals2::connection
const&)>, boost::signals2::mutex>::operator()() () from
/home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_common.so.1.6
#6  0xb7f4485b in pcl::TimeTrigger::thread_function() () from
/home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_common.so.1.6
#7  0xb7f45ec7 in boost::detail::thread_data<boost::_bi::bind_t&lt;void,
boost::_mfi::mf0&lt;void, pcl::TimeTrigger>,
boost::_bi::list1<boost::_bi::value&lt;pcl::TimeTrigger*> > > >::run() ()
   from /home/dtj/pcl_experimental/pcl-trunk/build/lib/libpcl_common.so.1.6
#8  0xb7f8f3cc in thread_proxy () from /usr/lib/libboost_thread.so.1.46.1
#9  0xb7f70d31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#10 0xb6dfb46e in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind
further

Sorry to just dump a ton of info here.  Any good steps would be appreciated.
I’ve checked the first .pcd file in that directory with the pcl visualizer &
loads & visualizes nicely.  Also, I'm running Ubuntu 11.10 if that makes a
difference.

Thanks again.

--
View this message in context: http://www.pcl-users.org/kinfu-app-segfault-tp4019621p4019678.html
Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users



--
Francisco Javier Heredia Soriano, MSc.
[hidden email]
Twitter: @panchoenlared


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Loading...