On Wed, Oct 31, 2012 at 2:54 PM, Philip Martin
<philip.mar...@wandisco.com>wrote:

> Philip Martin <philip.mar...@wandisco.com> writes:
>
> > Stefan Fuhrmann <stefan.fuhrm...@wandisco.com> writes:
> >
> >> Excellent analysis, Philip! With r1404112, we use "plain"
> >> APR mmap code with almost no coding overhead.
> >> The only downside is that we now have a temporary
> >> file sitting in the db folder.
> >
> > Error handling needs attention:
> >
> > $ svnadmin create repo
> > $ svnadmin dump repo > /dev/null
> > $ chmod -rw repo/db/rev-prop-atomicsShm
> > $ svnadmin dump repo > /dev/null
> > Segmentation fault
>
> We are mmaping a 64k file, that's bigger than a disk block on lots of
> filesystems so updates are not atomic.  Do we have to consider
> corruption:
>
> $ svnadmin create repo
> $ dd if=/dev/urandom of=repo/db/rev-prop-atomicsShm bs=64k count=1
> $ svnadmin verify repo
> Segmentation fault
> $ svnadmin recover repo
> Repository lock acquired.
> Please wait; recovering the repository may take some time...
>
> Recovery completed.
> The latest repos revision is 0.
> $ svnadmin verify repo
> Segmentation fault
>
> Perhaps recover should delete the file?
>

Done. Also, random data should no longer result in segfaults.

-- Stefan^2.

-- 
Certified & Supported Apache Subversion Downloads:
*

http://www.wandisco.com/subversion/download
*

Reply via email to