ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Error using rqt with Xming 6.9.0.31 through PuTTY

asked 2015-05-04 02:04:56 -0500

yf gravatar image

updated 2015-05-04 04:59:47 -0500

I am using Ubuntu 12.04 64-bit server in a Virtual Machine on my Win7 x86-64 laptop, I have been using text-only terminals with the VM all the time. I just installed ROS "hydro" base version on the VM using apt tools.

[u@ubuntu:~/ros/catkin_ws]$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.5 LTS
Release:        12.04
Codename:       precise

By using Xming 6.9.0.31 X server on my Win7 host, I can use "turtlesim" app correctly and the turtle can be moved using keyboard app or rostopic commands.

But error occurs when I tried to use the "rqt" tool:

[u@ubuntu:~/ros/catkin_ws]$ rosrun rqt_graph rqt_graph
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
python: ../../src/xcb_io.c:274: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
Aborted (core dumped)

BTW, I was using Putty to forward the access to the DISPLAY server on my Win7 host from within the Ubuntu VM and the rviz seems can show up a Window on my Win7 host w/o issues.

Does anyone have any hints here?

Regards, Yf

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2015-06-24 15:15:37 -0500

Dorian Scholz gravatar image

This a quite a specific and unique setup you have there ;-) So I can't easily reproduce this, but searching for your error message brought me to the Qt.AA_X11InitThreads flag, that can be set before the QApplication is constructed: http://doc.qt.io/qt-4.8/qt.html

This flag is not being set currently by rqt, so you could try running rqt from source and edit the qt_gui/main.py file at about line 173: https://github.com/ros-visualization/...

Directly before the line constructing the QApplication instance add a new line setting the mentioned attribute:

QApplication.setAttribute(Qt.AA_X11InitThreads, True)
app = QApplication(argv)

If that solves your problem, you can file a pull request with this change, so it gets tested on other setups and can hopefully be added to the code.

edit flag offensive delete link more

Comments

Update: this was added to rqt in ros-visualization/qt_gui_core#62.

gvdhoorn gravatar image gvdhoorn  ( 2016-06-06 06:44:59 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2015-05-04 02:04:56 -0500

Seen: 824 times

Last updated: Jun 24 '15