-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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 potential deadlock in TestMdns #6721
Merged
woody-apple
merged 3 commits into
project-chip:master
from
andy31415:fix_locking_in_mdns_test
May 12, 2021
Merged
Fix potential deadlock in TestMdns #6721
woody-apple
merged 3 commits into
project-chip:master
from
andy31415:fix_locking_in_mdns_test
May 12, 2021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
std::condition_variable is supposed to be able to hold the lock mutex when exiting after wait_for. If the lock on the mutex is held throughout the 'RunMainLoop', the condition variable can never exit. Updated the scope of the locks.
pullapprove
bot
requested review from
bzbarsky-apple,
chrisdecenzo,
Damian-Nordic,
hawk248,
jepenven-silabs,
msandstedt and
mspang
May 12, 2021 14:12
the above does not seem to actually reliably shut down the chipconnectedhomeip/src/platform/tests/TestMdns.cpp Lines 140 to 150 in a88d8ee
This comment was generated by todo based on a
|
the above does not seem to actually reliably shut down the chip stack.connectedhomeip/src/platform/tests/TestMdns.cpp Lines 140 to 150 in 5724b4b
This comment was generated by todo based on a
|
msandstedt
approved these changes
May 12, 2021
woody-apple
approved these changes
May 12, 2021
saurabhst
approved these changes
May 12, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
if testmdns fails (e.g. avahi not running), the test will deadlock forever:
Summary of Changes
Narrow down the scope of the loops.
Add a start and done condition as separate tasks.
Attempt to cleanly shut down the chip stack on error (this does NOT work, however I was unable to debug as to why ... this test has logic flaws in terms of how the chip main loop is handled)