[Python-Dev] Berkeley test errors in 2.3.4c1

Gregory P. Smith greg at electricrain.com
Sun May 16 15:22:56 EDT 2004


On Sun, May 16, 2004 at 01:47:03AM -0400, Tim Peters wrote:
> [Gregory P. Smith, on test_bsddb3 Win98SE failures in test01_basics]
> > Yeah I'd chalk that one up to Win98.
> 
> Me too <wink>.
> 
> Back over on WinXP and *current* (HEAD) CVS, there's one failure, which I
> believe is real:
> 
> ERROR: test04_n_flag (bsddb.test.test_compat.CompatibilityTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "C:\Code\python\lib\bsddb\test\test_compat.py", line 86, in
> test04_n_flag
>     f = hashopen(self.filename, 'n')
>   File "C:\Code\python\lib\bsddb\__init__.py", line 293, in hashopen
>     d.open(file, db.DB_HASH, flags, mode)
> DBInvalidArgError: (22, 'Invalid argument -- DB_TRUNCATE illegal with
> locking specified')
> 
> 
> I suspect Sleepycat screwed us there, changing the rules in midstream.
> Someone on c.l.py appeared to track down the same thing here, but in an app
> instead of in our test suite:
> 
>     http://mail.python.org/pipermail/python-list/2004-May/220168.html
> 
>     The change log of Berkeley DB 4.2.52 says "9. Fix a bug to now
>     disallow DB_TRUNCATE on opens in locking environments, since we
>     cannot prevent race conditions ..."

heh.  nice.  yeah i saw that bugreport for pybsddb but hadn't looked
into it yet.  Binary packages of python 2.3.4 should be compiled using
BerkeleyDB 4.1 not 4.2 (as all previous python 2.3s shipped with 4.1).
Anyone who compiles it on their own against 4.2 will have to live with
this error in the old bsddb compatibility interface.

Taking a closer look at this to see if there is a workaround is on my
TODO list.

-g



More information about the Python-Dev mailing list