You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Timothee Besset <tt...@idsoftware.com> on 2003/06/12 08:28:05 UTC

corrupted repository (was Re: the 0.24 release?)

I dunno if that's related, but I've seen similar things happen to my
repository after 0.23 upgrade. It was because of db version mismatch. I
used to have a 'default' build of httpd (which was probably using db 4
then), and svn 0.22 built against db 4.1

When I switched to 0.23 with the same setup, things started to go bad. I
was not aware of the db 4 in httpd / db 4.1 in mod_dav_svn till then. I
rebuilt everything making sure httpd and svn where using db 4.1, and the
problems went away.

I am not sure this is related really. Just a hint. Anyway what I'm sure
of, is that svn doesn't check which version of db was used for apache, and
that can result in everything building fine, but heterogeneous db
versions.

TTimo

On 11 Jun 2003 22:27:01 -0500
cmpilato@collab.net wrote:

> cmpilato@collab.net writes:
> 
> > cmpilato@collab.net writes:
> > 
> > > "Jamin W. Collins" <jc...@asgardsrealm.net> writes:
> > > 
> > > > > How big is the repos?  Can I snatch it from a URL somewhere and take a
> > > > > peek?
> > > > 
> > > > It's almost 5 meg after tarring and gzipping.  I've put it up on my
> > > > personal d/l site:
> > > >    
> > > >    http://asgardsrealm.net/~jcollins/coding-horked-20030523.tar.gz
> > > 
> > > Snatching now...
> > 
> > Oh yeah, you're `changes' table is *way* horked.  Geez, man.
> 
> I'll be more specific.  It appears that your `changes' table was
> somehow switched to a 'recno'-type database, whereas it is supposed to
> be a 'btree'.  I don't know if this was the result of something gone
> horribly awry during the operation of Subversion, or if this was the
> result of some attempted recovery steps.  Regardless, that file was
> junk.
> 
> Fortunately, nothing in Subversion used that table except 'svn log',
> at least until I wrote the new svn_repos_replay().  So I replaced your
> `changes' table with one from a brand new repos, backdated my
> Subversion working copy until just before I made 'svnadmin dump' use
> the changes table, built, dumped your repos, and now I have a dumpfile
> reading for loading.  It contains 26 revisions, which I trust sounds
> like the last known good state of your repository.
> 
> I'll drop you a private mail with the dumpfile's location.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
> 
> 


-- 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: corrupted repository (was Re: the 0.24 release?)

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
--On Thursday, June 12, 2003 9:15 AM -0700 Michael Price 
<mi...@computer.org> wrote:

> I've often wondered how the repo corruption was happening. I've used
> db 4.1 exclusively since the day it was released on multiple
> platforms using multiple ra protocols on each repo both at home and
> at work and haven't had a single corruption problem.

Just to chime in that I haven't had a single problem with BDB 4.1.25 on either 
of my platforms (Solaris and Mac OS X).  -- justin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: corrupted repository (was Re: the 0.24 release?)

Posted by Michael Price <mi...@computer.org>.
--- Timothee Besset <tt...@idsoftware.com> wrote:
> I dunno if that's related, but I've seen similar things happen to
> my repository after 0.23 upgrade. It was because of db version
> mismatch. I used to have a 'default' build of httpd (which was
> probably using db 4 then), and svn 0.22 built against db 4.1

I've often wondered how the repo corruption was happening. I've used
db 4.1 exclusively since the day it was released on multiple
platforms using multiple ra protocols on each repo both at home and
at work and haven't had a single corruption problem.

Whenever I installed db 4.1 on a platform I first went and removed
all old db libraries and files. Any programs requiring db were then
recompiled.

Just a data point for people to consider.

Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: corrupted repository (was Re: the 0.24 release?)

Posted by Colin Watson <cj...@flatline.org.uk>.
On Thu, Jun 12, 2003 at 05:24:58PM -0600, Jamin W. Collins wrote:
> On Fri, Jun 13, 2003 at 01:21:02AM +0200, lodewijk@reddwarf.xs4all.nl wrote:
> > Jamin W. Collins wrote:
> >   > The system does have libdb4.0 installed on it though, and there is a
> >   > somewhat round-a-bout dependancy from apache2-mpm-worker to libdb4.0 (so
> >   > I may be wrong):
> >   > 
> >   >    apache2-mpm-worker
> >   >    - apache2-common
> >   >     - openssl
> >   >      - perl
> >   >       - libdb4.0
> > 
> > but it doesn't seem to actually be linked in:
> > 
> > # ldd /usr/sbin/apache2 | grep libdb
> >       libdb-4.1.so => /usr/lib/libdb-4.1.so (0x40153000)
> > # ldd /usr/lib/apache2/modules/* | grep libdb
> >       libdb-4.1.so => /usr/lib/libdb-4.1.so (0x400a3000)
> 
> Right, but I'm not familiar with the internals at all.  If at some point
> Perl is invoked on the server side from Apache2, there's the possibility
> that it's using the wrong BDB version, right?

perl depends on libdb4.0 due to the DB_File module. I'm fairly confident
that won't affect openssl.

Cheers,

-- 
Colin Watson                                  [cjwatson@flatline.org.uk]

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: corrupted repository (was Re: the 0.24 release?)

Posted by "Jamin W. Collins" <jc...@asgardsrealm.net>.
On Fri, Jun 13, 2003 at 01:21:02AM +0200, lodewijk@reddwarf.xs4all.nl wrote:
> Jamin W. Collins wrote:
> 
>   > I don't believe this was the case with my corruption.  I've been using
>   > the Debian packages on all my systems.
> 
> same here. 'changes' table flipped to recno, on a Debian machine.
> 
>   > The system does have libdb4.0 installed on it though, and there is a
>   > somewhat round-a-bout dependancy from apache2-mpm-worker to libdb4.0 (so
>   > I may be wrong):
>   > 
>   >    apache2-mpm-worker
>   >    - apache2-common
>   >     - openssl
>   >      - perl
>   >       - libdb4.0
> 
> but it doesn't seem to actually be linked in:
> 
> # ldd /usr/sbin/apache2 | grep libdb
>       libdb-4.1.so => /usr/lib/libdb-4.1.so (0x40153000)
> # ldd /usr/lib/apache2/modules/* | grep libdb
>       libdb-4.1.so => /usr/lib/libdb-4.1.so (0x400a3000)

Right, but I'm not familiar with the internals at all.  If at some point
Perl is invoked on the server side from Apache2, there's the possibility
that it's using the wrong BDB version, right?

-- 
Jamin W. Collins

Remember, root always has a loaded gun.  Don't run around with it unless
you absolutely need it. -- Vineet Kumar

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: corrupted repository (was Re: the 0.24 release?)

Posted by lo...@reddwarf.xs4all.nl.
Jamin W. Collins wrote:

  > I don't believe this was the case with my corruption.  I've been using
  > the Debian packages on all my systems.

same here. 'changes' table flipped to recno, on a Debian machine.

  > The system does have libdb4.0 installed on it though, and there is a
  > somewhat round-a-bout dependancy from apache2-mpm-worker to libdb4.0 (so
  > I may be wrong):
  > 
  >    apache2-mpm-worker
  >    - apache2-common
  >     - openssl
  >      - perl
  >       - libdb4.0

but it doesn't seem to actually be linked in:

# ldd /usr/sbin/apache2 | grep libdb
      libdb-4.1.so => /usr/lib/libdb-4.1.so (0x40153000)
# ldd /usr/lib/apache2/modules/* | grep libdb
      libdb-4.1.so => /usr/lib/libdb-4.1.so (0x400a3000)

Lodewijk

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: corrupted repository (was Re: the 0.24 release?)

Posted by "Jamin W. Collins" <jc...@asgardsrealm.net>.
On Thu, Jun 12, 2003 at 10:28:05AM +0200, Timothee Besset wrote:
> I dunno if that's related, but I've seen similar things happen to my
> repository after 0.23 upgrade. It was because of db version mismatch. I
> used to have a 'default' build of httpd (which was probably using db 4
> then), and svn 0.22 built against db 4.1
> 
> When I switched to 0.23 with the same setup, things started to go bad. I
> was not aware of the db 4 in httpd / db 4.1 in mod_dav_svn till then. I
> rebuilt everything making sure httpd and svn where using db 4.1, and the
> problems went away.

I don't believe this was the case with my corruption.  I've been using
the Debian packages on all my systems.  Remote access to the
repositories (the only way they are accessed) is via mod_dav_svn and
Apache2.  The apache version install installed on the server is Debian's
apache2-mpm-worker v2.0.46-2.  While I haven't specifically checked the
linking of the binary files, the Depends for the package are:

   libapr0 (>= 2.0.46), libc6 (>= 2.3.1-1), libdb4.1, libexpat1 (>=
   1.95.6), libgdbmg1, libssl0.9.7, zlib1g (>= 1:1.1.4), apache2-common
   (= 2.0.46-2)
   
As you can see, it's dependant on libdb4.1 (Debian's BDB v4.1 package).

(little more investigation)

The system does have libdb4.0 installed on it though, and there is a
somewhat round-a-bout dependancy from apache2-mpm-worker to libdb4.0 (so
I may be wrong):

   apache2-mpm-worker
   - apache2-common
    - openssl
     - perl
      - libdb4.0

So, is this the root of the problem?

-- 
Jamin W. Collins

This is the typical unix way of doing things: you string together lots
of very specific tools to accomplish larger tasks. -- Vineet Kumar

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org