ros / ros_comm

ROS communications-related packages, including core client libraries (roscpp, rospy, roslisp) and graph introspection tools (rostopic, rosnode, rosservice, rosparam).
http://wiki.ros.org/ros_comm
752 stars 911 forks source link

(rospy) Broken pipe in service server #2227

Open MatthijsBurgh opened 2 years ago

MatthijsBurgh commented 2 years ago

I have a service server in python. My client runs in CPP.

When I stop my client, while a service call was active. I get the following error on my python server side.

Error processing request: 32Broken pipe
['Traceback (most recent call last):\n', '  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 696, in write_data\n    self.socket.sendall(data)\n', 'BrokenPipeError: [Errno 32] Broken pipe\n', '\nDuring handling of the above exception, another exception occurred:\n\n', 'Traceback (most recent call last):\n', '  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 637, in _handle_request\n    transport.send_message(response, self.seq)\n', '  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 680, in send_message\n    self.write_data(self.write_buff.getvalue())\n', '  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 705, in write_data\n    raise TransportTerminated(str(ioe_errno)+msg)\n', 'rospy.exceptions.TransportTerminated: 32Broken pipe\n']
Exception in thread Thread-24:
Traceback (most recent call last):
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 696, in write_data
    self.socket.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 637, in _handle_request
    transport.send_message(response, self.seq)
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 680, in send_message
    self.write_data(self.write_buff.getvalue())
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 705, in write_data
    raise TransportTerminated(str(ioe_errno)+msg)
rospy.exceptions.TransportTerminated: 32Broken pipe

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 670, in handle
    self._handle_request(transport, request)
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 644, in _handle_request
    self._write_service_error(transport, "error processing request: %s"%e)
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 621, in _write_service_error
    transport.write_data(struct.pack('<BI%ss'%len(err_msg), 0, len(err_msg), err_msg))
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 691, in write_data
    raise TransportInitError("TCPROS transport was not successfully initialized")
rospy.exceptions.TransportInitError: TCPROS transport was not successfully initialized