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

Bug #1411435 reported by Sumana Harihareswara
10
This bug affects 2 people
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/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.)

Tags: mailman3
Revision history for this message
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)
Changed in mailman:
milestone: none → 3.0.0b6
status: New → Fix Committed
importance: Undecided → High
assignee: nobody → Barry Warsaw (barry)
Barry Warsaw (barry)
Changed in mailman:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.