close_ignoring_EPIPE can trigger IOError

Bug #901497 reported by Robert Collins
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-oops-amqp
Fix Released
High
Robert Collins

Bug Description

Traceback (most recent call last):
  File "bin/amqp2disk", line 49, in <module>
    oopstools.scripts.amqp2disk.main()
  File "src/oopstools/scripts/amqp2disk.py", line 113, in main
    receiver.run_forever()
  File "eggs/oops_amqp-0.0.4-py2.6.egg/oops_amqp/receiver.py", line 86, in run_forever
    self._run_forever()
  File "eggs/oops_amqp-0.0.4-py2.6.egg/oops_amqp/receiver.py", line 117, in _run_forever
    close_ignoring_EPIPE(self.connection)
  File "eggs/oops_amqp-0.0.4-py2.6.egg/oops_amqp/utils.py", line 44, in close_ignoring_EPIPE
    return closable.close()
  File "eggs/amqplib-0.6.1-py2.6.egg/amqplib/client_0_8/connection.py", line 301, in close
    (10, 61), # Connection.close_ok
  File "eggs/amqplib-0.6.1-py2.6.egg/amqplib/client_0_8/abstract_channel.py", line 89, in wait
    self.channel_id, allowed_methods)
  File "eggs/amqplib-0.6.1-py2.6.egg/amqplib/client_0_8/connection.py", line 198, in _wait_method
    self.method_reader.read_method()
  File "eggs/amqplib-0.6.1-py2.6.egg/amqplib/client_0_8/method_framing.py", line 215, in read_method
    raise m
IOError: Socket closed

This can cause the consumer to die inappropriately during rabbit restarts.

Related branches

description: updated
summary: - close_ignoring_EPIP can trigger IOError
+ close_ignoring_EPIPE can trigger IOError
Changed in python-oops-amqp:
status: Triaged → Fix Released
assignee: nobody → Robert Collins (lifeless)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.