Subscriber "disappears" after subscription

Bug #266464 reported by Mlanfranconi
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
GNU Mailman
Medium
Mark Sapiro

Bug Description

Mailman 2.1.11
Python 2.4.4
OS Solaris 2.11

Hi,

I have been able to reproduce this bug consistently by running the
replicate_bug script:

replicate _bug is the following:

#!/bin/sh
/usr/local/mailman/bin/rmlist testlist1
/usr/local/mailman/bin/rmlist testlist2
/usr/local/mailman/bin/rmlist testlist3
/usr/local/mailman/bin/rmlist testlist4
/usr/local/mailman/bin/rmlist testlist5
/usr/local/mailman/bin/rmlist testlist6
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist1
<email address hidden> testpwd
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist2
<email address hidden> testpwd
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist3
<email address hidden> testpwd
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist4
<email address hidden> testpwd
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist5
<email address hidden> testpwd
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist6
<email address hidden> testpwd

echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist1
echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist2
echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist3
echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist4
echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist5
echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist6
echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist1
echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist2
echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist3
echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist4
echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist5
echo "<email address hidden>" | /usr/local/mailman/bin/add_members -r - testlist6

After a short wait the following output is received:

Subscribed: <email address hidden>
Subscribed: <email address hidden>
Subscribed: <email address hidden>
Subscribed: <email address hidden>
Subscribed: <email address hidden>
Subscribed: <email address hidden>
Subscribed: <email address hidden>
Subscribed: <email address hidden>
Subscribed: <email address hidden>
Subscribed: <email address hidden>
Subscribed: <email address hidden>
Subscribed: <email address hidden>

<email address hidden> receives 6 confirmation emails, as <email address hidden> does. So far so
good.

At this point testlist1-6 each should contain 2 subscribers: <email address hidden>
and <email address hidden>

BUT

/usr/local/mailman/bin/list_members testlist1
/usr/local/mailman/bin/list_members testlist2
/usr/local/mailman/bin/list_members testlist3
/usr/local/mailman/bin/list_members testlist4
/usr/local/mailman/bin/list_members testlist5
/usr/local/mailman/bin/list_members testlist6

invariably produce some random combination in which one or more of the
subscribers are missing:
for example:
<email address hidden>
<email address hidden>
<email address hidden>
<email address hidden>
<email address hidden>
<email address hidden>
<email address hidden>
<email address hidden>
<email address hidden>

in which three instances of <email address hidden> are missing...

No Errors in any Mailman log.
Thanks in advance for your help. Please let me know if you need additional
details.
Regards,
Max

[http://sourceforge.net/tracker/index.php?func=detail&aid=2037414&group_id=103&atid=100103]

Related branches

Revision history for this message
Mark Sapiro (msapiro) wrote :

Originator: NO

Thanks for the script. It was helpful in finding the problem. The analysis
of the cause of the problem and potential fix is at
<http://mail.python.org/pipermail/mailman-developers/2008-August/020330.html>.

Mark Sapiro (msapiro)
Changed in mailman:
milestone: 2.1-stable → 2.1.15
status: Confirmed → Fix Committed
Mark Sapiro (msapiro)
Changed in mailman:
status: Fix Committed → Fix Released
Revision history for this message
Uli (butschi) wrote :

The bug was not completly fixed in Mailman 2.1.15.

self.__timestamp is set after the loading AND parsing of the file. With large files the parsing may
need 1-2 seconds and in the meantime a new file, but older then the self.__timestamp set after the parsing ist written:

(1) Nov 16 21:02:54 2016 (57765) Try-Load config file /var/lib/mailman/lists/XY/config.pck
-> Load

(2) Nov 16 21:02:54 2016 (57765) 1479326518 mtime(/var/lib/mailman/lists/XY/config.pck)
-> Check mtime

(3) Nov 16 21:02:54 2016 (57765) 0 (self.__timestamp)
-> self.__timestamp is not set -> Load-File

(4) Nov 16 21:02:54 2016 (57765) 1479326574 (Time before Load of config.pck)
-> Timestamp int(time.time()) before the loading of the pickle file.

(5) Nov 16 21:02:55 2016 (57765) 1479326575 (Time after Loading unpickling File = self.__timestamp)
-> Timestamp after the Loading of the pickle file. The unpickling needs some time due to large List
   with 200.000 subscribers The parsing needs 1 second, timestamps differ.

(6) Nov 16 21:02:55 2016 (57765) Try-Loaded config file /var/lib/mailman/lists/neuerscheinungen/config.pck
-> Reload/Check Pickle-File

(7) Nov 16 21:02:55 2016 (57765) 1479326574 mtime(/var/lib/mailman/lists/XY/config.pck)
-> Check mtime (file is older than self.__timestamp), but nervertheless changed after the Loading
   in (5)

(8) Nov 16 21:02:55 2016 (57765) 1479326575 SelfTimestamp
-> Wrong Data saved

Revision history for this message
Mark Sapiro (msapiro) wrote :
Changed in mailman:
milestone: 2.1.15 → 2.1.24
status: Fix Released → Fix Committed
Mark Sapiro (msapiro)
Changed in mailman:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers