[Mailman-Users] Possible Bug in 2.1.13 sync_members

Barry Finkel b19141 at anl.gov
Wed Feb 3 16:49:17 CET 2010

I wrote:

>>I think I may have uncovered a bug in Mailman 2.1.13.  I have not
>>completed my research.  I have a script that refreshes the subscriber
>>list via:
>>/usr/lib/mailman/bin/sync_members -w=no -g=no -d=no -a=no \
>>     -f /e tc/mailman/generated_lists/LISTNAME LISTNAME
>>     /etc/mailman/generated_lists/LISTNAME
>>is a file that contains a possibly updated mailing list.  In that file
>>there is a line:
>>     ssmith at example.com        (XYZ, 012345, Smith, S.A. (Sam))
>>and after I run the sync_members, every line below this one is
>>ignored; the e-mail addresses in those lines are unsubscribed from
>>the list.  This has happened with two lists since I installed
>>Mailman 2.1.13 (replacing 2.1.11 - I never installed 2.1.12 in
>>production).  The third list that contains this e-mail address has
>>a different format:
>>     ssmith at example.com        (Smith, S.A. (Sam)      :012345)
>>and that list has no problems.  I have not yet checked for changes in
>>the sync_members source from 2.1.11 to 2.1.12 to 2.1.13.

And Mark Sapiro replied:

>There are no changes in sync_members. What has changed is in 2.1.11,
>Mailman used its own email package (version 2.5.8) installed in
>Mailman's pythonlib directory. Beginning with 2.1.12, Mailman uses the
>email package of the installed Python which depends on version.
>The difference is almost certainly in email.Utils.getaddresses() which
>is used to parse the lines of the input into 'address' and 'display
>name + comment' parts.
>I think the problem is that the addresses
>ssmith at example.com        (XYZ, 012345, Smith, S.A. (Sam))
>ssmith at example.com        (Smith, S.A. (Sam)      :012345)
>contain comments within comments and email.Utils.parseaddr() used by
>email.Utils.getaddresses() can be confused by this. However, email
>4.0.1 which is in most recent Python versions parses those into
>name: 'XYZ, 012345, Smith, S.A. Sam', address: 'ssmith at example.com'
>name: 'Smith, S.A. Sam      :012345', address: 'ssmith at example.com'
>respectively, so that should be OK. Also email 3.0+ from python 2.4.2
>gives the same result.
>In any case, I am surprised at the result. If sync_members finds any
>member addresses in the input file that appear invalid, it reports
>these and quits before doing anything to the list, and if it throws an
>exception while updating the list, it quits without saving the updated
>What's in Mailman's error log? What's in the output from sync_members?

I ran a test with a test list on my test virtual machine, and this is
what is happening.  The line in the "-f" file for sync_members

     bsf-crane at example.com          (New 1 (zzz))

is causing all of the succeeding lines in that file to be treated as
part of the parenthesized "name-comments" field for this new
bsf-crane entry.  The command

     python -v

produces, in part,

     Python 2.4.3 (#2, Jul 31 2008, 21:53:26)

The Python packages installed on this Ubuntu dapper system are


and the e-mail piece is found in

     __version__ = '3.0.1'

I will have to check if there is a newer Python package for dapper.
Barry S. Finkel
Computing and Information Systems Division
Argonne National Laboratory          Phone:    +1 (630) 252-7277
9700 South Cass Avenue               Facsimile:+1 (630) 252-4601
Building 240, Room 5.B.8             Internet: BSFinkel at anl.gov
Argonne, IL   60439-4828             IBMMAIL:  I1004994

More information about the Mailman-Users mailing list