-
Notifications
You must be signed in to change notification settings - Fork 516
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 regression from #1331 #1384
Conversation
The noted PR swapped boost::thread to std::thread - however std::thread will cause the program to crash with a note that TERMINATE CALLED WITHOUT ACTIVE EXCEPTION if the thread object goes out of scope while not joinable. Detaching the thread restores the original workflow prior to the PR and allows users to send more than one trajectory via the motion planning plugin in RVIZ (otherwise, it crashes on the first trajectory).
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.
Thank you for this. I'm the future when we have jthread we could use that to fix this that way too.
@tylerjw yeah - I'm not sure this is the best way to fix this - but it's definitely the simplest way to get things back to working |
Codecov Report
@@ Coverage Diff @@
## main #1384 +/- ##
==========================================
- Coverage 61.56% 61.55% -0.01%
==========================================
Files 274 274
Lines 24977 24977
==========================================
- Hits 15375 15371 -4
- Misses 9602 9606 +4
Continue to review full report at Codecov.
|
I don't understand how detached threads don't create a use after scope but it seems they are fairly common in ros code. I'm ok with it until someone has time to clean it up, definitely better than the bug you experienced. |
The noted PR swapped boost::thread to std::thread - however std::thread will cause the program to crash with a note that TERMINATE CALLED WITHOUT ACTIVE EXCEPTION if the thread object goes out of scope while not joinable. Detaching the thread restores the original workflow prior to the PR and allows users to send more than one trajectory via the motion planning plugin in RVIZ (otherwise, it crashes on the first trajectory).
Description
The noted PR swapped boost::thread to std::thread - however
std::thread will cause the program to crash with a note that
TERMINATE CALLED WITHOUT ACTIVE EXCEPTION if the thread object
goes out of scope while not joinable. Detaching the thread
restores the original workflow prior to the PR and allows
users to send more than one trajectory via the motion planning
plugin in RVIZ (otherwise, it crashes on the first trajectory).
Checklist