--- Scott Moynes <smoynes@nexus.carleton.ca> wrote:
> We recently had database corruption that was not recoverable
> without recreating the repository and loading from a dump. We
> noticed svn would hang trying to open the database, and looking
> through debian's bug database we found this:
>
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=185033
>
> It is too early to know if this was in fact the cause of our
> corruption or not, though.
To summarize:
http://ftp.debian.org/debian/pool/main/d/db4.1/db4.1_4.1.25-4.diff.gz
contains only one db source file diff (which is attached). This diff
is a combination of patch 1 from Sleepycat
(http://www.sleepycat.com/update/4.1.25/patch.4.1.25.html) plus
another bit (apparently from Sleepycat directly to the debian people)
that fixes the abort issue. I don't know why its not also listed on
Sleepycat's patch page.
Michael
--- db4.1-4.1.25.orig/fileops/fop_util.c
+++ db4.1-4.1.25/fileops/fop_util.c
@@ -40,7 +40,7 @@
u_int32_t __lockval; \
\
if (LOCKING_ON((ENV))) { \
- __lockval = 0; \
+ __lockval = 1; \
__dbt.data = &__lockval; \
__dbt.size = sizeof(__lockval); \
if ((ret = (ENV)->lock_get((ENV), (ID), \
@@ -94,7 +94,8 @@
DB_LOCK_ILOCK lock_desc;
int ret;
- if (!LOCKING_ON(dbenv) || F_ISSET(dbp, DB_AM_COMPENSATE))
+ if (!LOCKING_ON(dbenv) ||
+ F_ISSET(dbp, DB_AM_COMPENSATE | DB_AM_RECOVER))
return (0);
/*
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jun 12 20:47:07 2003