Closed Ekanshh closed 4 months ago
The root cause of the deadlock was identified in the codebase. Specifically, this line of code was commented out. This line is responsible for releasing the gripper_state_mutex_
in the onExecuteGripperCommand
function before invoking the simGripperMove
function.
The simGripperMove
function requires access to the shared resource protected by gripper_state_mutex_
. However, since the mutex was not released in onExecuteGripperCommand
, it led to a deadlock situation where simGripperMove
could not proceed, waiting indefinitely for the mutex, which was already locked by the parent function.
This also fixes #3
Deadlock happen when specifically calling
/panda_gripper_sim_node/gripper_action
. This is potentially related to #3 on why the moveit is unable to execute the gripper command.Action Call
Logs