[Mailman-Developers] bug report

Barry Warsaw barry at list.org
Wed Jul 9 00:11:57 CEST 2008


-----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 at 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 at example.com 
>  -q -o wam221 at 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?

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-----


More information about the Mailman-Developers mailing list