Fix for the flaky "can_record_again_after_stop" test#2313
Fix for the flaky "can_record_again_after_stop" test#2313MichaelOrlov merged 2 commits intorollingfrom
Conversation
This reverts commit 5a364f7. Signed-off-by: Michael Orlov <morlovmr@gmail.com>
fujitatomoya
left a comment
There was a problem hiding this comment.
lgtm with green CI. (just one minor confirmation.)
|
Pulls: #2313 |
|
@fujitatomoya Thank you for reviewing this PR. I marked it [wip] because of unexpected test failures, which I can't explain and need to investigate. |
Explicitly disable all subscription's callbacks to avoid UB and receiving new messages on deleted subscriptions. Note: The callbacks propagated to the executor and may still be in the executor's queue, but they will no longer be called after this point. - Depends on the ros2/rclcpp#2985 Signed-off-by: Michael Orlov <morlovmr@gmail.com>
77e47f7 to
b8cf1fa
Compare
|
Pulls: #2313 |
Description
This PR addresses undefined behaviour and possible call for the callbacks of the already deleted subscriptions after calling
Recorder::Stop()API.Note: The subscription's callbacks propagated to the executor and may still be in the executor's queue, but they will no longer be called after disabling callbacks.
This PR depends on the non-backportable Add ability to disable and enable subscription's callbacks rclcpp#2985
Fixes #The
RecordIntegrationTestFixture.can_record_again_after_stoptest is tend to be flaky #1914Is this user-facing behavior change?
No.
Did you use Generative AI?
No.
Additional Information