-
Notifications
You must be signed in to change notification settings - Fork 737
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
[image_view] window hangs because callback can be dispatched from multiple threads #331
Comments
Sorry, I put a wrong launch script in my original post. The following one would reproduce the problem.
|
I think this similar to #283 and my previous fix #279 was not sufficient. I have confirmed this issue and also https://github.com/yoshito-okada/image_pipeline/tree/fix_image_view_nodelet works perfect @yoshito-okada could you create new PullRequest using https://github.com/yoshito-okada/image_pipeline/tree/fix_image_view_nodelet , so that every one can easily find your solution? |
I just made the PR #337 . |
Fix threading issue in image_view nodelet. Closes #331.
Should be closed by merge of #337. |
…ew_nodelet Fix threading issue in image_view nodelet. Closes ros-perception#331.
I found that the image_view nodelet (image_view/image) does not update its window and hangs in some cases. I think this is because the nodelet manager can execute a callback in multiple threads even if the callback is associated to a threaded callback queue (see https://github.com/ros/nodelet_core/blob/2f25b775fd0241fc949a5fc002e718dbd142d5d7/nodelet/src/callback_queue_manager.cpp#L206), although the callback must be called by a specific thread to successfully update the window.
The following is a launch script to reproduce the problem. I am afraid that the problem may not be reproduced in different environment because the problem depends on environment-specific threading but I hope this is helpful.
I think the only solution is to add a new thread updating the window and am writing a workaround. Please see if interested.
https://github.com/yoshito-okada/image_pipeline/tree/fix_image_view_nodelet
The text was updated successfully, but these errors were encountered: