-
Notifications
You must be signed in to change notification settings - Fork 506
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
Problem of md5sum warning when web is refreshed #138
Comments
Can you provide your example code? |
I updated the url |
The issue is that rosbridge unregiesters and reestablishs the publisher with same topic name every page refresh. It has caused some topic msg loss when the newly fresh page starts to publish immediately. The issue is actually the limitation of rospy but we wanted to share since it could be a common issue for web apps using rosbridge. Here is related rospy issue |
To reproduce warning message only with rospy, Terminal 1
Terminal 2 with this code
Then you will see below as a result.
|
A quick hack to prevent the problem is commenting out topic unregistration in rosbridge_library/pulibhser.py
|
Workaround for RobotWebTools#138
Since several forks have adopted this "quick hack", and it doesn't look like rospy is going to fix the root cause any time soon (assuming it's possible to do so), how about a nicer solution? I'm thinking a timeout for unregistering topics with no clients, so the publisher survives quick page reloads, but rosbridge doesn't leak publishers. This is particularly important in connection with the service-based tf2_web_republisher, as that will generate new topics for each new client (and as such, for each page reload). If you think a timeout is an acceptable solution, I'll implement it :) |
Yeah. I think it would be sufficient to keep it in the main stream with some explanation. Thanks @T045T |
I'm new to ROS and rosbridge. I am receiving these warnings and would like to prevent them. Is it still the case that I should adopt the "quick hack"? I am running 0.7.13 since I used sudo apt-get install ros-indigo-rosbridge... to install and that's what it gave me. Thanks for any help you can provide. |
I'm interested in that too. |
This should be mitigated by #247 |
Otherwise, this is an issue in rospy not in rosbridge. |
Hi everyone, I see that this is an old issue and it seems to be solved. However I have this message:
I am using |
Pull request RobotWebTools#247 introduces a 10 second delay to mitigate issue RobotWebTools#138. This change makes this delay configurable by passing an argument either on the command line or when including a launch file. Usage example: ```xml <launch> <include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch"> <arg name="unregister_timeout" value="5.0"/> </include> </launch> ``` Closes RobotWebTools#320
Pull request #247 introduces a 10 second delay to mitigate issue #138. This change makes this delay configurable by passing an argument either on the command line or when including a launch file. Usage example: ```xml <launch> <include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch"> <arg name="unregister_timeout" value="5.0"/> </include> </launch> ``` Closes #320
The unregister timeout is really not a sustainable solution. I am using Any hope for a fix for the root cause at some point? |
…f _bAnon input flag is None (i.e. not a bool), in case there is a need to only rospy.init_node() from within sub-class' __init__(). Originally done based on (mistaken) belief that publisher instantiated within sub-class was throwing error (no such publisher) because it was being instantiated outside of method in which rospy.init_node() was being called (not the case). __del__(): added additional print debug statements, added conditional call to Publisher::unregister() only if get_num_connections() call to publisher returns 0 - as partial work-around to known bug/problem related to rospy Topic::unregister() call (see: RobotWebTools/rosbridge_suite#138). genPlanToNamedTarget(): added new optional argument _jsTarget plus extra logic (to ensure its instantiation), so that target JointState can be optionally returned from method call (instead of just being a local variable), for supporting new script scripts/mv_grp_goal_seq_run.py, which will need JointState representation of next named target pose in order to perform displayTrajectory() call.
When web client using roslibjs is refreshed, md5sum warning is occurred. And then the refreshed client can not publish topic for about some second.
The situation is as below.
roslaunch rosbridge_server rosbridge_websocket.launch --screen
/chatter
message which isstd_msgs/String
type).This is my test code.
https://github.com/robotics-in-concert/rocon_demos/tree/office_concert/office_web_interface/www/web_app/yujin_office/test_app
test_pub.html is client 1 and test_sub.html is client 2. If push the
chatter
button client 1 publish the simple string included count message.The text was updated successfully, but these errors were encountered: