fkie / multimaster_fkie

ROS stack with FKIE packages for multi-robot (discovering, synchronizing and management GUI)
BSD 3-Clause "New" or "Revised" License
268 stars 108 forks source link

Crash on ros Kinetic when prompted for a dialog box to input a username and password #40

Closed ZacharyTaylor closed 8 years ago

ZacharyTaylor commented 8 years ago

I am currently using node_manager with ros kinetic

When I am prompted for a username / password during the starting of a master_discovery host, Node Manager crashes giving the error:

[INFO] [WallTime: 1470733744.360508] Run remote on auk: rosrun node_manager_fkie remote_nm.py --package master_discovery_fkie --node_type master_discovery --node_name /master_discovery _mcast_port:=11511 _mcast_group:=226.0.0.0 _robot_hosts:=[] _heartbeat_hz:=0.5 __name:=master_discovery
Traceback (most recent call last):
  File "/home/z/catkin_ws/src/multimaster_fkie/node_manager_fkie/src/node_manager_fkie/progress_queue.py", line 210, in _on_request_interact
    res, user, pw = nm.ssh()._requestPW(req.request.user, req.request.host)
  File "/home/z/catkin_ws/src/multimaster_fkie/node_manager_fkie/src/node_manager_fkie/ssh_handler.py", line 249, in _requestPW
    pwInput = QtGui.QDialog()
AttributeError: 'module' object has no attribute 'QDialog'
Aborted (core dumped)

The issue seems to be due to the function _requestPW in ssh_handler.py using the old Qt4 way of accessing a dialog. Starting on line 246 changing

        from python_qt_binding import QtGui
        result = False
        pw = None
        pwInput = QtGui.QDialog()

to

        from python_qt_binding import QtWidgets
        result = False
        pw = None
        pwInput = QtWidgets.QDialog()

appears to fix the issue

atiderko commented 8 years ago

thank you for reporting!

I fixed this issue in commit a36c83cc96d6f4159dd589aed30a2dc10e6c1f24