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