[Mailman-Users] Re: Duplicate emails being received

2022-10-18 Thread Mark Dale via Mailman-Users

On 2022-10-18 15:37, Mark Sapiro wrote:


# cat /lib/systemd/system/mailman.service
PIDFile=/var/run/mailman/mailman.pid


Try changing that to

PIDFile=/var/lib/mailman/data/master-qrunner.pid




Super! That did the job.

#PIDFile=/var/run/mailman/mailman.pid
PIDFile=/var/lib/mailman/data/master-qrunner.pid
...

# service mailman stop
Warning: The unit file, source configuration file or drop-ins of 
mailman.service changed on disk. Run 'systemctl daemon-reload' to reload units.

# systemctl daemon-reload
# service mailman stop
# service mailman start

# pstree
/ MAILMAN RUNNING

# ps -fwwu list

/ ALL RUNNERS RUNNING

**


/var/run is typically a symlink to /run, but 
https://mail.python.org/archives/list/mailman-users@python.org/message/OOVT765SIUYN5U3X3HGO3YNAMFJW7NHY/
 says you couldn't find a `mailman.pid` anywhere.


Yes. For "mailman.pid" nothing is found with either "find" or "locate".

For "master-qrunner.pid" -- no problem ...

# locate master-qrunner.pid
/var/lib/mailman/data/master-qrunner.pid

# find / -type f -iname "master-qrunner.pid"
/var/lib/mailman/data/master-qrunner.pid


**





--
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
   https://mail.python.org/archives/list/mailman-users@python.org/


[Mailman-Users] Re: Duplicate emails being received

2022-10-17 Thread Mark Sapiro

On 10/17/22 21:02, Mark Dale via Mailman-Users wrote:


# cat /lib/systemd/system/mailman.service
[Unit]
Description=Mailman Master Queue Runner
After=network.target

[Service]
Type=forking
PIDFile=/var/run/mailman/mailman.pid


Try changing that to

PIDFile=/var/lib/mailman/data/master-qrunner.pid

I'm only guessing where that is in the Debian package, but
```
locate master-qrunner.pid
```
should find it.



ExecStart=/usr/lib/mailman/bin/mailmanctl -s start
ExecStop=/usr/lib/mailman/bin/mailmanctl stop
ExecReload=/usr/lib/mailman/bin/mailmanctl restart
Restart=always
RestartSec=3s
RestartPreventExitStatus=1

[Install]
WantedBy=multi-user.target
Alias=mailman-qrunner.service


***

It seems that it was looking for the PID file in 
"/run/mailman/mailman.pid" (below) and the above says it lives at 
"/var/run/mailman/mailman.pid"



/var/run is typically a symlink to /run, but 
https://mail.python.org/archives/list/mailman-users@python.org/message/OOVT765SIUYN5U3X3HGO3YNAMFJW7NHY/ 
says you couldn't find a `mailman.pid` anywhere.



Oct 18 00:30:13 syd systemd[1]: mailman.service: Can't open PID file 
/run/mailman/mailman.pid (yet?) after start: No such file or directory



--
Mark Sapiro The highway is for gamblers,
San Francisco Bay Area, Californiabetter use your sense - B. Dylan

--
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
   https://mail.python.org/archives/list/mailman-users@python.org/


[Mailman-Users] Re: Duplicate emails being received

2022-10-17 Thread Mark Dale via Mailman-Users

On 2022-10-18 14:29, Mark Sapiro wrote:


 FROM: Me via listn...@listdomain.com
    TO: listn...@listdomain.com
    CC: m...@mydomain.com



This is expected. See the comment in the code beginning at 
https://bazaar.launchpad.net/~mailman-coders/mailman/2.1/view/head:/Mailman/Handlers/CookHeaders.py#L201
 for why we do this.


Got it. Thank you.




# ps -fAww |grep python
root   432 1  0 00:36 ?    00:00:00 /usr/bin/python3 
/usr/bin/fail2ban-server -xf start
list   745 1  0 00:38 ?    00:00:00 /usr/bin/python 
/usr/lib/mailman/bin/mailmanctl -s start
list   751   745  2 00:38 ?    00:00:04 /usr/bin/python 
/var/lib/mailman/bin/qrunner --runner=OutgoingRunner:0:1 -s
nobody 913   911  0 00:40 ?    00:00:00 /usr/bin/python 
/usr/local/bin/mpanel-memory-graph
root   921   908  0 00:40 pts/0    00:00:00 grep python



There should be more. Where are ArchRunner, BounceRunner, CommandRunner, 
IncomingRunner, NewsRunner, VirginRunner and RetryRunner? Did you edit them out?

What does `ps -fwwu list` show?



I hadn't edited then out, but when I ran "ps -fAww |grep python" again just 
now, they're all present now.
Good to know that all those are supposed to be there (in case there's a "next 
time").
And "ps -fwwu list" shows the same.


# ps -fAww |grep python
root   432 1  0 00:36 ?00:00:20 /usr/bin/python3 
/usr/bin/fail2ban-server -xf start
nobody5348  5343  0 03:45 ?00:00:00 /usr/bin/python 
/usr/local/bin/mpanel-memory-graph
list  5407 1  0 03:47 ?00:00:00 /usr/bin/python 
/usr/lib/mailman/bin/mailmanctl -s start
list  5408  5407  0 03:47 ?00:00:00 /usr/bin/python 
/var/lib/mailman/bin/qrunner --runner=ArchRunner:0:1 -s
list  5409  5407  0 03:47 ?00:00:00 /usr/bin/python 
/var/lib/mailman/bin/qrunner --runner=BounceRunner:0:1 -s
list  5410  5407  0 03:47 ?00:00:00 /usr/bin/python 
/var/lib/mailman/bin/qrunner --runner=CommandRunner:0:1 -s
list  5411  5407  0 03:47 ?00:00:00 /usr/bin/python 
/var/lib/mailman/bin/qrunner --runner=IncomingRunner:0:1 -s
list  5412  5407  0 03:47 ?00:00:00 /usr/bin/python 
/var/lib/mailman/bin/qrunner --runner=NewsRunner:0:1 -s
list  5413  5407  0 03:47 ?00:00:00 /usr/bin/python 
/var/lib/mailman/bin/qrunner --runner=OutgoingRunner:0:1 -s
list  5414  5407  0 03:47 ?00:00:00 /usr/bin/python 
/var/lib/mailman/bin/qrunner --runner=VirginRunner:0:1 -s
list  5415  5407  1 03:47 ?00:00:00 /usr/bin/python 
/var/lib/mailman/bin/qrunner --runner=RetryRunner:0:1 -s
root  5422  5416  0 03:47 pts/000:00:00 grep python

*


/// DID THAT PID FILE REAPPEAR?
# find / -type f -iname "mailman.pid"
/// NO RESULT. ... shrug ...



I suspect an issue with the Debian/Ubuntu package. What is the content of 
/etc/systemd/system/mailman.service?


# cd /etc/systemd/system/
# ls -la
... mailman-qrunner.service -> /lib/systemd/system/mailman.service


# cat /lib/systemd/system/mailman.service
[Unit]
Description=Mailman Master Queue Runner
After=network.target

[Service]
Type=forking
PIDFile=/var/run/mailman/mailman.pid
ExecStart=/usr/lib/mailman/bin/mailmanctl -s start
ExecStop=/usr/lib/mailman/bin/mailmanctl stop
ExecReload=/usr/lib/mailman/bin/mailmanctl restart
Restart=always
RestartSec=3s
RestartPreventExitStatus=1

[Install]
WantedBy=multi-user.target
Alias=mailman-qrunner.service


***

It seems that it was looking for the PID file in "/run/mailman/mailman.pid" (below) and 
the above says it lives at "/var/run/mailman/mailman.pid"

Oct 18 00:30:13 syd systemd[1]: mailman.service: Can't open PID file 
/run/mailman/mailman.pid (yet?) after start: No such file or directory

--
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
   https://mail.python.org/archives/list/mailman-users@python.org/


[Mailman-Users] Re: Duplicate emails being received

2022-10-17 Thread Grant Taylor via Mailman-Users

On 10/17/22 9:20 PM, Mark Dale via Mailman-Users wrote:

Thanks for that pointer.


You're welcome.

At the moment the Postfix smtpd_timeout = 60s. I think the original 
default is 300s.


I don't see any problem with having the higher value.  Most connections 
will complete well within that amount of time.  20% of that time in 
fact.  The few that don't will not adversely effect your server.


The restart (as per Mark S.'s advice) has got the mail back to one copy. 
If it goes off the rails again I'll experiment with that timeout.


ACK

That was my bad. I had a cert error and thinking the message hadn't been 
sent, I resent it.

*

Things happen.

There is one timeout error (unrelated I think) that gets repeated every 
hour approx. for just one recipient.


So you know what the error would look like and you have the absence of 
it as the source of the problem you were asking about.


That seems like a good thing to me.



--
Grant. . . .
unix || die



smime.p7s
Description: S/MIME Cryptographic Signature
--
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
https://mail.python.org/archives/list/mailman-users@python.org/


[Mailman-Users] Re: Duplicate emails being received

2022-10-17 Thread Mark Sapiro

On 10/17/22 18:43, Mark Dale via Mailman-Users wrote:


After the reboot, I posted a test to the list(just the list address, no 
CC) and now just the one copy of the message is delivered (although it 
wrote my address into the CC field).


 FROM: Me via listn...@listdomain.com
    TO: listn...@listdomain.com
    CC: m...@mydomain.com



This is expected. See the comment in the code beginning at 
https://bazaar.launchpad.net/~mailman-coders/mailman/2.1/view/head:/Mailman/Handlers/CookHeaders.py#L201 
for why we do this.



So far so good. I'll keep an eye on the qrunner over the next few days. 
It came good last time I restarted the qrunner, then went bad. But as 
you say, there may well have been more than one runner doing their bit.


Here are the steps and results I went through.


# service mailman stop

# ps -fAww |grep python
root   432 1  0 Oct01 ?    00:48:57 /usr/bin/python3 
/usr/bin/fail2ban-server -xf start
nobody    5659  5658  0 00:25 ?    00:00:00 /usr/bin/python 
/usr/local/bin/mpanel-memory-graph

root  5687  5642  0 00:26 pts/0    00:00:00 grep python
// I SHOULD HAVE CHECKED THAT BEFORE STOPPING MAILMAN


# service mailman start
/// FAILED TO START
...
Oct 18 00:30:12 syd systemd[1]: Starting Mailman Master Queue Runner...
Oct 18 00:30:13 syd mailmanctl[5791]: Starting Mailman's master qrunner.
Oct 18 00:30:13 syd systemd[1]: mailman.service: Can't open PID file 
/run/mailman/mailman.pid (yet?) after start: No such file or directory



This is not unusual. It's not a concern.



/// oh? MAYBE IT LIVES SOMEWHERE ELSE
# find / -type f -iname "mailman.pid"
/// NO RESULT

/ hmmm, AM I PANICKING YET?
#reboot
/ phew..., MAILMAN RUNNING AFTER REBOOT.

# pstree
systemd─┬─agetty
     ├─cron
..
     ├─mailmanctl───python
     ├─master─┬─anvil
     │    ├─2*[bounce]
...

# ps -fAww |grep python
// LOOKS LIKE ONLY 1 RUNNER. So far, so good.

root   432 1  0 00:36 ?    00:00:00 /usr/bin/python3 
/usr/bin/fail2ban-server -xf start
list   745 1  0 00:38 ?    00:00:00 /usr/bin/python 
/usr/lib/mailman/bin/mailmanctl -s start
list   751   745  2 00:38 ?    00:00:04 /usr/bin/python 
/var/lib/mailman/bin/qrunner --runner=OutgoingRunner:0:1 -s
nobody 913   911  0 00:40 ?    00:00:00 /usr/bin/python 
/usr/local/bin/mpanel-memory-graph

root   921   908  0 00:40 pts/0    00:00:00 grep python



There should be more. Where are ArchRunner, BounceRunner, CommandRunner, 
IncomingRunner, NewsRunner, VirginRunner and RetryRunner? Did you edit 
them out?


What does `ps -fwwu list` show?



/// DID THAT PID FILE REAPPEAR?
# find / -type f -iname "mailman.pid"
/// NO RESULT. ... shrug ...



I suspect an issue with the Debian/Ubuntu package. What is the content 
of /etc/systemd/system/mailman.service?



All seems well, the list is delivering single copies of the message (for 
now).


Good.

--
Mark Sapiro The highway is for gamblers,
San Francisco Bay Area, Californiabetter use your sense - B. Dylan

--
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
   https://mail.python.org/archives/list/mailman-users@python.org/


[Mailman-Users] Re: Duplicate emails being received

2022-10-17 Thread Mark Dale via Mailman-Users

On 2022-10-18 12:41, Grant Taylor via Mailman-Users wrote:


I've seen this type of duplication when there were communications problems that 
were causing your outbound MTA to send messages multiple times.  This usually 
happens when there are communications problems and your sending MTA doesn't 
receive the confirmation from receiving MTAs that they have accepted the 
message.  This might be a result of a timeout setting being too low on your 
sending MTA.


Thanks for that pointer.
 
At the moment the Postfix smtpd_timeout = 60s. I think the original default is 300s.


The restart (as per Mark S.'s advice) has got the mail back to one copy. If it 
goes off the rails again I'll experiment with that timeout.

 

Given that your message to the mailman-users mailing list came to the list 
twice, which didn't involve your instance of Mailman, I sort of suspect you 
have lower level / SMTP problems


That was my bad. I had a cert error and thinking the message hadn't been sent, 
I resent it.
* 

I think that your MTA's logs will be a very good place to start looking.  At 
least to see if there is evidence of problems or not.


There is one timeout error (unrelated I think) that gets repeated every hour 
approx. for just one recipient.

Oct 17 18:31:47 syd postfix/smtpd[30094]: timeout after END-OF-MESSAGE from 
mpv-out-cfd-1.REDACTED-DOMAIN.COM[REDACTED-IP4-ADDRESS]



--
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
   https://mail.python.org/archives/list/mailman-users@python.org/


[Mailman-Users] Re: Duplicate emails being received

2022-10-17 Thread Grant Taylor via Mailman-Users

On 10/17/22 5:25 PM, Mark Dale via Mailman-Users wrote:

Does anyone have any tips or pointers?


I've seen this type of duplication when there were communications 
problems that were causing your outbound MTA to send messages multiple 
times.  This usually happens when there are communications problems and 
your sending MTA doesn't receive the confirmation from receiving MTAs 
that they have accepted the message.  This might be a result of a 
timeout setting being too low on your sending MTA.


Given that your message to the mailman-users mailing list came to the 
list twice, which didn't involve your instance of Mailman, I sort of 
suspect you have lower level / SMTP problems.


I think that your MTA's logs will be a very good place to start looking. 
 At least to see if there is evidence of problems or not.




--
Grant. . . .
unix || die



smime.p7s
Description: S/MIME Cryptographic Signature
--
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
https://mail.python.org/archives/list/mailman-users@python.org/


[Mailman-Users] Re: Duplicate emails being received

2022-10-17 Thread Mark Dale via Mailman-Users



The problem: subscribers are all receiving duplicate copies of the original 
post and any replies.



Are you saying that each list member receives 2 copies of an original post 
addressed only to the list?


Each and every list member receives 2 copies of the post. It is addressed to 
the list AND CCed to the poster's own email address.

EG.  FROM: Me via listn...@listdomain.com
   TO: listn...@listdomain.com
   CC: m...@mydomain.com

**


Ensure you don't have multiple runners processing the same slice of their 
queues. See https://wiki.list.org/x/4030715 for the procedure to stop ALL 
Mailman processes and then start it only once.


I stepped through this (results below). After a reboot, there is only one 
runner.

/var/lib/mailman/bin/qrunner --runner=OutgoingRunner:0:1 -s

**



Examine the Received: headers of both copies to determine the paths that the 
message takes from poster to recipient.



I "diffed" the headers of both emails to check, and the message paths are the 
same.

**


After the reboot, I posted a test to the list(just the list address, no CC) and 
now just the one copy of the message is delivered (although it wrote my address 
into the CC field).

FROM: Me via listn...@listdomain.com
TO: listn...@listdomain.com
CC: m...@mydomain.com   

So far so good. I'll keep an eye on the qrunner over the next few days. It came 
good last time I restarted the qrunner, then went bad. But as you say, there 
may well have been more than one runner doing their bit.

Here are the steps and results I went through.


# service mailman stop

# ps -fAww |grep python
root   432 1  0 Oct01 ?00:48:57 /usr/bin/python3 
/usr/bin/fail2ban-server -xf start
nobody5659  5658  0 00:25 ?00:00:00 /usr/bin/python 
/usr/local/bin/mpanel-memory-graph
root  5687  5642  0 00:26 pts/000:00:00 grep python
// I SHOULD HAVE CHECKED THAT BEFORE STOPPING MAILMAN


# service mailman start
/// FAILED TO START
...
Oct 18 00:30:12 syd systemd[1]: Starting Mailman Master Queue Runner...
Oct 18 00:30:13 syd mailmanctl[5791]: Starting Mailman's master qrunner.
Oct 18 00:30:13 syd systemd[1]: mailman.service: Can't open PID file 
/run/mailman/mailman.pid (yet?) after start: No such file or directory


/// oh? MAYBE IT LIVES SOMEWHERE ELSE
# find / -type f -iname "mailman.pid"
/// NO RESULT

/ hmmm, AM I PANICKING YET?
#reboot
/ phew..., MAILMAN RUNNING AFTER REBOOT.

# pstree
systemd─┬─agetty
├─cron
..
├─mailmanctl───python
├─master─┬─anvil
│├─2*[bounce]
...

# ps -fAww |grep python
// LOOKS LIKE ONLY 1 RUNNER. So far, so good.

root   432 1  0 00:36 ?00:00:00 /usr/bin/python3 
/usr/bin/fail2ban-server -xf start
list   745 1  0 00:38 ?00:00:00 /usr/bin/python 
/usr/lib/mailman/bin/mailmanctl -s start
list   751   745  2 00:38 ?00:00:04 /usr/bin/python 
/var/lib/mailman/bin/qrunner --runner=OutgoingRunner:0:1 -s
nobody 913   911  0 00:40 ?00:00:00 /usr/bin/python 
/usr/local/bin/mpanel-memory-graph
root   921   908  0 00:40 pts/000:00:00 grep python


/// DID THAT PID FILE REAPPEAR?
# find / -type f -iname "mailman.pid"
/// NO RESULT. ... shrug ...

All seems well, the list is delivering single copies of the message (for now).

Thank you Mark for that advice. Very much appreciated.

--
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
   https://mail.python.org/archives/list/mailman-users@python.org/


[Mailman-Users] Re: Duplicate emails being received

2022-10-17 Thread Mark Sapiro

On 10/17/22 16:25, Mark Dale via Mailman-Users wrote:

Hi,

I've got a list with ~1600 subscribers (Mailman 2.1.39). It gets one or 
two messages posted to it each day (by subscribers).


The problem: subscribers are all receiving duplicate copies of the 
original post and any replies.



Are you saying that each list member receives 2 copies of an original 
post addressed only to the list?



All the subscribers are have "nodupes" switched on, and the list is set 
to replies to go to "This list".



That wouldn't be relevant for an original post addressed only to the 
list, nor would it be relevant for any user not directly addressed in 
To: or Cc: of the post.




I restarted the qrunner with: bin/mailmanctl -s  restart

That seemed to resolve things for a moment but then it started up again.

Does anyone have any tips or pointers?


Ensure you don't have multiple runners processing the same slice of 
their queues. See https://wiki.list.org/x/4030715 for the procedure to 
stop ALL Mailman processes and then start it only once.


Examine the Received: headers of both copies to determine the paths that 
the message takes from poster to recipient.


--
Mark Sapiro The highway is for gamblers,
San Francisco Bay Area, Californiabetter use your sense - B. Dylan

--
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
   https://mail.python.org/archives/list/mailman-users@python.org/