after initial install, master runner crashes when config file is missing

Bug #1411435 reported by Sumana Harihareswara on 2015-01-15
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
GNU Mailman
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/bin/mailman", line 9, in <module>
    load_entry_point('mailman==3.0.0b6', 'console_scripts', 'mailman')()
  File "/usr/local/lib/python3.4/dist-packages/mailman-3.0.0b6-py3.4.egg/mailman/bin/mailman.py", line 100, in main
    args.func(args)
  File "/usr/local/lib/python3.4/dist-packages/mailman-3.0.0b6-py3.4.egg/mailman/commands/cli_control.py", line 138, in process
    os.execl(*execl_args)
  File "/usr/lib/python3.4/os.py", line 489, in execl
    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.)

Sumana Harihareswara (sumanah) wrote :

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
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/repos/mailman/var/etc/mailman.cfg
mailman start # this time it worked!

Much thanks to Leonard Richardson for assiduous assistance.

summary: - installing: TypeError: Can't convert 'NoneType' object to str implicitly
+ after initial install, master runner crashes when config file is missing
Barry Warsaw (barry) on 2015-01-20
Changed in mailman:
milestone: none → 3.0.0b6
status: New → Fix Committed
importance: Undecided → High
assignee: nobody → Barry Warsaw (barry)
Barry Warsaw (barry) on 2015-04-28
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.

Other bug subscribers