Skip to content

[22339] Fix tsan potential deadlock between StatefulWriter and FlowController (backport #5432)#5496

Merged
juanlofer-eprosima merged 1 commit into2.14.xfrom
mergify/bp/2.14.x/pr-5432
Feb 3, 2025
Merged

[22339] Fix tsan potential deadlock between StatefulWriter and FlowController (backport #5432)#5496
juanlofer-eprosima merged 1 commit into2.14.xfrom
mergify/bp/2.14.x/pr-5432

Conversation

@mergify
Copy link
Copy Markdown
Contributor

@mergify mergify bot commented Dec 13, 2024

Description

This PR addresses a TSAN potential deadlock by lock inversion report between StatefulWriter::matched_reader_remove() and (async)FlowController::run().

@Mergifyio backport 3.1.x 3.0.x 2.14.x 2.10.x

Contributor Checklist

  • Commit messages follow the project guidelines.

  • The code follows the style guidelines of this project.

  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally

  • Any new/modified methods have been properly documented using Doxygen.

  • Any new configuration API has an equivalent XML API (with the corresponding XSD extension)

  • Changes are backport compatible: they do NOT break ABI nor change library core behavior.

  • Changes are API compatible.

  • N/A: New feature has been added to the versions.md file (if applicable).

  • N/A: New feature has been documented/Current behavior is correctly described in the documentation.

  • Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • The title and description correctly express the PR's purpose.
  • Check contributor checklist is correct.
  • If this is a critical bug fix, backports to the critical-only supported branches have been requested.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

This is an automatic backport of pull request #5432 done by [Mergify](https://mergify.com).

@mergify mergify bot added the conflicts Backport PR wich git cherry pick failed label Dec 13, 2024
@mergify
Copy link
Copy Markdown
Contributor Author

mergify bot commented Dec 13, 2024

Cherry-pick of 8fcd7ca has failed:

On branch mergify/bp/2.14.x/pr-5432
Your branch is up to date with 'origin/2.14.x'.

You are currently cherry-picking commit 8fcd7ca48.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   test/blackbox/common/DDSBlackboxTestsBasic.cpp

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   src/cpp/rtps/writer/StatefulWriter.cpp

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@MiguelCompany MiguelCompany added this to the v2.14.5 milestone Dec 13, 2024
@EugenioCollado EugenioCollado self-requested a review December 27, 2024 09:45
@EugenioCollado EugenioCollado force-pushed the mergify/bp/2.14.x/pr-5432 branch from 9d92bc2 to 132d6fb Compare January 30, 2025 11:20
@EugenioCollado EugenioCollado added ci-pending PR which CI is running and removed conflicts Backport PR wich git cherry pick failed labels Jan 30, 2025
@EugenioCollado EugenioCollado requested review from EugenioCollado and removed request for EugenioCollado January 30, 2025 11:30
…ler` (#5432)

* Refs #22339: Add BB test

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #22339: Fix tsan deadlock report

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #22339: Take writer's mutex before rproxy->stop() and check_acked_status()

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

* Refs #22339: Apply Miguels suggestion

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>

---------

Signed-off-by: Mario Dominguez <mariodominguez@eprosima.com>
(cherry picked from commit 8fcd7ca)

Fix conflicts

Signed-off-by: Eugenio Collado <eugeniocollado@eprosima.com>
@EugenioCollado EugenioCollado force-pushed the mergify/bp/2.14.x/pr-5432 branch from 132d6fb to 63df47a Compare January 30, 2025 11:36
@EugenioCollado EugenioCollado requested review from EugenioCollado and removed request for EugenioCollado January 30, 2025 11:39
@EugenioCollado EugenioCollado added ready-to-merge Ready to be merged. CI and changes have been reviewed and approved. and removed ci-pending PR which CI is running labels Feb 3, 2025
Copy link
Copy Markdown
Contributor

@EugenioCollado EugenioCollado left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@juanlofer-eprosima juanlofer-eprosima merged commit f242ae7 into 2.14.x Feb 3, 2025
16 of 17 checks passed
@juanlofer-eprosima juanlofer-eprosima deleted the mergify/bp/2.14.x/pr-5432 branch February 3, 2025 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Ready to be merged. CI and changes have been reviewed and approved.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants