[Python-Dev] bsddb3 test hang

Tim Peters tim.one@comcast.net
Mon, 21 Jul 2003 22:15:43 -0400


BTW, all the bsddb3 tests people have reported gross problems with (hangs
and AssertionErrors) recently come from a group of 8 tests that can be run
by themselves, via your platform equivalent of

    python ../Lib/bsddb/test/test_thread.py

Add

    -v

and unittest will show you the names of the 8 tests as they're running.  Add

    verbose

and the tests themselves will display a lot about what they're doing.

Since there seem to be timing-related bugs here, trying this on a lot of
platforms may help us gather better clues.  For example, I was able just
once to provoke "a hang" on Win2K when using "-v verbose", by using a debug
build of Python, which revealed that it was stuck in an infinite loop in
DeadlockWrap, not really hung.  Switching options, Python builds, and
background loads may all help provoke problems.

I never saw AssertionErrors on Win2K no matter what I did.  Fred and Barry
did on Linux, though, in the same place Skip reported them.  Of (IMO) vital
importance is that the assertion details were identical too:  in all, the
very first (key, value) pair added by writerThread #2 vanished by the time
the thread tried to read back all the pairs it wrote.  Other AssertionErrors
also appeared to be at, or very near, the first (key, value) pair written by
a thread.

There's no reason to believe these failures are new, so I wouldn't hold the
release for them.  But especially on Windows, Berkeley has a rotten
reputation (thanks to using the plain broken 1.85 for so many years), and
people using bsddb3 in the spambayes Outlook addin are reporting more than
their share of seemingly database-related bugs too.  The evidence suggests
there are still potentially catastrophic bugs in bsddb3!

OTOH, there are no known bugs in ZODB or ZEO.  This is because we stopped
running their test suites in a loop <wink>.