ros / actionlib

Provides a standardized interface for interfacing with preemptable tasks. Examples of this include moving the base to a target location, performing a laser scan and returning the resulting point cloud, detecting the handle of a door, etc.
http://www.ros.org/wiki/actionlib
96 stars 155 forks source link

Restarting the action-server during goal execution makes CPP-action-client crash in windows, ROS1 Melodic #175

Open prabeenkumar122 opened 4 years ago

prabeenkumar122 commented 4 years ago

Restarting the action-server during goal execution(before result is sent back to action client) makes CPP-action-client crash in windows.

This issue is not seen in linux.

Issue is seen in ROS1 Melodic

Steps:

  1. started an action server from command : " rosrun actionlib_tutorials averaging_server " in command window

  2. created an simple-action-client using cpp actionlib api and sent the goal aClient = std::make_shared<actionlib::SimpleActionClient>(*theNode,"averaging_server ",true);

  3. sent an default goal aClient->sendGoal(*goal,boost::bind(&ROSActClientClass::onResultReceivedCallback,this,_1,_2), boost::bind(&ROSActClientClass::onGoalActiveCallback, this), boost::bind(&ROSActClientClass::onFeedbackReceivedCallback, this,_1));

  4. When the goal is active, before getting the result, stop the action server using ctr+c in the command window.

  5. Restart the action-server by rerunning the same command(" rosrun actionlib_tutorials averaging_server ")

  6. Now the node which contains the action client has crashed and stopped.

ThomassTon commented 6 months ago

I got the same trouble. Did you have any solution?