-
Notifications
You must be signed in to change notification settings - Fork 774
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix load profiles TSAN issue [17162] #3281
Conversation
3dc5ce8
to
a986a0c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs a regression test.
PubSubWriter<HelloWorldPubSubType> participant_1(TEST_TOPIC_NAME);
participant_1.init();
auto second_participant_creation = []()
{
PubSubReader<HelloWorldPubSubType> participant_2(TEST_TOPIC_NAME);
participant_2.init();
participant_2.wait_discovery();
};
// Start thread creating second participant
std::thread thr(second_participant_creation);
participant_1.wait_discovery();
thr.join();
a986a0c
to
3c53db2
Compare
@richiprosima Please test this |
@jparisu the new test is failing in both windows pipelines, please take a look whenever you have time |
Some issues have been encountered adding this test:
These errors are not introduced (at least it does not look like) but this PR, but they arise because there weren't previous tests with parallel creation of Domain Participants |
@richiprosima please test windows |
1 similar comment
@richiprosima please test windows |
@jparisu uncrustify job is failing in this PR |
@JLBuenoLopez-eProsima test introduce in this PR produces several ASAN errors due to not related issues. Do you still want to merge it? |
@jparisu, as far as I understand the test introduced in this PR is flaky because the strategy followed in the test has not been used previously. So the test is surfacing some other issue that will have to be deal with at some point. As the CI runs several times the failing tests to check if they are flaky, I am not really concerned about the test failing randomly. @EduPonz, what do you think? |
We may merge this if we exclude this new test from the TSAN analysis until we fix it |
It produces ASAN errors, not TSAN errors (that are also produced, but not new ones). |
@jparisu, it has been decided that this is going to be merged and afterwards the ASAN errors will be fixed. Can you please fix the uncrustify job so we can proceed? Thanks! |
Friendly pinging @jparisu |
3d51959
to
a56a0b4
Compare
@richiprosima please test this |
@richiprosima Please test windows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with green CI
@Mergifyio rebase |
Signed-off-by: jparisu <[email protected]>
Signed-off-by: jparisu <[email protected]>
Signed-off-by: jparisu <[email protected]>
Signed-off-by: jparisu <[email protected]>
✅ Branch has been successfully rebased |
a56a0b4
to
7aff034
Compare
@jparisu Have you solved this problem?how?
|
* Add regression test Signed-off-by: jparisu <[email protected]> * Fix load profiles TSAN issue Signed-off-by: jparisu <[email protected]> * make test to wait to all discovery Signed-off-by: jparisu <[email protected]> * uncrustify Signed-off-by: jparisu <[email protected]> --------- Signed-off-by: jparisu <[email protected]> Signed-off-by: roscan-tech <[email protected]>
Signed-off-by: jparisu [email protected]
load_profiles() method is called in a singleton without guards, and this could lead to multiple threads loading files at the same time.
TSAN fails in most tests for this (every time a DomainParticipant is created).
Description
Contributor Checklist
versions.md
file (if applicable).Reviewer Checklist