Skip to content

Crash in fcl::continuousCollide #637

Description

@alimaiem-hmi

Hello,
I am getting a weird crash in fcl::continuousCollide. I checked the input and it's valid. The same input used for equivalent discrete checks works fine.
The partial call stack of the crash is:

libc.so.6!__GI_raise(int sig) (\build\glibc-FcRMwW\glibc-2.31\sysdeps\unix\sysv\linux\raise.c:50)
libc.so.6!__GI_abort() (\build\glibc-FcRMwW\glibc-2.31\stdlib\abort.c:79)
libc.so.6!__libc_message(enum __libc_message_action action, const char * fmt) (\build\glibc-FcRMwW\glibc-2.31\sysdeps\posix\libc_fatal.c:156)
libc.so.6!__GI___fortify_fail(const char * msg) (\build\glibc-FcRMwW\glibc-2.31\debug\fortify_fail.c:26)
libc.so.6!__stack_chk_fail() (\build\glibc-FcRMwW\glibc-2.31\debug\stack_chk_fail.c:24)
libccd.so.2!refinePortal (Unknown Source:0)
libccd.so.2!ccdMPRIntersect (Unknown Source:0)
libfcl.so.0.6!bool fcl::detail::GJKCollide(void*, void ()(void const, _ccd_vec3_t const*, _ccd_vec3_t*), void ()(void const, _ccd_vec3_t*), void*, void ()(void const, _ccd_vec3_t const*, _ccd_vec3_t*), void ()(void const, _ccd_vec3_t*), unsigned int, double, Eigen::Matrix<double, 3, 1, 0, 3, 1>, double, Eigen::Matrix<double, 3, 1, 0, 3, 1>) (Unknown Source:0)
libfcl.so.0.6!void fcl::detail::meshShapeCollisionOrientedNodeLeafTesting<fcl::OBBRSS, fcl::Cylinder, fcl::detail::GJKSolver_libccd >(int, int, fcl::BVHModel<fcl::OBBRSS > const
, fcl::Cylinder const&, Eigen::Matrix<fcl::OBBRSS::S, 3, 1, 0, 3, 1>, fcl::Triangle, Eigen::Transform<fcl::OBBRSS::S, 3, 1, 0> const&, Eigen::Transform<fcl::OBBRSS::S, 3, 1, 0> const&, fcl::detail::GJKSolver_libccd const*, bool, fcl::OBBRSS::S, int&, fcl::CollisionRequest<fcl::OBBRSS::S> const&, fcl::CollisionResult<fcl::OBBRSS::S>&) (Unknown Source:0)
libfcl.so.0.6!fcl::detail::MeshShapeCollisionTraversalNodeOBBRSS<fcl::Cylinder, fcl::detail::GJKSolver_libccd >::leafTesting(int, int) const (Unknown Source:0)
libfcl.so.0.6!void fcl::detail::collisionRecurse(fcl::detail::CollisionTraversalNodeBase, int, int, std::__cxx11::list<fcl::detail::BVHFrontNode, std::allocatorfcl::detail::BVHFrontNode >) (Unknown Source:0)
libfcl.so.0.6!void fcl::detail::collisionRecurse(fcl::detail::CollisionTraversalNodeBase, int, int, std::__cxx11::list<fcl::detail::BVHFrontNode, std::allocatorfcl::detail::BVHFrontNode >) (Unknown Source:0)
libfcl.so.0.6!void fcl::detail::collisionRecurse(fcl::detail::CollisionTraversalNodeBase, int, int, std::__cxx11::list<fcl::detail::BVHFrontNode, std::allocatorfcl::detail::BVHFrontNode >) (Unknown Source:0)
libfcl.so.0.6!void fcl::detail::collisionRecurse(fcl::detail::CollisionTraversalNodeBase, int, int, std::__cxx11::list<fcl::detail::BVHFrontNode, std::allocatorfcl::detail::BVHFrontNode >) (Unknown Source:0)
libfcl.so.0.6!void fcl::detail::collisionRecurse(fcl::detail::CollisionTraversalNodeBase, int, int, std::__cxx11::list<fcl::detail::BVHFrontNode, std::allocatorfcl::detail::BVHFrontNode >) (Unknown Source:0)
libfcl.so.0.6!void fcl::detail::collisionRecurse(fcl::detail::CollisionTraversalNodeBase, int, int, std::__cxx11::list<fcl::detail::BVHFrontNode, std::allocatorfcl::detail::BVHFrontNode >) (Unknown Source:0)
libfcl.so.0.6!void fcl::detail::collisionRecurse(fcl::detail::CollisionTraversalNodeBase, int, int, std::__cxx11::list<fcl::detail::BVHFrontNode, std::allocatorfcl::detail::BVHFrontNode >) (Unknown Source:0)
libfcl.so.0.6!void fcl::detail::collisionRecurse(fcl::detail::CollisionTraversalNodeBase, int, int, std::__cxx11::list<fcl::detail::BVHFrontNode, std::allocatorfcl::detail::BVHFrontNode >) (Unknown Source:0)
libfcl.so.0.6!unsigned long fcl::detail::orientedBVHShapeCollide<fcl::detail::MeshShapeCollisionTraversalNodeOBBRSS<fcl::Cylinder, fcl::detail::GJKSolver_libccd >, fcl::OBBRSS, fcl::Cylinder, fcl::detail::GJKSolver_libccd >(fcl::CollisionGeometry<fcl::OBBRSS::S> const*, Eigen::Transform<fcl::OBBRSS::S, 3, 1, 0> const&, fcl::CollisionGeometry<fcl::OBBRSS::S> const*, Eigen::Transform<fcl::OBBRSS::S, 3, 1, 0> const&, fcl::detail::GJKSolver_libccd const*, fcl::CollisionRequest<fcl::OBBRSS::S> const&, fcl::CollisionResult<fcl::OBBRSS::S>&) (Unknown Source:0)
libfcl.so.0.6!unsigned long fcl::collide<double, fcl::detail::GJKSolver_libccd >(fcl::CollisionGeometry const*, Eigen::Transform<double, 3, 1, 0> const&, fcl::CollisionGeometry const*, Eigen::Transform<double, 3, 1, 0> const&, fcl::detail::GJKSolver_libccd const*, fcl::CollisionRequest const&, fcl::CollisionResult&) (Unknown Source:0)

Any clues?

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions