after initial install, master runner crashes when config file is missing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GNU Mailman |
Fix Released
|
High
|
Barry Warsaw |
Bug Description
I am on a stock Ubuntu 14.04 machine (a Digital Ocean virtual server). When I run "mailman start" I get this traceback:
$ mailman start
Starting Mailman's master runner
Traceback (most recent call last):
File "/usr/local/
load_
File "/usr/local/
args.func(args)
File "/usr/local/
os.
File "/usr/lib/
execv(file, args)
TypeError: Can't convert 'NoneType' object to str implicitly
For reference, my .bash_history (removing the bits where I, e.g., used aptitude to check that I wanted python3-setuptools, and annotating where I got errors):
sudo apt-get update
sudo apt-get install bzr python-setuptools python-dev build-essential postfix
mkdir repos
cd repos/
bzr branch lp:mailman
bzr branch lp:mailman.client
bzr branch lp:postorius
bzr branch lp:~mailman-coders/postorius/postorius_standalone
cd mailman
python setup.py install # got error - it wants Python 3
python3 setup.py install # got ImportError: No module named 'setuptools'
sudo apt-get install python3-setuptools
sudo python3 setup.py install
sudo mailman start
(And if I made an error in installing here, please let me know and I'll fix the docs.)
Changed in mailman: | |
milestone: | none → 3.0.0b6 |
status: | New → Fix Committed |
importance: | Undecided → High |
assignee: | nobody → Barry Warsaw (barry) |
Changed in mailman: | |
status: | Fix Committed → Fix Released |
Was able to troubleshoot this a little. This problem happens when Mailman cannot find a config file. And so the execv function is expecting a string (the filename) and can't deal with the None.
When I ran "mailman info" I initially got "config file: None" but then on later tries the line said "config file: /home/sumanah/ repos/mailman/ src/mailman/ var/etc/ mailman. cfg". It seems that running "mailman info" can make the config file for me.
Just now I tried running "mailman info" and then "mailman start" in a virtualenv in which Python 3 was the default Python, and that seemed to help a lot.
mkdir venv repos/mailman/ var/etc/ mailman. cfg
virtualenv -p python3 venv/
source venv/bin/activate
cd repos/mailman
python setup.py install
mailman start # got the TypeError I mentioned in my initial bug report
mailman info # told me that config file: /home/sumanah/
mailman start # this time it worked!
Much thanks to Leonard Richardson for assiduous assistance.