start-jsk / rtmros_common

OpenRTM - ROS interoperability packages
http://wiki.ros.org/rtmros_common
12 stars 52 forks source link

Only often occurs: "BAD_PARAM: CORBA.BAD_PARAM(omniORB.BAD_PARAM_IndexOutOfRange, CORBA.COMPLETED_NO)" #294

Closed k-okada closed 10 years ago

k-okada commented 10 years ago

From gm130s on December 29, 2013 19:32:43

Occasionally RTM client can't establish connection between RTC manager.

Today this error was seen on 2 different machines that use ros-hydro-nextage-ros-bridge 0.2.5-0raring-20131228-1621-+0000.

$ nameclt -ORBInitRef NameService=corbaloc:iiop:nxc100:15005/NameService list
ModelLoader
nxc100.host_cxt/
$ ipython -i `rospack find nextage_ros_bridge`/script/nextage.py RobotHardware0 /opt/jsk/etc/HIRONX/model/main.wrl -- -ORBInitRef NameService=corbaloc:iiop:nxc100:15005/NameService
Python 2.7.3 (default, Sep 26 2013, 20:03:06)
Type "copyright", "credits" or "license" for more information.

IPython 0.12.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
configuration ORB with  nxc100 : 15005
[hrpsys.py]  waiting ModelLoader
[hrpsys.py]  start hrpsys
[hrpsys.py]  finding RTCManager and RobotHardware
[hrpsys.py]  wait for RTCmanager :  None
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  0  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  1  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  2  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  3  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  4  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  5  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  6  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  7  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  8  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  9  < 10)
[hrpsys.py]  Could not find  RobotHardware0
[hrpsys.py]  Candidates are ....  []
[hrpsys.py]  Exitting....  RobotHardware0
An exception has occurred, use &#37;tb to see the full traceback.

SystemExit: 1

WARNING:
********
You or a &#37;run:ed script called sys.stdin.close() or sys.stdout.close()!
Exiting IPython!  In [  1  ]:   
$ ipython -i `rospack find nextage_ros_bridge`/script/nextage.py RobotHardware0 /opt/jsk/etc/HIRONX/model/main.wrl -- -ORBInitRef NameService=corbaloc:iiop:nxc100:15005/NameService
Python 2.7.3 (default, Sep 26 2013, 20:03:06)
Type "copyright", "credits" or "license" for more information.

IPython 0.12.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
&#37;quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
configuration ORB with  nxc100 : 15005
[hrpsys.py]  waiting ModelLoader
[hrpsys.py]  start hrpsys
[hrpsys.py]  finding RTCManager and RobotHardware
[hrpsys.py]  wait for RTCmanager :  None
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  0  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  1  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  2  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  3  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  4  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  5  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  6  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  7  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  8  < 10)
[hrpsys.py]  wait for RobotHardware0  :  None (timeout  9  < 10)
[hrpsys.py]  Could not find  RobotHardware0
[hrpsys.py]  Candidates are ....
---------------------------------------------------------------------------
BAD_PARAM                                 Traceback (most recent call last)
/usr/lib/python2.7/dist-packages/IPython/utils/py3compat.pyc in execfile(fname, *where)
    173             else:
    174                 filename = fname
--> 175             __builtin__.execfile(filename, *where)

/opt/ros/hydro/share/nextage_ros_bridge/script/nextage.py in <module>()
     27         args.modelfile = unknown[1]
     28     nxc = nextage_client.NextageClient()
---> 29     nxc.init(robotname=args.robot, url=args.modelfile)
     30
     31 # for simulated robot

/opt/ros/hydro/lib/python2.7/dist-packages/nextage_ros_bridge/nextage_client.py in init(self, robotname, url)
     77         @type url: str
     78         '''
---> 79         HIRONX.init(self, robotname=robotname, url=url)
     80
     81     def turn_handlight_r(self, is_on=True):

/opt/ros/hydro/lib/python2.7/dist-packages/hironx_ros_bridge/hironx_client.pyc in init(self, robotname, url)
     62         @type url: str
     63         '''
---> 64         HrpsysConfigurator.init(self, robotname=robotname, url=url)
     65         self.setSelfGroups()
     66

/opt/ros/hydro/lib/python2.7/dist-packages/hrpsys/hrpsys_config.pyc in init(self, robotname, url)
    688
    689         print self.configurator_name, "finding RTCManager and
RobotHardware"
--> 690         self.waitForRTCManagerAndRoboHardware(robotname)
    691         self.sensors = self.getSensors(url)
    692

/opt/ros/hydro/lib/python2.7/dist-packages/hrpsys/hrpsys_config.pyc in waitForRTCManagerAndRoboHardware(self, robotname, managerhost)
    496     def waitForRTCManagerAndRoboHardware(self,
robotname="Robot", managerhost=nshost):
    497         self.waitForRTCManager(managerhost)
--> 498         self.waitForRobotHardware(robotname)
    499         self.checkSimulationMode()
    500

/opt/ros/hydro/lib/python2.7/dist-packages/hrpsys/hrpsys_config.pyc in waitForRobotHardware(self, robotname)
    476             print self.configurator_name, "Could not find ", robotname
    477             if self.ms:
--> 478                 print self.configurator_name, "Candidates are
.... ", [x.name()  for x in self.ms.get_components()]
    479             print self.configurator_name, "Exitting.... ", robotname
    480             exit(1)

/opt/ros/hydro/lib/python2.7/dist-packages/hrpsys/rtm.pyc in get_components(self)
    223         def get_components(self):
    224                 cs = []
--> 225                 crefs = self.ref.get_components()
    226                 for cref in crefs:
    227                         c = RTcomponent(cref)

/opt/ros/hydro/lib/python2.7/dist-packages/OpenRTM_aist/RTM_IDL/Manager_idl.pyc in get_components(self, *args)
    163
    164     def get_components(self, *args):
--> 165         return _omnipy.invoke(self, "get_compon...

Original issue: http://code.google.com/p/rtm-ros-robotics/issues/detail?id=296

k-okada commented 10 years ago

From kei.ok...@gmail.com on December 29, 2013 19:05:04

From following log message, it seems rtcd is not started correctly, check rtls command or/and output of rtcd program

[hrpsys.py] Could not find RobotHardware0 [hrpsys.py] Candidates are .... []

k-okada commented 10 years ago

From gm130s on December 29, 2013 19:10:44

This is using OpenHRP3 3.1.5, hrpsys 315.1.5, both built from source.

And just now, this error stops occurring after I revert back OpenHRP3 to 3.1.4 and hrpsys 315.0.0 on the robot's QNX. I might have missed something while building either/both of them.

k-okada commented 10 years ago

From kei.ok...@gmail.com on December 29, 2013 19:31:11

hrpsys 315.0.0 Is this correct?

k-okada commented 10 years ago

From gm130s on December 29, 2013 20:20:18

LocalUbuntu:~$ rtls nxc100:15005
    rtls: Cannot list ports.

QNX:$ more /opt/jsk/var/log/rtcd-20131230114509.log
Logger::Logger: streambuf address = 0x805fc70
hrpExecutionContext is registered
unknown symbol: read_digital_output
unknown symbol: read_digital_output
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
Load failed.
hrpExecutionContext is registered
Load failed.
sh: rtcprof_python: cannot execute - No such file or directory
Abort (core dumped)

As in the error above, read_digital_output was not found in the robot's hardware library that wasn't updated. Updating it resolved this issue.

Status: Invalid