You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a service callback is registered with rcl_service_set_on_new_request_callback, if rmw_take is called within that callback, a deadlock occurs and the program hangs.
Expected Behavior
Either the API allows this behavior and it works, or it is explicitly disallowed and returns an error code.
@asorbini - maybe you could take a look and see what you think about the problem / proposed fix. You can see my investigation at ros2/rcl#1052 (comment) where I figured out the issue, shows stack traces.
System Info
Bug Description
When a service callback is registered with
rcl_service_set_on_new_request_callback
, ifrmw_take
is called within that callback, a deadlock occurs and the program hangs.Expected Behavior
Either the API allows this behavior and it works, or it is explicitly disallowed and returns an error code.
How to Reproduce
Run the test in ros2/rcl#1081
Workarounds
#123 fixes the problem from what I can tell, but I'm not 100% sure it's a good idea
The text was updated successfully, but these errors were encountered: