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

[ROS2] After closing rqt with ctrl+c, cant start rqt again #20

Open
maity-kgz opened this issue Feb 27, 2020 · 1 comment
Open

[ROS2] After closing rqt with ctrl+c, cant start rqt again #20

maity-kgz opened this issue Feb 27, 2020 · 1 comment

Comments

@maity-kgz
Copy link

Steps to reproduce the problem:

  1. launch rqt in a console
  2. from GUI of rqt select Plugins-Visualization-TF Tree (only this plugin causes this issue, so far)
  3. immediately you start getting a message in a console "service not available, waiting again..."
  4. close rqt with ctrl+c (closing with GUI x-button does not cause this issue)
  5. you get traceback with errors.
  6. try to start rqt again

After this you cant start rqt, in console you get "service not available, waiting again..." messages only.

Ubuntu 18.04.4 LTS,
ROS2 eqloquent

You get this in console

service not available, waiting again...
service not available, waiting again...
service not available, waiting again...
service not available, waiting again...
service not available, waiting again...
^C[INFO] [rclcpp]: signal_handler(signal_value=2)
PluginHandlerDirect._restore_settings() plugin "rqt_tf_tree/RosTfTree#1" raised an exception:
Traceback (most recent call last):
  File "/opt/ros/eloquent/lib/python3.6/site-packages/qt_gui/plugin_handler_direct.py", line 121, in _restore_settings
    self._plugin.restore_settings(plugin_settings_plugin, instance_settings_plugin)
  File "/opt/ros/eloquent/lib/python3.6/site-packages/rqt_tf_tree/tf_tree.py", line 131, in restore_settings
    self._refresh_tf_graph()
  File "/opt/ros/eloquent/lib/python3.6/site-packages/rqt_tf_tree/tf_tree.py", line 143, in _refresh_tf_graph
    self._update_graph_view(self._generate_dotcode())
  File "/opt/ros/eloquent/lib/python3.6/site-packages/rqt_tf_tree/tf_tree.py", line 150, in _generate_dotcode
    while not tf2_frame_client.wait_for_service(timeout_sec=1.0):
  File "/opt/ros/eloquent/lib/python3.6/site-packages/rclpy/client.py", line 164, in wait_for_service
    return self.service_is_ready()
  File "/opt/ros/eloquent/lib/python3.6/site-packages/rclpy/client.py", line 143, in service_is_ready
    with self.handle as capsule:
  File "/opt/ros/eloquent/lib/python3.6/site-packages/rclpy/handle.py", line 150, in __enter__
    return self._get_capsule()
  File "/opt/ros/eloquent/lib/python3.6/site-packages/rclpy/handle.py", line 132, in _get_capsule
    raise InvalidHandle('Tried to use a handle that has been destroyed.')
rclpy.handle.InvalidHandle: Tried to use a handle that has been destroyed.

Exception ignored in: <bound method DockWidgetTitleBar.__del__ of <qt_gui.dock_widget_title_bar.DockWidgetTitleBar object at 0x7f2c1bf7db88>>
Traceback (most recent call last):
  File "/opt/ros/eloquent/lib/python3.6/site-packages/qt_gui/dock_widget_title_bar.py", line 109, in __del__
    self._dock_widget.removeEventFilter(self)
RuntimeError: wrapped C/C++ object of type DockWidget has been deleted
@dirk-thomas dirk-thomas transferred this issue from ros-visualization/rqt Mar 2, 2020
@PGotzmann
Copy link

PGotzmann commented Apr 16, 2020

I have been experiencing the same issue (Ubuntu 18.04.4 LTS, ROS eloquent) and there are also related questions on ROS Answer describing similar behavior (e.g. this Question).

The issue of rqt GUI not starting after adding rqt_tf_tree can be easily overcome by resetting rqt to its default configuration by running it with --clear-config. However, the problem reappears when adding rqt_tf_tree again.

As far as I understand, some parts of the TF framework are still a work in progress in ROS2. Therefore, even though rqt_tf_tree has been released, I wonder if this should work at all at this stage or if it is really a bug/configuration problem.

EDIT:
Looks link rqt_tf_tree relies on the tf2_frames service, which however is not jet available in the latest release of tf2_ros (0.12.5). This pending dependency is also pointed out here. However, the corresponding pull request to reactivate the frame graph service in tf2_ros (ros2/geometry2/pull/198), is still open.

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

2 participants