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
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