Hi,
I'm trying to work out how to report a bug in Mailman 3.0
None seem to be listed at <https://bugs.launchpad.net/mailman>
The bug seems to be in the lmtp queue runner. If I try to create a new list while the queue runner is handling a connection, mailman.db gets permanently locked.
So, if I telnet to the lmtp server, and say:
220 quant.staff.uscs.susx.ac.uk Python LMTP queue runner 1.0
lhlo me
250 quant.staff.uscs.susx.ac.uk
mail from:<>
250 Ok
rcpt to:<foo@example.com>
then, I switch to another shell, and try to create a list with create_list:
quant:mailman-3.0.0a1 its$ staging/bin/create_list -l baz@example.com
-q -o wam221@sussex.ac.uk Traceback (most recent call last): File "staging/bin/create_list", line 8, in <module> load_entry_point('mailman==3.0.0a1', 'console_scripts', 'bin/create_list')() File "/Users/wam22/mailmantesting/test4/mailman-3.0.0a1/mailman/bin/create_list.py", line 110, in main config.db.commit() File "/Users/wam22/mailmantesting/test4/mailman-3.0.0a1/mailman/database/__init__.py", line 79, in commit self.store.commit() File "/Library/Python/2.5/site-packages/storm-0.12-py2.5.egg/storm/store.py", line 107, in commit self._connection.commit() File "/Library/Python/2.5/site-packages/storm-0.12-py2.5.egg/storm/databases/sqlite.py", line 125, in commit self.raw_execute("COMMIT", _end=True) File "/Library/Python/2.5/site-packages/storm-0.12-py2.5.egg/storm/databases/sqlite.py", line 153, in raw_execute return Connection.raw_execute(self, statement, params) File "/Library/Python/2.5/site-packages/storm-0.12-py2.5.egg/storm/database.py", line 278, in raw_execute raw_cursor.execute(statement) sqlite3.OperationalError: database is locked
And, it stays locked like that for eternity, or until I remove var/data/mailman.db-journal (whichever comes sooner ;)
The question is, why would the lmtp server need a write lock on the database?
Ian Eiloart IT Services, University of Sussex x3148
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Jul 8, 2008, at 10:52 AM, Ian Eiloart wrote:
I'm trying to work out how to report a bug in Mailman 3.0
None seem to be listed at <https://bugs.launchpad.net/mailman>
I've just set Launchpad up to accept bugs for Mailman. At some point
we will get the SourceForge bugs imported, but in the meantime, please
use the above url for bugs in 2.2 and 3.0.
Please continue to use the SourceForge bug tracker for all Mailman 2.1
bugs.
The bug seems to be in the lmtp queue runner. If I try to create a
new list while the queue runner is handling a connection, mailman.db
gets permanently locked.So, if I telnet to the lmtp server, and say:
220 quant.staff.uscs.susx.ac.uk Python LMTP queue runner 1.0 lhlo me 250 quant.staff.uscs.susx.ac.uk mail from:<> 250 Ok rcpt to:<foo@example.com>
then, I switch to another shell, and try to create a list with
create_list:quant:mailman-3.0.0a1 its$ staging/bin/create_list -l baz@example.com -q -o wam221@sussex.ac.uk Traceback (most recent call last): File "staging/bin/create_list", line 8, in <module> load_entry_point('mailman==3.0.0a1', 'console_scripts', 'bin/ create_list')() File "/Users/wam22/mailmantesting/test4/mailman-3.0.0a1/mailman/ bin/create_list.py", line 110, in main config.db.commit() File "/Users/wam22/mailmantesting/test4/mailman-3.0.0a1/mailman/ database/__init__.py", line 79, in commit self.store.commit() File "/Library/Python/2.5/site-packages/storm-0.12-py2.5.egg/ storm/store.py", line 107, in commit self._connection.commit() File "/Library/Python/2.5/site-packages/storm-0.12-py2.5.egg/ storm/databases/sqlite.py", line 125, in commit self.raw_execute("COMMIT", _end=True) File "/Library/Python/2.5/site-packages/storm-0.12-py2.5.egg/ storm/databases/sqlite.py", line 153, in raw_execute return
Connection.raw_execute(self, statement, params) File "/Library/Python/2.5/site-packages/storm-0.12-py2.5.egg/ storm/database.py", line 278, in raw_execute raw_cursor.execute(statement) sqlite3.OperationalError: database is lockedAnd, it stays locked like that for eternity, or until I remove var/ data/mailman.db-journal (whichever comes sooner ;)
The question is, why would the lmtp server need a write lock on the
database?
I'm betting the LMTPRunner needs a config.db.commit() right before the
successful return path in process_message().
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Darwin)
iEYEARECAAYFAkhz5i8ACgkQ2YZpQepbvXE04ACeOyg+z3Qoouf9lyfg0sVYzP7u odkAniqdTV9EkVoepPZvda4w10UM8eci =GFKI -----END PGP SIGNATURE-----
--On 8 July 2008 18:11:57 -0400 Barry Warsaw <barry@list.org> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Jul 8, 2008, at 10:52 AM, Ian Eiloart wrote:
I'm trying to work out how to report a bug in Mailman 3.0
None seem to be listed at <https://bugs.launchpad.net/mailman>
I've just set Launchpad up to accept bugs for Mailman. At some point we will get the SourceForge bugs imported, but in the meantime, please use the above url for bugs in 2.2 and 3.0.
Thanks. I've reported the bug there.
Please continue to use the SourceForge bug tracker for all Mailman 2.1 bugs.
The bug seems to be in the lmtp queue runner. If I try to create a new list while the queue runner is handling a connection, mailman.db gets permanently locked.
.....
I'm betting the LMTPRunner needs a config.db.commit() right before the successful return path in process_message().
Yes, perhaps. We'll probably have a go at resolving the bug, then!
Ian Eiloart IT Services, University of Sussex x3148
participants (2)
-
Barry Warsaw
-
Ian Eiloart