PR2 / pr2_controllers

The controllers that run in realtime on the PR2 and supporting packages.
47 stars 35 forks source link

spawner doesn't handle SIGINT cleanly (ros ticket #3660) #277

Closed ahendrix closed 11 years ago

ahendrix commented 11 years ago

I got this dump when killing it. This is off-robot, so something it expects might not be running. CTRL+C should still exit cleanly.

{{{ [spawner_camera_synchronizer-1] killing on exit Traceback (most recent call last): File "/u/blaise/ros/ros/core/rospy/src/rospy/core.py", line 442, in signal_shutdown h(reason) File "/u/blaise/ros/ros/core/rospy/src/rospy/client.py", line 89, in wrapper h() File "/u/blaise/ros/pkgs/pr2_mechanism/pr2_controller_manager/scripts/spawner", line 60, in shutdown switch_controller([], loaded, SwitchControllerRequest.STRICT) File "/u/blaise/ros/ros/core/rospy/src/rospy/tcpros_service.py", line 320, in call return self.call(_args, *_kwds) File "/u/blaise/ros/ros/core/rospy/src/rospy/tcpros_service.py", line 375, in call service_uri = self._get_service_uri(request) File "/u/blaise/ros/ros/core/rospy/src/rospy/tcpros_service.py", line 343, in _get_service_uri raise ServiceException("service [%s] unavailable"%self.resolved_name) ServiceException: service [/pr2_controller_manager/switch_controller] unavailable shutting down processing monitor... ... shutting down processing monitor complete done }}}

trac data:

ahendrix commented 11 years ago

[sglaser] Were you shutting down the realtime loop (pr2_etherCAT/gazebo/pr2_controller_manager) or just killing an instance of spawner?

ahendrix commented 11 years ago

[blaise] I was taking down a launch file. Not sure if pr2_comtroller_manager was part of that launch file, unfortunately. (50%-50% chance.)

ahendrix commented 11 years ago

[sglaser] I've seen this happen when bringing down the spawner and pr2_controller_manager together (and I wouldn't expect to see this error otherwise). I have fixed this case.

r29785