Testing out client authentication with the Twisted backend and fedmsg-migration-tools, I saw this with pika==0.12:
^C2018-08-21 14:19:22-0400 [-] Received SIGINT, shutting down.
2018-08-21 14:19:22-0400 [-] [verify_missing WARNING] Lost connection. Reason: Connection to the other side was lost in a non-clean fashion: Connection lost.
2018-08-21 14:19:22-0400 [FedoraMessaging:Factory] Lost connection. Reason: Connection to the other side was lost in a non-clean fashion: Connection lost.
2018-08-21 14:19:22-0400 [FedoraMessagingProtocol (TLSMemoryBIOProtocol),client] <twisted.internet.tcp.Connector object at 0x7f2b4f9279b0> will retry in 2 seconds
2018-08-21 14:19:22-0400 [-] Stopping factory <fedora_messaging.twisted.factory.FedoraMessagingFactory object at 0x7f2b4f9277b8>
2018-08-21 14:19:22-0400 [-] Main loop terminated.
2018-08-21 14:19:22-0400 [-] [verify_missing CRITICAL] Unhandled error in Deferred:
2018-08-21 14:19:22-0400 [-] Unhandled error in Deferred:
2018-08-21 14:19:22-0400 [-] [verify_missing CRITICAL]
2018-08-21 14:19:22-0400 [-] Traceback (most recent call last):
2018-08-21 14:19:22-0400 [-] File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/factory.py", line 138, in stopFactory
2018-08-21 14:19:22-0400 [-] yield self.client.stopProducing()
2018-08-21 14:19:22-0400 [-] File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 297, in stopProducing
2018-08-21 14:19:22-0400 [-] yield self.pauseProducing()
2018-08-21 14:19:22-0400 [-] File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 282, in pauseProducing
2018-08-21 14:19:22-0400 [-] yield self._channel.basic_cancel(consumer_tag)
2018-08-21 14:19:22-0400 [-] File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/pika/adapters/twisted_connection.py", line 169, in wrapped
2018-08-21 14:19:22-0400 [-] method(*args, **kwargs)
2018-08-21 14:19:22-0400 [-] TypeError: basic_cancel() got multiple values for argument 'callback'
2018-08-21 14:19:22-0400 [-] Unhandled Error
Traceback (most recent call last):
File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1613, in unwindGenerator
return _cancellableInlineCallbacks(gen)
File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1529, in _cancellableInlineCallbacks
_inlineCallbacks(None, g, status)
File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks
result = g.send(result)
File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 282, in pauseProducing
yield self._channel.basic_cancel(consumer_tag)
--- <exception caught here> ---
File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/factory.py", line 138, in stopFactory
yield self.client.stopProducing()
File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 297, in stopProducing
yield self.pauseProducing()
File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 282, in pauseProducing
yield self._channel.basic_cancel(consumer_tag)
File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/pika/adapters/twisted_connection.py", line 169, in wrapped
method(*args, **kwargs)
builtins.TypeError: basic_cancel() got multiple values for argument 'callback'
^C2018-08-21 14:23:12-0400 [-] Received SIGINT, shutting down.
2018-08-21 14:23:12-0400 [-] [pika.adapters.twisted_connection ERROR] connection_lost: ConnectionLost('Connection lost',)
2018-08-21 14:23:12-0400 [-] [verify_missing CRITICAL] 'Failed getting the next message in the queue, stopping.'
2018-08-21 14:23:12-0400 [FedoraMessaging:Protocol] 'Failed getting the next message in the queue, stopping.'
2018-08-21 14:23:12-0400 [-] [verify_missing CRITICAL] Unhandled Error
2018-08-21 14:23:12-0400 [-] Traceback (most recent call last):
2018-08-21 14:23:12-0400 [-] File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1475, in gotResult
2018-08-21 14:23:12-0400 [-] _inlineCallbacks(r, g, status)
2018-08-21 14:23:12-0400 [-] File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1416, in _inlineCallbacks
2018-08-21 14:23:12-0400 [-] result = result.throwExceptionIntoGenerator(g)
2018-08-21 14:23:12-0400 [-] File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/python/failure.py", line 491, in throwExceptionIntoGenerator
2018-08-21 14:23:12-0400 [-] return g.throw(self.type, self.value, self.tb)
2018-08-21 14:23:12-0400 [-] File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 148, in _read
2018-08-21 14:23:12-0400 [-] log.err(e, system=self.name)
2018-08-21 14:23:12-0400 [-] --- <exception caught here> ---
2018-08-21 14:23:12-0400 [-] File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 132, in _read
2018-08-21 14:23:12-0400 [-] yield queue_object.get()
2018-08-21 14:23:12-0400 [-] twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion: Connection lost.
2018-08-21 14:23:12-0400 [-]
2018-08-21 14:23:12-0400 [FedoraMessaging:Protocol] Unhandled Error
Traceback (most recent call last):
File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1475, in gotResult
_inlineCallbacks(r, g, status)
File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1416, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/python/failure.py", line 491, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 148, in _read
log.err(e, system=self.name)
--- <exception caught here> ---
File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 132, in _read
yield queue_object.get()
twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion: Connection lost.
2018-08-21 14:23:12-0400 [FedoraMessaging:Factory] Lost connection. Reason: Connection to the other side was lost in a non-clean fashion: Connection lost.
2018-08-21 14:23:12-0400 [FedoraMessagingProtocol (TLSMemoryBIOProtocol),client] <twisted.internet.tcp.Connector object at 0x7fe45d75ae80> will retry in 2 seconds
2018-08-21 14:23:12-0400 [-] Stopping factory <fedora_messaging.twisted.factory.FedoraMessagingFactory object at 0x7fe45d75acc0>
2018-08-21 14:23:12-0400 [-] Main loop terminated.
2018-08-21 14:23:12-0400 [-] [verify_missing CRITICAL] Unhandled error in Deferred:
2018-08-21 14:23:12-0400 [-] Unhandled error in Deferred:
2018-08-21 14:23:12-0400 [-] [verify_missing CRITICAL]
2018-08-21 14:23:12-0400 [-] Traceback (most recent call last):
2018-08-21 14:23:12-0400 [-] File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/factory.py", line 138, in stopFactory
2018-08-21 14:23:12-0400 [-] yield self.client.stopProducing()
2018-08-21 14:23:12-0400 [-] File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 297, in stopProducing
2018-08-21 14:23:12-0400 [-] yield self.pauseProducing()
2018-08-21 14:23:12-0400 [-] File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks
2018-08-21 14:23:12-0400 [-] result = g.send(result)
2018-08-21 14:23:12-0400 [-] File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 281, in pauseProducing
2018-08-21 14:23:12-0400 [-] for consumer_tag in self._channel.consumer_tags:
2018-08-21 14:23:12-0400 [-] AttributeError: 'TwistedChannel' object has no attribute 'consumer_tags'
2018-08-21 14:23:12-0400 [-] Unhandled Error
Traceback (most recent call last):
File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks
result = g.send(result)
File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 297, in stopProducing
yield self.pauseProducing()
File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1613, in unwindGenerator
return _cancellableInlineCallbacks(gen)
File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1529, in _cancellableInlineCallbacks
_inlineCallbacks(None, g, status)
--- <exception caught here> ---
File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/factory.py", line 138, in stopFactory
yield self.client.stopProducing()
File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 297, in stopProducing
yield self.pauseProducing()
File "/home/jcline/.virtualenvs/fm/lib/python3.6/site-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks
result = g.send(result)
File "/home/jcline/devel/fedora-messaging/fedora_messaging/twisted/protocol.py", line 281, in pauseProducing
for consumer_tag in self._channel.consumer_tags:
builtins.AttributeError: 'TwistedChannel' object has no attribute 'consumer_tags'
edit2: There was more traceback for the 1.0.0b1 case, it looks like we're not gracefully handling SIGINT (at least for fedmsg-migration-tools).