Author martin.panter
Recipients christian.heimes, martin.panter, python-dev, serhiy.storchaka, xdegaye, xiang.zhang, zach.ware
Date 2016-12-18.03:50:01
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1482033002.95.0.0256987579553.issue28971@psf.upfronthosting.co.za>
In-reply-to
Content
The first offending message I found is number 183465:

>>> s.group("comp.lang.python")
('211 4329 179178 183507 comp.lang.python', 4329, 179178, 183507, 'comp.lang.python')
>>> s._putcmd("OVER 183465")
>>> s._getresp()
'224 Overview information for 183465 follows'
>>> line = s.file.readline()
>>> len(line)
2702
>>> [number, subject, from_header, date, message_id, references, bytes, lines, extra] = line.split(b"\t", 8)
>>> message_id
b'<1481898601.2322.python-list@python.org">mailman.122.1481898601.2322.python-list@python.org>'
>>> len(references)
2483
>>> len(references.split())
36

Assuming the References value is the only large field in an OVER response line, I would guess that a reasonable limit per line might be

200 bytes/message-id * 200 messages/thread = 40,000 bytes per OVER line

I agree with closing the session whenever the client’s protocol state is broken, but only for a different, tangential reason. See Issue 22350. Even if you raised an explicit exception when using a closed session, like in nntplib_maxbytes.patch, won’t that still cause the subsequent tests to fail? I think the best solution is to stop sharing one connection across multiple tests: Issue 19756.
History
Date User Action Args
2016-12-18 03:50:03martin.pantersetrecipients: + martin.panter, christian.heimes, xdegaye, python-dev, zach.ware, serhiy.storchaka, xiang.zhang
2016-12-18 03:50:02martin.pantersetmessageid: <1482033002.95.0.0256987579553.issue28971@psf.upfronthosting.co.za>
2016-12-18 03:50:02martin.panterlinkissue28971 messages
2016-12-18 03:50:01martin.pantercreate