-----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:<[EMAIL PROTECTED]>

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 [EMAIL PROTECTED] -q -o [EMAIL PROTECTED]
  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?

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-----
_______________________________________________
Mailman-Developers mailing list
[email protected]
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9

Reply via email to