flexivrobotics/flexiv_rdk

[BUG] Multi-thread race condition in flexiv::Gripper API

Closed this issue · 1 comments

Version information

  • RDK: [v0.8]
  • Robot software: all that are compatible with RDK v0.8
  • OS: all supported

Describe the bug
When calling functions in flexiv::Gripper to send gripper commands while calling flexiv::Gripper::getGripperStates() in a separate thread, there's a chance a race condition happens in the communication resources and cause one of the function calls to fail.

Steps to reproduce

  1. Run example/basics6_gripper_control.cpp OR example_py/basics6_gripper_control.py for several times.
  2. Error can be triggered with probability.

Expected behavior
No multi-thread race condition happens.

Will be fixed in v0.9.