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

Gazebo segfault fix #216

Merged
merged 1 commit into from
Sep 30, 2019
Merged

Gazebo segfault fix #216

merged 1 commit into from
Sep 30, 2019

Conversation

tobigs
Copy link

@tobigs tobigs commented Sep 26, 2019

Prepended PositionJointInterface and VelocityJointInterface with hardware_interface/ to prevent gazebo segfaults

…ware_interface/ to prevent gazebo segfaults
@christian-rauch
Copy link
Collaborator

Thanks for the fix.
Can you provide the steps to reproduce the issue and paste the segfault message here?

I remember a similar issue with the Kinova Jaco models on ROS melodic but I don't recall that is actually crashed Gazebo.

@tobigs
Copy link
Author

tobigs commented Sep 30, 2019

I use ros-kinetic and Gazebo 7. The issue can be reproduced by launching the simulation with lwa4p and pg70. In case it might be helpful, segfaults didn't occur when only loading the arm controller without the gripper controller.

Segfault message:
[ WARN] [1569841364.690467064, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'PositionJointInterface' within the tag in joint 'arm_1_joint'.
[ WARN] [1569841364.691226840, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'VelocityJointInterface' within the tag in joint 'arm_1_joint'.
[ WARN] [1569841364.691725138, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'PositionJointInterface' within the tag in joint 'arm_2_joint'.
[ WARN] [1569841364.692280602, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'VelocityJointInterface' within the tag in joint 'arm_2_joint'.
[ WARN] [1569841364.692809708, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'PositionJointInterface' within the tag in joint 'arm_3_joint'.
[ WARN] [1569841364.693350549, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'VelocityJointInterface' within the tag in joint 'arm_3_joint'.
[ WARN] [1569841364.694175238, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'PositionJointInterface' within the tag in joint 'arm_4_joint'.
[ WARN] [1569841364.694624120, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'VelocityJointInterface' within the tag in joint 'arm_4_joint'.
[ WARN] [1569841364.695140311, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'PositionJointInterface' within the tag in joint 'arm_5_joint'.
[ WARN] [1569841364.695957453, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'VelocityJointInterface' within the tag in joint 'arm_5_joint'.
[ WARN] [1569841364.696614482, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'PositionJointInterface' within the tag in joint 'arm_6_joint'.
[ WARN] [1569841364.697071251, 144.340000000]: Deprecated syntax, please prepend 'hardware_interface/' to 'VelocityJointInterface' within the tag in joint 'arm_6_joint'.
[ INFO] [1569841364.702507565, 144.340000000]: Loaded cob_gazebo_ros_control.
[ INFO] [1569841364.702644540, 144.340000000]: Loading cob_gazebo_ros_control plugin
[ INFO] [1569841364.702701424, 144.340000000]: Enable joint-filtering. Using joint_names from parameter: "joint_names"
[ INFO] [1569841364.702716403, 144.340000000]: Starting cob_gazebo_ros_control plugin in namespace: gripper
Loaded joint_state_controller
[ INFO] [1569841364.833770303, 144.340000000]: JointFiltering is enabled! DoF: 1
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/controller_manager/controller_manager", line 60, in
controller_manager_interface.start_controller(c)
File "/opt/ros/kinetic/lib/python2.7/dist-packages/controller_manager/controller_manager_interface.py", line 78, in start_controller
return start_stop_controllers([name], True)
File "/opt/ros/kinetic/lib/python2.7/dist-packages/controller_manager/controller_manager_interface.py", line 99, in start_stop_controllers
resp = s.call(SwitchControllerRequest(start, stop, strictness))
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 525, in call
raise ServiceException("transport error completing service call: %s"%(str(e)))
rospy.service.ServiceException: transport error completing service call: unable to receive data from sender, check sender's logs for details
Segmentation fault (core dumped)

@christian-rauch
Copy link
Collaborator

I've seen the deprecation warnings Deprecated syntax, please prepend 'hardware_interface/' to [...] within the tag in joint [...]. before, but they did not cause a segfault. I was, therefore, wondering if the segfault isn't caused by something else instead.

However, I think that these warnings will turn into errors on ROS melodic, so this should be merged anyway.

@fmessmer
Copy link
Member

just to clarify things:
this is related to #189

however, using the prefix now breaks the indigo compatibility of this repo....however, indigo is EOL
for other cob repos, we now use kinetic_dev branches with support kinetic and melodic, e.g. https://github.com/ipa320/cob_common/issues/222#issuecomment-519060957

@christian-rauch
Copy link
Collaborator

@fmessmer Thanks for the hint. I totally forgot about the breakage with indigo.
I created a new branch kinetic_dev. I do not have the permissions to make it default and protected. Can you apply these settings?

Btw: There are also many staled branches from other EOL distros (electric, fuerte, groovy, groovy_dev, ...). Do you want to keep them or can those be deleted?

@fmessmer
Copy link
Member

@fmessmer Thanks for the hint. I totally forgot about the breakage with indigo.
I created a new branch kinetic_dev. I do not have the permissions to make it default and protected. Can you apply these settings?

done
make sure to release from kinetic_release_candidate when you trigger the next release
you will have to adjust the rosdistro settings during the bloom-release step, though

Btw: There are also many staled branches from other EOL distros (electric, fuerte, groovy, groovy_dev, ...). Do you want to keep them or can those be deleted?

I'd keep them - they speak for the long history of this repo 😉

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

Successfully merging this pull request may close these issues.

3 participants