-
Notifications
You must be signed in to change notification settings - Fork 180
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
joint_traj_action: segfault (null pointer) in withinGoalConstraints() when no feedback has been received #85
Comments
I'm not really sure if there is an obvious solution to this: if no feedback has been received, are all goals automatically not within bounds? Intuitively, I'd say we cannot know, but I don't see a way to express that using the Actionlib API / interfaces. |
Also: this is not normally something you run into as in situations with an actual robot driver, joint states are received as soon as the driver starts. The first goals are then sent some time after system initialisation. In the case of the ROS Answers post, there are not joint states yet (no implementation of the robot state server on the controller), leading to the observed crash. |
Isn't there a way to reject a goal? This could be done if no feedback has been received (with a proper error message). |
On 22-10-2014 17:24, Shaun Edwards wrote:
yes, that would be an option indeed. |
What does it mean to reject a goal? |
An ActionServer can reject a goal if it decides that it cannot complete the client's request. Rejecting is different from aborting, as the latter can only be done with a Goal that has already been accepted (and is either active or preempted). See wiki/actionlib/DetailedDescription - Server Transitions and wiki/actionlib/DetailedDescription - result topic: Goal information upon completion for more information. In this particular case the |
@RosBort: can you try my issue85_within_constraints_segfault branch? As far as I can tell, that should fix the issue. You won't be able to send any goals to your |
I tried it on my work station and it works. That means it throws the error: "Waiting for server feedback". |
That's the intended behaviour. Thanks. |
…segfault Fix for issue #85: reject all goals until feedback has been received
…link Updated link to Indigo training materail
While looking into Rename JOINT_NAMES in ur_driver test_move.py on ROS Answers:
I've observed that
joint_trajectory_action::withinGoalConstraints(..)
tries to dereference thelast_trajectory_state_
member variable in a call toindustrial_robot_client::utils::isWithinRange(..)
, even when noFollowJointTrajectoryFeedback
has ever been received.Sending a goal to the
joint_trajectory_action
node "too early" (ie:JointTrajectoryAction::controllerStateCB(..)
has not been invoked) then results in a segfault.Backtrace:
The text was updated successfully, but these errors were encountered: