[Mailman-Users] MM and mhonarc problems...

Richard Barrett R.Barrett at ftel.co.uk
Mon Nov 11 17:47:17 CET 2002


At 19:28 08/11/2002, Bryce Tate wrote:
>I am testing mailman for use at my university, and we want to be able to
>support different MIME types in the archives.  I've installed Mhonarc and
>I followed the directions of a very helpful list member from an earlier
>post to the group.  When I manually run:
>
>mhonarc -mbox $prefix/archives/private/yourmaillist.mbox/yourmaillist.mbox
>-outdir /var/mhonarc/archives/yourmaillist -rcfile
>/var/mhonarc/archives/yourmaillist/main.mrc
>
>All of the messages (if I have any) move over just fine, but new messages
>are archived automatically...I have this in the /var/log/mailman/error
>file:
>
>Nov 08 14:19:02 2002 qrunner(1884): Traceback (most recent call last):
>Nov 08 14:19:02 2002 qrunner(1884):   File
>"/var/mailman/Mailman/Archiver/Archiver.py", line 213, in ArchiveMail
>Nov 08 14:19:02 2002 qrunner(1884):
>self.ExternalArchive(mm_cfg.PUBLIC_EXTERNAL_ARCHIVER, txt)
>Nov 08 14:19:02 2002 qrunner(1884):   File
>"/var/mailman/Mailman/Archiver/Archiver.py", line 174, in ExternalArchive
>Nov 08 14:19:02 2002 qrunner(1884):     syslog('error', 'external archiver
>non-zero exit status: %d\n' %
>Nov 08 14:19:02 2002 qrunner(1884): TypeError: unsupported operand type(s)
>for >>: 'str' and 'int'
>Nov 08 14:19:02 2002 (1884) CORRUPT ARCHIVE FOR LIST: testlist

This is a strange error.

The traceback says Mailman's qrunner was trying to execute the command line 
you defined via the PUBLIC_EXTERNAL_ARCHIVER config variable with the 
listname concerned plugged in to it.

Mailman does this using the Python os.popen function which provides a 
writable pipe through which the qrunner feeds the text of the email 
concerned to (hopefully) Mhonarc's process STDIN.

It looks as though Mailman has checked the exit status of the command 
returned via the close function on the file type object returned by popen, 
and found it to be non-zero.

However, when trying to output this exit status to the logfile it has 
failed because the exit status was not an integer but a string. UNIX 
command exit status is supposed to be a 16 bit integer.

The question is why the exit status is a string not an integer. I cannot 
reproduce this despite feeding absolute nonsense commands of various types 
to os.popen using either the Python 2.2.1 or 1.5.2 I have readily available.

It looks, from information in the traceback, as though you are running MM 
2.0.x and not running Python 1.5.2 but a later version.

To get any further, some information about what OS and version and which 
versions of Mailman and Python you are using may be useful.

It may be that this is a Python bug rather than a Mailman specific problem.

>I even created an empty test list (as seen above) and it didn't have any
>messages in it.  When I sent my first message to the list, the above is
>also what the /var/log/mailman/error file reported.
>
>Does anyone know what could be wrong?  I'm hoping that i'm not the only
>one on this list who has had this problem before.  Below is my mm_cfg.py
>file.  I also have appropriate aliases set in httpd.conf
>
>And other than this Mhonarc issue (and pipermails lack of MIME support)
>I've been very pleased with Mailman (and related programs), and my
>recommendation will be that we use it.
>
>Thanks for any feedback!
>
>Bryce
>
>#######################################################
>#    Here's where we get the distributed defaults.    #
>
>from Defaults import *
>import pwd, grp
>
>##############################################################
>#    Here's where we override shipped defaults with settings #
>#    suitable for the RPM package.                           #
>MAILMAN_UID = pwd.getpwnam('mailman')[2]
>MAILMAN_GID = grp.getgrnam('mailman')[2]
>LOG_DIR     = '/var/log/mailman'
>QUEUE_DIR   = '/var/spool/mailman/qfiles'
>
>##############################################################
># Put YOUR site-specific configuration below, in mm_cfg.py . #
># See Defaults.py for explanations of the values.            #
>
>DEFAULT_HOST_NAME = '<MYHOSTNAME>'
>DEFAULT_URL       = '<MYDEFAULTURL>'
>MAILMAN_OWNER     = 'mailman-owner@%s' % DEFAULT_HOST_NAME
>
># Note - if you're looking for something that is imported from mm_cfg, but
>you
># didn't find it above, it's probably in Defaults.py.
>
>PUBLIC_ARCHIVE_URL = '/mhonarchive'
>PRIVATE_ARCHIVE_URL = '/mhonarchive'
>PUBLIC_EXTERNAL_ARCHIVER = '/usr/bin/mhonarc -add -outdir
>/var/mhonarc/archives/%(listname)s'
>PRIVATE_EXTERNAL_ARCHIVER = '/usr/bin/mhonarc -add -outdir
>/var/mhonarc/archives/%(listname)s'
>#PRIVATE_ARCHIVE_FILE_DIR = os.path.join(VAR_PREFIX,
>'/var/mhonarc/archives/', 'private')
>
>
>
>------------------------------------------------------
>Mailman-Users mailing list
>Mailman-Users at python.org
>http://mail.python.org/mailman/listinfo/mailman-users
>Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py
>Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
>
>This message was sent to: r.barrett at ftel.co.uk
>Unsubscribe or change your options at
>http://mail.python.org/mailman/options/mailman-users/r.barrett%40ftel.co.uk




More information about the Mailman-Users mailing list