Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault on Box-Cylinder signed distance (ccd-GJK) #407

Open
wxmerkt opened this issue Jun 9, 2019 · 1 comment
Open

Segmentation fault on Box-Cylinder signed distance (ccd-GJK) #407

wxmerkt opened this issue Jun 9, 2019 · 1 comment

Comments

@wxmerkt
Copy link
Contributor

wxmerkt commented Jun 9, 2019

Using the latest master (2112037), I get the following kind of segmentation faults fairly often (it's also happening with older commits):

Thread 1 "python" received signal SIGSEGV, Segmentation fault.
0x00007fffa534a313 in fcl::detail::libccd_extension::ccdGJKSignedDist(void const*, void const*, _ccd_t const*, _ccd_vec3_t*, _ccd_vec3_t*) () from [path]/lib/libfcl.so.0.6
(gdb) bt
#0  0x00007fffa534a313 in fcl::detail::libccd_extension::ccdGJKSignedDist(void const*, void const*, _ccd_t const*, _ccd_vec3_t*, _ccd_vec3_t*) () from [path]/lib/libfcl.so.0.6
#1  0x00007fffa5348931 in bool fcl::detail::GJKSignedDistance<double>(void*, void (*)(void const*, _ccd_vec3_t const*, _ccd_vec3_t*), void*, void (*)(void const*, _ccd_vec3_t const*, _ccd_vec3_t*), unsigned int, double, double*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*, Eigen::Matrix<double, 3, 1, 0, 3, 1>*) ()
   from [path]/lib/libfcl.so.0.6
#2  0x00007fffa532c805 in fcl::detail::ShapeDistanceTraversalNode<fcl::Cylinder<double>, fcl::Box<double>, fcl::detail::GJKSolver_libccd<double> >::leafTesting(int, int) const () from [path]/lib/libfcl.so.0.6
#3  0x00007fffa536bf2f in void fcl::detail::distance<double>(fcl::detail::DistanceTraversalNodeBase<double>*, std::__cxx11::list<fcl::detail::BVHFrontNode, std::allocator<fcl::detail::BVHFrontNode> >*, int) ()
   from [path]/lib/libfcl.so.0.6
#4  0x00007fffa538e418 in fcl::Cylinder<double>::S fcl::detail::ShapeShapeDistance<fcl::Cylinder<double>, fcl::Box<double>, fcl::detail::GJKSolver_libccd<double> >(fcl::CollisionGeometry<fcl::Cylinder<double>::S> const*, Eigen::Transform<fcl::Cylinder<double>::S, 3, 1, 0> const&, fcl::CollisionGeometry<fcl::Cylinder<double>::S> const*, Eigen::Transform<fcl::Cylinder<double>::S, 3, 1, 0> const&, fcl::detail::GJKSolver_libccd<double> const*, fcl::DistanceRequest<fcl::Cylinder<double>::S> const&, fcl::DistanceResult<fcl::Cylinder<double>::S>&) ()
   from [path]/lib/libfcl.so.0.6
#5  0x00007fffa539861c in fcl::detail::GJKSolver_libccd<double>::S fcl::distance<fcl::detail::GJKSolver_libccd<double> >(fcl::CollisionGeometry<fcl::detail::GJKSolver_libccd<double>::S> const*, Eigen::Transform<fcl::detail::GJKSolver_libccd<double>::S, 3, 1, 0> const&, fcl::CollisionGeometry<fcl::detail::GJKSolver_libccd<double>::S> const*, Eigen::Transform<fcl::detail::GJKSolver_libccd<double>::S, 3, 1, 0> const&, fcl::detail::GJKSolver_libccd<double> const*, fcl::DistanceRequest<fcl::detail::GJKSolver_libccd<double>::S> const&, fcl::DistanceResult<fcl::detail::GJKSolver_libccd<double>::S>&) () from [path]/lib/libfcl.so.0.6
#6  0x00007fffa5399385 in double fcl::distance<double>(fcl::CollisionObject<double> const*, fcl::CollisionObject<double> const*, fcl::DistanceRequest<double> const&, fcl::DistanceResult<double>&) ()
   from [path]/lib/libfcl.so.0.6

I.e., when computing a distance between a Box and a Cylinder using libccd's GJK. Alas, I do not have a reproduction case. Have you seen these kind of segmentation faults?

I am on Ubuntu 18.04, using the latest libccd and FCL (2112037). Compiled without SSE or march=native.

@wxmerkt
Copy link
Contributor Author

wxmerkt commented Jul 8, 2019

I am getting a similar segmentation fault between a BVH and a primitive (box) - possibly a separate issue?:

#0  0x00007fffa1dec502 in fcl::detail::GJKSolver_libccd<double>::S fcl::distance<fcl::detail::GJKSolver_libccd<double> >(fcl::CollisionGeometry<fcl::detail::GJKSolver_libccd<double>::S> const*, Eigen::Transform<fcl::detail::GJKSolver_libccd<double>::S, 3, 1, 0> const&, fcl::CollisionGeometry<fcl::detail::GJKSolver_libccd<double>::S> const*, Eigen::Transform<fcl::detail::GJKSolver_libccd<double>::S, 3, 1, 0> const&, fcl::detail::GJKSolver_libccd<double> const*, fcl::DistanceRequest<fcl::detail::GJKSolver_libccd<double>::S> const&, fcl::DistanceResult<fcl::detail::GJKSolver_libccd<double>::S>&) () from [path]/libfcl.so.0.6
#1  0x00007fffa1dec815 in double fcl::distance<double>(fcl::CollisionObject<double> const*, fcl::CollisionObject<double> const*, fcl::DistanceRequest<double> const&, fcl::DistanceResult<double>&) () from [path]/libfcl.so.0.6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant