[Mailman-Developers] [Mailman-Users] MM3 Test "" Hangs

Barry Warsaw barry at list.org
Wed Feb 26 15:50:23 CET 2014


On Feb 26, 2014, at 02:45 PM, Stephen J. Turnbull wrote:

> > I have no idea what to do next,

This is clearly a bug, although I think it's relatively recent, so it might be
worth seeing if earlier revisions avoid the problem.  Yes, I can reproduce it.

The interesting thing is that the test is in rest/docs/membership.rst so these
are multiprocess related bugs.  Typically when this happens (and it will only
be with the default SQLite database, as observed by others), it's a bug in the
test, not necessarily a bug in the core.

Tests which involve multiple processes, as the REST tests do (i.e. the
foreground testing process and a background runner process) have to be careful
to release the database lock when they expect background processes to access
the database.  Releasing the lock means calling .commit() or .abort() at the
appropriate time.  The thing to keep in mind is that with Storm, even doing an
operation that results in a database query opens a transaction and thus
acquires the lock.

In the context of membership.rst, what this probably means is that somewhere
in the doctest there's a database query with a missing explicit .commit() or
.abort() before the background REST runner process executes.  Tracing through
the doctest to find out exactly where it hangs usually helps isolate where the
missing commit/abort should go.

Of course, it's possible that there's a missing commit/abort in the core, but
I rather doubt it, since that's pretty well tied into the REST runner's HTTP
transaction machinery, and other REST tests don't exhibit the hang.

Tom, if you're up for debugging it, that would be great.  If not, no worries.
The test suite hangs for me, so I'll find some time this weekend to take a
look.

-Barry


More information about the Mailman-Developers mailing list