gzserver segfaults when spawning DiffDriveController [closed]
I'm following the URDF tutorial here and modified it to fit some stl models exported from Inventor. Whenever I run the launch file, I find Thread 15 "gzserver" received signal SIGSEGV, Segmentation fault.
and a gdb prompt. I commented out the controller spawner in the launch file, and everything starts, except the controllers. When I start them manually from rqt_controller_manager, gzserver segfaults.
I'm using ROS kinetic and gazebo 7 What's happening?
gazerver GDB backtrace
#0 0x00007fff2949aeff in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::shared_ptr<urdf::Link> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::shared_ptr<urdf::Link> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::shared_ptr<urdf::Link> > >
>::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const () from /opt/ros/kinetic/lib//libdiff_drive_controller.so
#1 0x00007fff2948adeb in diff_drive_controller::DiffDriveController::setOdomParamsFromUrdf(ros::NodeHandle&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool) () from /opt/ros/kinetic/lib//libdiff_drive_controller.so
#2 0x00007fff2949049b in diff_drive_controller::DiffDriveController::init(hardware_interface::VelocityJointInterface*, ros::NodeHandle&, ros::NodeHandle&) () from /opt/ros/kinetic/lib//libdiff_drive_controller.so
#3 0x00007fff294b0dec in controller_interface::Controller<hardware_interface::VelocityJointInterface>::initRequest(hardware_interface::RobotHW*, ros::NodeHandle&, ros::NodeHandle&, std::vector<hardware_interface::InterfaceResources, std::allocator<hardware_interface::InterfaceResources>
>&) () from /opt/ros/kinetic/lib//libdiff_drive_controller.so
---Type <return> to continue, or q <return> to quit---
#4 0x00007fff2b5c8a8b in controller_manager::ControllerManager::loadController(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /opt/ros/kinetic/lib/libcontroller_manager.so
#5 0x00007fff2b5ca084 in controller_manager::ControllerManager::loadControllerSrv(controller_manager_msgs::LoadControllerRequest_<std::allocator<void>
>&, controller_manager_msgs::LoadControllerResponse_<std::allocator<void>
>&) () from /opt/ros/kinetic/lib/libcontroller_manager.so
#6 0x00007fff2b5dd2b9 in ros::ServiceCallbackHelperT<ros::ServiceSpec<controller_manager_msgs::LoadControllerRequest_<std::allocator<void>
>, controller_manager_msgs::LoadControllerResponse_<std::allocator<void>
> > >::call(ros::ServiceCallbackHelperCallParams&) () from /opt/ros/kinetic/lib/libcontroller_manager.so
#7 0x00007fffcb3b7351 in ros::ServiceCallback::call() () from /opt/ros/kinetic/lib/libroscpp.so
#8 0x00007fffcb40b6f8 in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS*) () from /opt/ros/kinetic/lib/libroscpp.so
#9 0x00007fffcb40bf34 in ros::CallbackQueue::callOne(ros::WallDuration) () from /opt/ros/kinetic/lib/libroscpp.so
#10 0x00007fffcb469325 in ros::AsyncSpinnerImpl::threadFunc() () from /opt/ros/kinetic/lib/libroscpp.so
#11 0x00007ffff3d295d5 in ?? () from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0
#12 0x00007ffff65c06ba in start_thread (arg=0x7fffc6edc700)
at pthread_create.c:333
---Type <return> to continue, or q <return> to quit---
#13 0x00007ffff6bca41d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 `