New submission from Stephen Evans: With the imaplib.Debug=3 (or greater) imaplib.noop() will crash if there are any untagged responses present.
The _dump_ur() function has not been converted to expect bytes in the lambda variable x[1]. An abbreviate example of the 'dict' parameter would be: {'READ-WRITE': [b''], 'FETCH': [b'1 (FLAGS (\\Recent NonJunk))']} This _dump_ur() function needs converting to Python 3.x, say, change the map/lambda line to: l = map(lambda x:'%s: %r' % (x[0], x[1]), l) A sample crash inducing session produced by the attached file (using another email client to produce untagged responses for NOOP): 20:01.23 imaplib version 2.58 20:01.23 new IMAP4 connection, tag=b'LMHB' 20:01.48 CAPABILITIES: ('IMAP4REV1', 'LITERAL+', 'SASL-IR', 'LOGIN-REFERRALS', 'ID', 'ENABLE', 'IDLE', 'NAMESPACE', 'AUTH=PLAIN', 'AUTH=LOGIN') Traceback (most recent call last): File "E:/temp/imap-idle/imaplib-noop.py", line 18, in <module> connection.noop() # Crashes here. File "C:\Python35\lib\imaplib.py", line 656, in noop self._dump_ur(self.untagged_responses) File "C:\Python35\lib\imaplib.py", line 1210, in _dump_ur self._mesg('untagged responses dump:%s%s' % (t, t.join(l))) File "C:\Python35\lib\imaplib.py", line 1209, in <lambda> l = map(lambda x:'%s: "%s"' % (x[0], x[1][0] and '" "'.join(x[1]) or ''), l) TypeError: sequence item 0: expected str instance, bytes found ---------- components: email files: imaplib-noop.py messages: 261615 nosy: Stephen.Evans, barry, r.david.murray priority: normal severity: normal status: open title: imaplib noop Debug type: crash versions: Python 3.5, Python 3.6 Added file: http://bugs.python.org/file42140/imaplib-noop.py _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26543> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com