FAQ
Hi,

I have a mailman 2.1.11 installation running about 1000 mailing lists.
Each of them is bi-directionally gatewayed via NNTP.

I have been hitting the following scenario:

Email 'a' is made of a text body and email 'b' as a text attachment.

Email 'b' is made of a text body and another non-text attachment.

Posting email 'a' to any mailing list gets email a distributed to all
the mailing list members but puts NewsRunner in the following infinite
loop (1 traceback per second. Needless to say, the posting never makes
it to the newsgroup)

Aug 13 14:36:30 2008 (25129) Uncaught runner exception:
Aug 13 14:36:30 2008 (25129) Traceback (most recent call last):
File "/usr/local/mailman/Mailman/Queue/NewsRunner.py", line 86, in
_dispose
conn.quit()
File "/usr/lib/python2.4/nntplib.py", line 600, in quit
resp = self.shortcmd('QUIT')
File "/usr/lib/python2.4/nntplib.py", line 260, in shortcmd
return self.getresp()
File "/usr/lib/python2.4/nntplib.py", line 215, in getresp
resp = self.getline()
File "/usr/lib/python2.4/nntplib.py", line 207, in getline
if not line: raise EOFError
EOFError


Any hint about what may cause this ?

Thanks!

Max

Search Discussions

  • Mark Sapiro at Aug 14, 2008 at 5:12 pm

    Max Lanfranconi wrote:
    I have a mailman 2.1.11 installation running about 1000 mailing lists.
    Each of them is bi-directionally gatewayed via NNTP.

    I have been hitting the following scenario:

    Email 'a' is made of a text body and email 'b' as a text attachment.

    Is the attachment Content-Type: text/plain or message/rfc822?

    Email 'b' is made of a text body and another non-text attachment.

    Posting email 'a' to any mailing list gets email a distributed to all
    the mailing list members but puts NewsRunner in the following infinite
    loop (1 traceback per second. Needless to say, the posting never makes
    it to the newsgroup)

    Aug 13 14:36:30 2008 (25129) Uncaught runner exception:
    Aug 13 14:36:30 2008 (25129) Traceback (most recent call last):
    File "/usr/local/mailman/Mailman/Queue/NewsRunner.py", line 86, in
    _dispose
    conn.quit()
    File "/usr/lib/python2.4/nntplib.py", line 600, in quit
    resp = self.shortcmd('QUIT')
    File "/usr/lib/python2.4/nntplib.py", line 260, in shortcmd
    return self.getresp()
    File "/usr/lib/python2.4/nntplib.py", line 215, in getresp
    resp = self.getline()
    File "/usr/lib/python2.4/nntplib.py", line 207, in getline
    if not line: raise EOFError
    EOFError


    Any hint about what may cause this ?

    The immediate cause is NewsRunner has a try: ... finally: and in the
    finally: clause does

    finally:
    if conn:
    conn.quit()

    to close the nntp connection if it is open. It appears that the
    connection may be already closed at this point because of a prior
    exception. Are there any '(NNTPDirect) xxx error for list ...'
    messages in the error log?. If not you could locate the following in
    Mailman/Queue/NewsRunner.py

    except nntplib.error_temp, e:
    syslog('error',
    '(NNTPDirect) NNTP error for list "%s": %s',
    mlist.internal_name(), e)
    except socket.error, e:
    syslog('error',
    '(NNTPDirect) socket error for list "%s":
    %s',
    mlist.internal_name(), e)
    finally:
    if conn:
    conn.quit()

    and replace

    except nntplib.error_temp, e:

    with

    except nntplib.NNTPError, e:

    and see if that gives any more information. nntplib does have a debug
    facility, but don't try to use it because it writes the debug output
    to stdout and NewsRunner doesn't have a stdout so this just causes
    more problems.

    --
    Mark Sapiro <mark at msapiro.net> The highway is for gamblers,
    San Francisco Bay Area, California better use your sense - B. Dylan

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupmailman-users @
categoriespython
postedAug 13, '08 at 9:45p
activeAug 14, '08 at 5:12p
posts2
users2
websitelist.org

2 users in discussion

Max Lanfranconi: 1 post Mark Sapiro: 1 post

People

Translate

site design / logo © 2022 Grokbase