Skip to content
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

Topic Monitor has problem with hidden topics #288

Open
jkaniuka opened this issue Mar 22, 2023 · 0 comments
Open

Topic Monitor has problem with hidden topics #288

jkaniuka opened this issue Mar 22, 2023 · 0 comments

Comments

@jkaniuka
Copy link

Operating system:

  • Ubuntu Linux - Jammy Jellyfish (22.04)

ROS 2 distro:

  • Humble Hawksbill

Installation type:

  • Debian packages

Description:

I had turtlesim_node running and in a separate terminal window I started Topic Monitor RQT plugin. The following error appeared in the terminal window:

[ERROR] [1679441995.440332899] [get_message_class]: Malformed msg message_type: turtlesim/action/RotateAbsolute_FeedbackMessage
TopicInfo.__init__(): topic "/turtle1/rotate_absolute/_action/feedback": can not get message class for type "turtlesim/action/RotateAbsolute_FeedbackMessage"

It appears that RQT has a problem with handling a message published on a hidden topic with underscore before the action word (/turtle1/rotate_absolute/_action/feedback).

Steps to reproduce:

First terminal window: ros2 run turtlesim turtlesim_node
Second terminal window rqt -s rqt_topic

Bug source:

  1. This ERROR is thrown in line 235 of message_helpers.py:
    if len(message_info) == 3 and message_info[1] != mode:
        logger.error('Malformed {} message_type: {}'.format(mode, message_type))
        return None
  1. The second part of the logical condition is False.
    The code snippet I pasted above is a part of _get_rosidl_class_helper(message_type, mode, logger=None) function which is called in line 330 of message_helpers.py ➡️ class_val = _get_rosidl_class_helper(action_type, ACTION_MODE, logger)
  2. The cause of the problem can be seen in line 44 of message_helpers.py ➡️ ACTION_MODE = 'action'. The case of a hidden topic, where there is an underscore before the action word, is simply not covered.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant