-
Notifications
You must be signed in to change notification settings - Fork 526
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
Update subscribers.py #562
Conversation
`.values()` should return an iterable. Wrapping with another iterable (list) leads to this error. [ERROR] Exception calling subscribe callback: 'dict_values' object is not callable
Hi, can you share some more information and reproduction steps for the bug that's being fixed here? I've added a smoke test in #585 and it would be great if you could update this PR to ensure this code is covered by the tests. |
With <script>
const payload = JSON.stringify({
"op": "subscribe",
"topic": "/rosout",
})
new WebSocket("ws://localhost:9090").addEventListener("open", function () {
this.send(payload) // 1st subscription request
this.send(payload) // 2nd subscription request, triggers error
})
</script> This error happens when a WebSocket client makes multiple subscription requests on the same topic. |
@jtbandes FYI this is the Dockerfile I used to build FROM ros:foxy
WORKDIR /root
RUN git clone --depth 1 --branch ros2 https://github.com/RobotWebTools/rosbridge_suite
RUN apt-get update
RUN rosdep update
RUN rosdep install --default-yes --ignore-src --from-path .
RUN . /opt/ros/foxy/setup.sh && colcon build
CMD ["bash", "-c", ". install/setup.bash && ros2 run rosbridge_server rosbridge_websocket.py"]
docker build . --tag rosbridge_suite
docker run -it --net=host rosbridge_suite |
This PR has been marked as stale because it has had no activity in the past 90 days. Please remove the stale label or add a comment to keep it open. Thank you for your contribution. |
Thanks for the contribution. I am going to close this PR and work from #671 instead, which covers the same problem. |
.values()
should return an iterable. Wrapping with another iterable (list) leads to this error.