[Mailman-Users] Mailman Crashes Regularly

Mark Sapiro mark at msapiro.net
Fri Oct 15 14:53:36 CEST 2010


Aaron Kreider wrote:

>  I'm getting regular mailman crashes every 2-4 weeks.  I've had 4 so 
>far.  I'm running a centos VPS with mailman 2.1.13.
>
>What is the best way to restart mailman?  I've been restarting the 
>entire vps, which obviously is a bad idea.  What can I do to prevent 
>this from happening?


The best way to restart Mailman depends on whether just mailmanctl or
also all the qrunners die. If all the qrunners are gone, you can just
run Mailman's "bin/mailmanctl start" or whatever cPanel voodoo starts
the Mailman service.

If there are still qrunner processes running when mailmanctl dies, see
the FAQ at <http://wiki.list.org/x/_4A9>.

(see below)


>Here is the error log entries from when it crashed:
>
>
>
>
>
>Oct 13 01:30:23 2010 mailmanctl(19680): No child with pid: 3683
>Oct 13 01:30:23 2010 mailmanctl(19680): [Errno 3] No such process
>Oct 13 01:30:23 2010 mailmanctl(19680): Stale pid file removed.
>Oct 13 01:30:23 2010 mailmanctl(19694): Traceback (most recent call last):
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"/usr/local/cpanel/3rdparty/mailman/bin/mailmanctl", line 548, in ?
>Oct 13 01:30:23 2010 mailmanctl(19694):      main()
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"/usr/local/cpanel/3rdparty/mailman/bin/mailmanctl", line 367, in main
>Oct 13 01:30:23 2010 mailmanctl(19694):      check_for_site_list()
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"/usr/local/cpanel/3rdparty/mailman/bin/mailmanctl", line 277, in 
>check_for_site_list
>Oct 13 01:30:23 2010 mailmanctl(19694):      sitelist = 
>MailList(sitelistname, lock=0)
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"/usr/local/cpanel/3rdparty/mailman/Mailman/MailList.py", line 115, in 
>__init__
>Oct 13 01:30:23 2010 mailmanctl(19694):      execfile(filename, dict)
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"/usr/local/cpanel/3rdparty/mailman/lists/mailman/extend.py", line 5, in ?
>Oct 13 01:30:23 2010 mailmanctl(19694):      from 
>Mailman.MysqlMemberships import MysqlMemberships


Why do you have
/usr/local/cpanel/3rdparty/mailman/lists/mailman/extend.py which
imports MysqlMemberships? As far as I know, this is not something that
cPanel Mailman does by default?

(see below)

 
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"/usr/local/cpanel/3rdparty/mailman/Mailman/MysqlMemberships.py", line 
>49, in ?
>Oct 13 01:30:23 2010 mailmanctl(19694):      import MySQLdb
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"build/bdist.linux-x86_64/egg/MySQLdb/__init__.py", line 19, in ?
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"build/bdist.linux-x86_64/egg/_mysql.py", line 7, in ?
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"build/bdist.linux-x86_64/egg/_mysql.py", line 4, in __bootstrap__
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"/usr/lib/python2.4/site-packages/setuptools-0.6c12dev_r80622-py2.4.egg/pkg_resources.py", 
>line 881, in resource_filename
>Oct 13 01:30:23 2010 mailmanctl(19694):      return 
>get_provider(package_or_requirement).get_resource_filename(
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"/usr/lib/python2.4/site-packages/setuptools-0.6c12dev_r80622-py2.4.egg/pkg_resources.py", 
>line 1351, in get_resource_filename
>Oct 13 01:30:23 2010 mailmanctl(19694):      
>self._extract_resource(manager, self._eager_to_zip(name))
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"/usr/lib/python2.4/site-packages/setuptools-0.6c12dev_r80622-py2.4.egg/pkg_resources.py", 
>line 1372, in _extract_resource
>Oct 13 01:30:23 2010 mailmanctl(19694):      real_path = 
>manager.get_cache_path(
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"/usr/lib/python2.4/site-packages/setuptools-0.6c12dev_r80622-py2.4.egg/pkg_resources.py", 
>line 962, in get_cache_path
>Oct 13 01:30:23 2010 mailmanctl(19694):      self.extraction_error()
>Oct 13 01:30:23 2010 mailmanctl(19694):   File 
>"/usr/lib/python2.4/site-packages/setuptools-0.6c12dev_r80622-py2.4.egg/pkg_resources.py", 
>line 928, in extraction_error
>Oct 13 01:30:23 2010 mailmanctl(19694):      raise err
>Oct 13 01:30:23 2010 mailmanctl(19694): pkg_resources . ExtractionError 
>:  Can't extract file(s) to egg cache
>
>The following error occurred while trying to extract file(s) to the 
>Python egg
>cache:
>
>   [Errno 13] Permission denied: '/root/.python-eggs'
>
>The Python egg cache directory is currently set to:
>
>   /root/.python-eggs
>
>Perhaps your account does not have write access to this directory?  You can
>change the cache directory by setting the PYTHON_EGG_CACHE environment
>variable to point to an accessible directory.
[...]


The underlying issue here is that Python's MySQLdb was apparently
installed by root in a way that the the Python egg cache directory is
not writeable by the Mailman process.

You can get rid of the above errors by simply removing
/usr/local/cpanel/3rdparty/mailman/lists/mailman/extend.py and perhaps
any other /usr/local/cpanel/3rdparty/mailman/lists/*/extend.py files,
but this will defeat your use of MysqlMemberships.py, but since it
doesn't work anyway, and maybe is only installed for the site list,
that shouldn't be too much of an issue.

Also, please read the FAQ at
<http://wiki.list.org/display/DOC/Mailman+and+CPanel>.

Finally, it is not clear to me that the above error is from the crash.
It seems to me it would occur whenever mailmanctl starts.  Is this all
that's in Mailman's error log? What's in Mailman's qrunner log?

-- 
Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan



More information about the Mailman-Users mailing list