GaussianFactorGraph destructor stack overflow error on Levenberg

Issue #465 new
Chris created an issue

It seems to crash in boost when trying to free up the shared pointers. The same problem happens with the Dogleg Optimizer but not with non linear conjugate gradient.

It sounded similar to: https://bitbucket.org/gtborg/gtsam/issues/369/segfault-when-running-on-data-sets-with and I tried also setting the parameters to use metis but no change. Another engineer reported the same issue on his machine and felt that it happened with number of factor nodes being > 2000 roughly.

The setup is using GPS and IMU factors in order to optimise and create a 3D pose graph.

My call stack in Visual Studio 2015 is:

>   Processing.exe!boost::detail::atomic_decrement(std::atomic<int> * pw) Line 36   C++
    Processing.exe!boost::detail::sp_counted_base::release() Line 108   C++
    Processing.exe!boost::detail::shared_count::~shared_count() Line 426    C++

Processing.exe!gtsam::GaussianFactorGraph::~GaussianFactorGraph() Line 92   C++
    Processing.exe!gtsam::ClusterTree<gtsam::GaussianFactorGraph>::Cluster::~Cluster() Line 49  C++
    [External Code] 
    Processing.exe!boost::detail::sp_ms_deleter<gtsam::ClusterTree<gtsam::GaussianFactorGraph>::Cluster>::destroy() Line 67 C++
    Processing.exe!boost::detail::sp_ms_deleter<gtsam::ClusterTree<gtsam::GaussianFactorGraph>::Cluster>::operator()(gtsam::ClusterTree<gtsam::GaussianFactorGraph>::Cluster * __formal) Line 94    C++
    Processing.exe!boost::detail::sp_counted_impl_pd<gtsam::ClusterTree<gtsam::GaussianFactorGraph>::Cluster * __ptr64,boost::detail::sp_ms_deleter<gtsam::ClusterTree<gtsam::GaussianFactorGraph>::Cluster> >::dispose() Line 173  C++
    Processing.exe!boost::detail::sp_counted_base::release() Line 111   C++
    Processing.exe!boost::detail::shared_count::~shared_count() Line 426    C++

The number of nodes is around 5000.

Comments (1)

  1. Chris reporter

    It does turn out that the parameters were not being applied. Using METIS ordering does seem to stop it crashing here. Is there a reason why this is the case?

  2. Log in to comment