Philip Martin wrote on Wed, Jul 31, 2013 at 15:44:47 +0100:
> Daniel Shahaf <danie...@elego.de> writes:
> 
> > Jan (CC'd) reported an odd problem on IRC today: he would get
> >
> >     Corrupt representation '537009 564 9641 0 
> > 61d9000a8ccca3379173bbbbe0bb15bc'  [500, #160004]
> >     Malformed representation header at 
> > /swdev/ssd/CONVERSION/SVN/test/db/revs/537/537009:593
> >
> > *sometimes* when he ran 'update --parents' that pulled in
> > a not-yet-in-the-wc file.  The errors went away after he restarted
> > httpd.  The error log had an EPERM on rev-prop-atomics.mutex which may
> > or may not be related.
> >
> > Now, that error is actually very odd:
> >
> > - "61d9000a8ccca3379173bbbbe0bb15bc" doesn't occur anywhere in the 
> > filesystem
> >   (rep-cache.db and db/revs/**/*)
> 
> Looking at the repository path ('CONVERSION' and 'test') and the fact
> that the error vanished when httpd was restarted is it possible this
> involved a temporary repository being replaced by another repository at
> the same path with the same UUID.  If that happens I think apache may
> have been using the in-memory cache associated with the old repository
> when accessing the new repository.

You're right about the "same path and uuid" point (see
svn_fs_fs__initialize_caches()).

That said, I tried to reproduce it by:

% ./davautocheck.sh --no-tests
% ./basic_tests.py --url=http://localhost:3691 3
% cd svn-test-work/repositories/
% $svnadmin hotcopy basic_tests-3 c
% $s import -q -mm =(echo before) $u/basic_tests-3/foo 
% $s cat $u/basic_tests-3/foo
before
% mv basic_tests-3 before
% mv c basic_tests-3
% $s import -q -mm =(echo after) $u/basic_tests-3/foo  
% $s cat $u/basic_tests-3/foo
after

and I got the right answer.  Since I had "SVNCacheFullTexts On" in the
config, I had expected the last 'cat' to return "before\n".  Why didn't
it return "before\n"?

Reply via email to