bsddb crashes on windows

Tim Peters tim.one at comcast.net
Thu Mar 6 14:00:46 EST 2003


[Vijay Rao]
> I am using bssdb ( btree database ) from python 2.2 on windows. It works
> fine except that it crashes when it becomes large ( more than
> 20000 keys of  fixed length 32 with large values (> 255)  ). The error
> message displayed is like:
>
> The instruction at 0x77fcb8f4 referenced memory at 0x00080105.
> The memory could not be "written".
>
> The crash happens during new key insertion or during iterating
> through the database.  If the value is a small string then the crash is
> not so frequent.

You can read about other bugs by doing a google search on

    Sleepycat 1.85

and clicking on the "Cached" link on the top hit ("Historic DB Releases").
Sleepycat redesigned their site and I don't know where (or whether) this
page exists now.

> I also tried using the hash db earlier but it has a problem that
> it doubles in size every 10000 keys or so and becomes quite unmanageably
> large very soon.
>
> Is there any workaround to this problem

Probably not before Python 2.3.  Before 2.3, Windows Python shipped with a
Windows port of 1.85, and that ancient release had lots of bugs.

2.3 Windows Python ships with Sleepycat's 4.1.25, as fresh as it gets.

> and what other database should I use if this is not solvable. I need a
> database hash that can support at least a million keys (of fixed size 32)
> and values that can be upto 1000 character strings.

You could install a recent Sleepycat release yourself, and use it with
Python via the pybsddb project:

   http://pybsddb.sourceforge.net/

In effect, that project is getting folded into the Python core for 2.3.

Maybe someone else has a better database to recommend.






More information about the Python-list mailing list