You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
I had an issue trying to get a common message definition through the rosbridge server.
So I tried to mimic it with the command line and it bugged similarly.
Library Version: 2.1.0
ROS Version: Jazzy
Platform / OS: Ubuntu 24.04.1 LTS
Steps To Reproduce
ros2 service call /rosapi/message_details rosapi_msgs/srv/MessageDetails "{'type': 'sensor_msgs/JointState'}"
or
ros2 service call /rosapi/message_details rosapi_msgs/srv/MessageDetails "{type: 'sensor_msgs/JointState'}"
Expected Behavior
I would expect to get something like:
std_msgs/Header header
string[] name
float64[] position
float64[] velocity
float64[] effort
Actual Behavior
These are the logs I get, with a KeyError: 'check_fields'
[rosapi_node-5] /usr/lib/python3/dist-packages/apt/cache.py:215: Warning: W:Target Packages (main/binary-arm64/Packages) is configured multiple times in /etc/apt/sources.list.d/ros2-latest.list:1 and /etc/apt/sources.list.d/ros2.list:1, W:Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/ros2-latest.list:1 and /etc/apt/sources.list.d/ros2.list:1, W:Target DEP-11 (main/dep11/Components-arm64.yml) is configured multiple times in /etc/apt/sources.list.d/ros2-latest.list:1 and /etc/apt/sources.list.d/ros2.list:1, W:Target DEP-11 (main/dep11/Components-all.yml) is configured multiple times in /etc/apt/sources.list.d/ros2-latest.list:1 and /etc/apt/sources.list.d/ros2.list:1
[rosapi_node-5] self._depcache = apt_pkg.DepCache(self._cache)
[rosapi_node-5] Traceback (most recent call last):
[rosapi_node-5] File "/opt/ros/jazzy/lib/rosapi/rosapi_node", line 329, in <module>
[rosapi_node-5] main()
[rosapi_node-5] File "/opt/ros/jazzy/lib/rosapi/rosapi_node", line 321, in main
[rosapi_node-5] rclpy.spin(node)
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/__init__.py", line 244, in spin
[rosapi_node-5] executor.spin_once()
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/executors.py", line 827, in spin_once
[rosapi_node-5] self._spin_once_impl(timeout_sec)
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/executors.py", line 822, in _spin_once_impl
[rosapi_node-5] raise handler.exception()
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/task.py", line 239, in __call__
[rosapi_node-5] self._handler.send(None)
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/executors.py", line 508, in handler
[rosapi_node-5] await call_coroutine()
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/executors.py", line 447, in _execute
[rosapi_node-5] response = await await_or_execute(srv.callback, request, srv.srv_type.Response())
[rosapi_node-5] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/executors.py", line 111, in await_or_execute
[rosapi_node-5] return callback(*args)
[rosapi_node-5] ^^^^^^^^^^^^^^^
[rosapi_node-5] File "/opt/ros/jazzy/lib/rosapi/rosapi_node", line 228, in get_message_details
[rosapi_node-5] dict_to_typedef(d) for d in objectutils.get_typedef_recursive(request.type)
[rosapi_node-5] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rosapi/objectutils.py", line 115, in get_typedef_recursive
[rosapi_node-5] return _get_typedefs_recursive(type, [])
[rosapi_node-5] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rosapi/objectutils.py", line 285, in _get_typedefs_recursive
[rosapi_node-5] typedef = get_typedef(type)
[rosapi_node-5] ^^^^^^^^^^^^^^^^^
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rosapi/objectutils.py", line 91, in get_typedef
[rosapi_node-5] type_def = _get_typedef(instance)
[rosapi_node-5] ^^^^^^^^^^^^^^^^^^^^^^
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rosapi/objectutils.py", line 149, in _get_typedef
[rosapi_node-5] fieldnames, fieldtypes, fieldarraylen, examples = _handle_array_information(instance)
[rosapi_node-5] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rosapi/objectutils.py", line 178, in _handle_array_information
[rosapi_node-5] field_type, arraylen = _handle_type_and_array_len(instance, name)
[rosapi_node-5] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rosapi_node-5] File "/opt/ros/jazzy/lib/python3.12/site-packages/rosapi/objectutils.py", line 194, in _handle_type_and_array_len
[rosapi_node-5] field_type = instance._fields_and_field_types[name[1:]]
[rosapi_node-5] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
[rosapi_node-5] KeyError: 'check_fields'
[ERROR] [rosapi_node-5]: process has died [pid 6530, exit code 1, cmd '/opt/ros/jazzy/lib/rosapi/rosapi_node --ros-args -r __node:=rosapi --params-file /tmp/launch_params_rv4kl86a --params-file /tmp/launch_params_h27onfib --params-file /tmp/launch_params_7_wghq8v'].
The text was updated successfully, but these errors were encountered:
Description
I had an issue trying to get a common message definition through the
rosbridge
server.So I tried to mimic it with the command line and it bugged similarly.
Steps To Reproduce
or
Expected Behavior
I would expect to get something like:
Actual Behavior
These are the logs I get, with a
KeyError: 'check_fields'
The text was updated successfully, but these errors were encountered: