[Python-bugs-list] [ python-Bugs-775414 ] bsddb3 hash craps out with threads

SourceForge.net noreply@sourceforge.net
Mon, 21 Jul 2003 19:29:12 -0700


Bugs item #775414, was opened at 2003-07-21 22:29
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=775414&group_id=5470

Category: Extension Modules
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Tim Peters (tim_one)
Assigned to: Nobody/Anonymous (nobody)
Summary: bsddb3 hash craps out with threads

Initial Comment:
Richie Hindle presented something like the attached 
(hammer.py) on the spambayes-dev mailing list.  On 
Win98SE and Win2K w/ Python 2.3c1 I usually see this 
death pretty quickly:

Traceback (most recent call last):
  File "hammer.py", line 36, in ?
    main()
  File "hammer.py", line 33, in main
    hammer(db)
  File "hammer.py", line 15, in hammer
    x = db[str(int(random.random() * 100000))]
  File "C:\CODE\PYTHON\lib\bsddb\__init__.py", line 86, 
in __getitem__
    return self.db[key]
bsddb._db.DBRunRecoveryError: (-30982,
     'DB_RUNRECOVERY: Fatal error, run database 
recovery -- fatal region error detected; run recovery')

Richie also reported "illegal operation" crashes on 
Win98SE.

It's not clear whether a bsddb3 hash *can* be used 
with threads like this.  If it can't, there's a doc bug.  If it 
should be able to, there's a more serious problem.  Note 
that it looks like hashopen() always merges DB_THREAD 
into the flags, so the absence of specifying DB_THREAD 
probably isn't the problem.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=775414&group_id=5470