command mailman info fails when Database url does not exist
| Affects | Status | Importance | Assigned to | Milestone | ||
|---|---|---|---|---|---|---|
| GNU Mailman | Status tracked in 3.0 | |||||
| 3.0 |
Invalid
|
Undecided
|
Barry Warsaw | |||
Bug Description
The command "mailman info" crashes if the database path "url" points to a location that does not exist yet:
root@mailman:
Traceback (most recent call last):
File "./mailman", line 32, in <module>
mailman.
File "/root/
initialize(
File "/root/
initialize_
File "/root/
database.
File "/root/
self.
File "/root/
touch(url)
File "/root/
fd = os.open(path, os.O_WRONLY | os.O_NONBLOCK | os.O_CREAT, 0666)
OSError: [Errno 2] No such file or directory: '/opt/mailman/
| Changed in mailman: | |
| milestone: | none → 3.0.0a6 |
| Changed in mailman: | |
| assignee: | nobody → Barry Warsaw (barry) |
| status: | New → Incomplete |
| tags: |
added: mailman3 removed: 3.0 mailman |

Can you post your mailman.cfg file? 'bin/mailman info' will try to create the mailman.db file if it doesn't exist, but of course that could fail if say the process doesn't have permission to create the paths, e.g.
-----mailman. cfg---- -
[mailman]
layout: foo
[paths.foo]
var_dir: /foo/mailman
----------
% bin/mailman info bin.mailman. main() barry/projects/ mailman/ 3.0/src/ mailman/ bin/mailman. py", line 98, in main config_ file) barry/projects/ mailman/ 3.0/src/ mailman/ core/initialize .py", line 174, in initialize 1(config_ path) barry/projects/ mailman/ 3.0/src/ mailman/ core/initialize .py", line 117, in initialize_1 config. config. load(config_ path) barry/projects/ mailman/ 3.0/src/ mailman/ config/ config. py", line 106, in load _post_process( ) barry/projects/ mailman/ 3.0/src/ mailman/ config/ config. py", line 126, in _post_process .initialize( ) barry/projects/ mailman/ 3.0/src/ mailman/ queue/_ _init__ .py", line 94, in initialize switchboards[ name] = Switchboard(name, path) barry/projects/ mailman/ 3.0/src/ mailman/ queue/_ _init__ .py", line 119, in __init__ self.queue_ directory, 0770) barry/projects/ mailman/ 3.0/src/ mailman/ utilities/ filesystem. py", line 66, in makedirs makedirs( path, mode) python2. 6/os.py" , line 150, in makedirs python2. 6/os.py" , line 150, in makedirs python2. 6/os.py" , line 150, in makedirs python2. 6/os.py" , line 157, in makedirs
Traceback (most recent call last):
File "bin/mailman", line 31, in <module>
mailman.
File "/home/
initialize(
File "/home/
initialize_
File "/home/
mailman.
File "/home/
self.
File "/home/
Switchboard
File "/home/
config.
File "/home/
makedirs(
File "/home/
os.
File "/usr/lib/
makedirs(head, mode)
File "/usr/lib/
makedirs(head, mode)
File "/usr/lib/
makedirs(head, mode)
File "/usr/lib/
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/foo'