Skip to content

Rosbridge error when using Ros2 Parameter Extension #1

@wouterio

Description

@wouterio

We're running Foxglove Studio with the Ros2 Parameter Extension connected to a platform with Ros2 Foxy and Rosbridge. Sometimes it looks like we get this Rosbridge error when we run the extension and open the drop down menu to select a node.

[rosapi_node-2] Traceback (most recent call last):
[rosapi_node-2]   File "/opt/ros/foxy/lib/rosapi/rosapi_node", line 329, in <module>
[rosapi_node-2]     main()
[rosapi_node-2]   File "/opt/ros/foxy/lib/rosapi/rosapi_node", line 321, in main
[rosapi_node-2]     rclpy.spin(node)
[rosapi_node-2]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/__init__.py", line 191, in spin
[rosapi_node-2]     executor.spin_once()
[rosapi_node-2]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 718, in spin_once
[rosapi_node-2]     raise handler.exception()
[rosapi_node-2]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/task.py", line 239, in __call__
[rosapi_node-2]     self._handler.send(None)
[rosapi_node-2]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 429, in handler
[rosapi_node-2]     await call_coroutine(entity, arg)
[rosapi_node-2]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 383, in _execute_service
[rosapi_node-2]     response = await await_or_execute(srv.callback, request, srv.srv_type.Response())
[rosapi_node-2]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 118, in await_or_execute
[rosapi_node-2]     return callback(*args)
[rosapi_node-2]   File "/opt/ros/foxy/lib/rosapi/rosapi_node", line 171, in get_node_details
[rosapi_node-2]     (
[rosapi_node-2] TypeError: cannot unpack non-iterable NoneType object

The error refers to this method in rosapi:

    def get_node_details(self, request, response):
        """Called by the rosapi/Nodes service. Returns a node description"""
        (
            response.subscribing,
            response.publishing,
            response.services,
        ) = proxy.get_node_info(request.node)
        return response

It looks like proxy.get_node_info(request.node) return None. The drop down menu stays empty too. I am not entirely sure, but it seems the extension and this rosbridge error are related.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions