Mailman not updating the archives
Hi. I posted on this list sometime ago regarding a problem happening after I moved a mailman installation. I thought that the problem had been fixed but today I went to check the archives and noticed they stopped at the same time I moved the mailman files. This is the last entry in my error log:
Feb 19 12:08:39 2009 (17573) SHUNTING: 1235041717.338851+bdcc479aac14874fbec763cf0e1022c45bc65d1e Feb 19 13:13:42 2009 (17573) Uncaught runner exception: [Errno 13] Permission denied: '/var/lib/mailman/archives/private/mylist/index.html' Feb 19 13:13:42 2009 (17573) Traceback (most recent call last): File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 120, in _oneloop self._onefile(msg, msgdata) File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 191, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/lib/mailman/Mailman/Queue/ArchRunner.py", line 73, in _dispose mlist.ArchiveMail(msg) File "/usr/lib/mailman/Mailman/Archiver/Archiver.py", line 215, in ArchiveMail h.close() File "/usr/lib/mailman/Mailman/Archiver/pipermail.py", line 324, in close self.write_TOC() File "/usr/lib/mailman/Mailman/Archiver/HyperArch.py", line 1097, in write_TOC toc = open(os.path.join(self.basedir, 'index.html'), 'w') IOError: [Errno 13] Permission denied: '/var/lib/mailman/archives/private/mylist/index.html'
Feb 19 13:13:42 2009 (17573) SHUNTING: 1235045618.2635429+2b370b4b48cfad3b14f5744a3e408e220ec4079c
And the permissions on "index.html" are:
dell-srv2:~# ls -alh /var/lib/mailman/archives/private/mylist/index.html -rw-r--r-- 1 root list 9.8K 2009-01-18 12:27 /var/lib/mailman/archives/private/mylist/index.html
I ran several times check_perms -f and it says all is fixed.
-JK
Jack Knowlton wrote:
I posted on this list sometime ago regarding a problem happening after I moved a mailman installation. I thought that the problem had been fixed but today I went to check the archives and noticed they stopped at the same time I moved the mailman files. This is the last entry in my error log:
Feb 19 12:08:39 2009 (17573) SHUNTING: 1235041717.338851+bdcc479aac14874fbec763cf0e1022c45bc65d1e Feb 19 13:13:42 2009 (17573) Uncaught runner exception: [Errno 13] Permission denied: '/var/lib/mailman/archives/private/mylist/index.html' Feb 19 13:13:42 2009 (17573) Traceback (most recent call last): File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 120, in _oneloop self._onefile(msg, msgdata) File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 191, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/lib/mailman/Mailman/Queue/ArchRunner.py", line 73, in _dispose mlist.ArchiveMail(msg) File "/usr/lib/mailman/Mailman/Archiver/Archiver.py", line 215, in ArchiveMail h.close() File "/usr/lib/mailman/Mailman/Archiver/pipermail.py", line 324, in close self.write_TOC() File "/usr/lib/mailman/Mailman/Archiver/HyperArch.py", line 1097, in write_TOC toc = open(os.path.join(self.basedir, 'index.html'), 'w') IOError: [Errno 13] Permission denied: '/var/lib/mailman/archives/private/mylist/index.html'
Feb 19 13:13:42 2009 (17573) SHUNTING: 1235045618.2635429+2b370b4b48cfad3b14f5744a3e408e220ec4079c
And the permissions on "index.html" are:
dell-srv2:~# ls -alh /var/lib/mailman/archives/private/mylist/index.html -rw-r--r-- 1 root list 9.8K 2009-01-18 12:27 /var/lib/mailman/archives/private/mylist/index.html
I ran several times check_perms -f and it says all is fixed.
check_perms is lying (actually, there are many files, as opposed to directories, that check_perms doesn't check). The above file and all files in /var/lib/mailman/archives/private/ excluding those in /var/lib/mailman/archives/private/*/database/ need to be group writable.
Once you fix these permissions, you could run bin/unshunt to add the shunted messages to the archive, but there is an issue in that the messages have been successfully added to /var/lib/mailman/archives/private/mylist.mbox/mylist.mbox, and unshunting will add them again.
Rather than trying to fix archive permissions, I suggest you verify that /var/lib/mailman/archives/private/mylist.mbox/mylist.mbox contains all the lists posts from inception to date, and mayby verify there are no stray "From " lines in message bodies with bin/cleanarch, and then stop Mailman and rebuild the archive with
bin/arch --wipe listname
and then start Mailman. This way, the pipermail archive will be completely rebuilt with correct permissions.
This is one reason why I always recommend when moving lists to just move the LISTNAME.mbox/LISTNAME.mbox file and build the archive on the new machine with bin/arch.
Note if you do this, remove the shunted messages from qfiles/shunt/ so they don't accidently get unshunted in the future.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Fri, February 20, 2009 6:11 pm, Mark Sapiro wrote:
Jack Knowlton wrote:
I posted on this list sometime ago regarding a problem happening after I moved a mailman installation. I thought that the problem had been fixed but today I went to check the archives and noticed they stopped at the same time I moved the mailman files. This is the last entry in my error log:
Feb 19 12:08:39 2009 (17573) SHUNTING: 1235041717.338851+bdcc479aac14874fbec763cf0e1022c45bc65d1e Feb 19 13:13:42 2009 (17573) Uncaught runner exception: [Errno 13] Permission denied: '/var/lib/mailman/archives/private/mylist/index.html' Feb 19 13:13:42 2009 (17573) Traceback (most recent call last): File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 120, in _oneloop self._onefile(msg, msgdata) File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 191, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/lib/mailman/Mailman/Queue/ArchRunner.py", line 73, in _dispose mlist.ArchiveMail(msg) File "/usr/lib/mailman/Mailman/Archiver/Archiver.py", line 215, in ArchiveMail h.close() File "/usr/lib/mailman/Mailman/Archiver/pipermail.py", line 324, in close self.write_TOC() File "/usr/lib/mailman/Mailman/Archiver/HyperArch.py", line 1097, in write_TOC toc = open(os.path.join(self.basedir, 'index.html'), 'w') IOError: [Errno 13] Permission denied: '/var/lib/mailman/archives/private/mylist/index.html'
Feb 19 13:13:42 2009 (17573) SHUNTING: 1235045618.2635429+2b370b4b48cfad3b14f5744a3e408e220ec4079c
And the permissions on "index.html" are:
dell-srv2:~# ls -alh /var/lib/mailman/archives/private/mylist/index.html -rw-r--r-- 1 root list 9.8K 2009-01-18 12:27 /var/lib/mailman/archives/private/mylist/index.html
I ran several times check_perms -f and it says all is fixed.
check_perms is lying (actually, there are many files, as opposed to directories, that check_perms doesn't check). The above file and all files in /var/lib/mailman/archives/private/ excluding those in /var/lib/mailman/archives/private/*/database/ need to be group writable.
Once you fix these permissions, you could run bin/unshunt to add the shunted messages to the archive, but there is an issue in that the messages have been successfully added to /var/lib/mailman/archives/private/mylist.mbox/mylist.mbox, and unshunting will add them again.
Rather than trying to fix archive permissions, I suggest you verify that /var/lib/mailman/archives/private/mylist.mbox/mylist.mbox contains all the lists posts from inception to date, and mayby verify there are no stray "From " lines in message bodies with bin/cleanarch, and then stop Mailman and rebuild the archive with
bin/arch --wipe listname
and then start Mailman. This way, the pipermail archive will be completely rebuilt with correct permissions.
This is one reason why I always recommend when moving lists to just move the LISTNAME.mbox/LISTNAME.mbox file and build the archive on the new machine with bin/arch.
Note if you do this, remove the shunted messages from qfiles/shunt/ so they don't accidently get unshunted in the future.
That looks like a great solution, but I can't find neither the "cleanarch" nor the "arch" binary. (I installed mailman from debian apt)
-JK
Jack Knowlton wrote:
That looks like a great solution, but I can't find neither the "cleanarch" nor the "arch" binary. (I installed mailman from debian apt)
According to <http://packages.debian.org/lenny/i386/mailman/filelist>, they are in /usr/lib/mailman/bin/.
If they're not there, try
locate cleanarch
or
find / -print -name cleanarch.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (2)
-
Jack Knowlton -
Mark Sapiro