You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Stefan <lu...@posteo.de> on 2016/11/01 23:14:09 UTC

Re: Subversion Exception - cleanup

On 10/28/2016 16:12, Dan Atkinson wrote:
> Hi Johan,
>
> The repository is on a local drive and I have several other
> repositories on the same drive as well that were unaffected.
>
> I do some tasks (update/tag) on the repository via the command line. I
> just checked and the version of SVN used on the command line is
> 1.8.15.14429.
>
> In any case, when I restarted my machine this morning, my repo was no
> longer corrupt.
>
> I don't know what caused it, or why it was fine again this morning,
> but this is no longer an issue for me.
>
> Kind regards, Dan
>
> On 28 October 2016 at 14:43, Johan Corveleyn <jcorvel@gmail.com
> <ma...@gmail.com>> wrote:
>
>     [ Added Dan Atkinson to cc, because he asked us to :-). Dan, see
>     below. ]
>
>     On Fri, Oct 28, 2016 at 12:51 AM, Stefan <luke1410@posteo.de
>     <ma...@posteo.de>> wrote:
>     > On 10/27/2016 16:36, Dan Atkinson wrote:
>     >> Hi there,
>     >>
>     >> Firstly, I am not subscribed to this mailing list so would
>     appreciate
>     >> being explicitly CC'd in any responses. :-)
>     >>
>     >> When I attempted to update my repository, I received the
>     following update:
>     >>
>     >> Error: The working copy database at 'D:\Work\SVN\trunk' is corrupt.
>     >> Error: Try a 'Cleanup'. If that doesn't work you need to do a fresh
>     >> checkout.
>     >>
>     >> When I attempted a cleanup, I received the following message:
>     >>
>     >> ---------------------------
>     >> Subversion Exception!
>     >> ---------------------------
>     >> Subversion encountered a serious problem.
>     >> Please take the time to report this on the Subversion mailing list
>     >> with as much information as possible about what
>     >> you were trying to do.
>     >> But please first search the mailing list archives for the error
>     message
>     >> to avoid reporting the same problem repeatedly.
>     >> You can find the mailing list archives at
>     >> http://subversion.apache.org/mailing-lists.html
>     <http://subversion.apache.org/mailing-lists.html>
>     >>
>     >> Subversion reported the following
>     >> (you can copy the content of this dialog
>     >> to the clipboard using Ctrl-C):
>     >>
>     >> In file
>     >> 
>     'D:\Development\SVN\Releases\TortoiseSVN-1.9.4\ext\subversion\subversion\libsvn_client\cleanup.c'
>     >>  line 227: assertion failed (svn_dirent_is_absolute(dir_abspath))
>     >> ---------------------------
>     >> OK
>     >> ---------------------------
>     >>
>     >>
>     >> ---------------------------
>     >> TortoiseSVN
>     >> ---------------------------
>     >> Cleanup failed to process the following paths:
>     >> D:\Work\SVN\trunk
>     >> The working copy database at 'D:\Work\SVN\trunk' is corrupt.
>     >> Try a 'Cleanup'. If that doesn't work you need to do a fresh
>     checkout.
>     >> ---------------------------
>     >> OK
>     >> ---------------------------
>     >>
>     >> My version information is:
>     >> TortoiseSVN 1.9.4, Build 27285 - 64 Bit , 2016/04/24 13:59:58
>     >> Subversion 1.9.4, -release
>     >> apr 1.5.2
>     >> apr-util 1.5.4
>     >> serf 1.3.8
>     >> OpenSSL 1.0.2g  1 Mar 2016
>     >> zlib 1.2.8
>     >> SQLite 3.12.1
>     >>
>     >> I am running Windows 10 v1511 (OS Build 10586.601).
>     >>
>     >> Our SVN server (VisualSVN Server) is running SVN 1.7.6 (r1370777)
>     >>
>     >> I did try to search the archives for similar problems but
>     received a
>     >> 403 from Google when I attempted it.
>     >>
>     >> If you require any further information, please let me know
>     directly.
>     >>
>     >> Kind regards, Dan Atkinson
>     >
>     > In case of a WC DB corruption I'd say your best bet is to do a fresh
>     > checkout and copy over locally modified files from the old
>     working copy
>     > to the new one.
>     >
>     > You can also try to debug/troubleshoot the database corruption
>     and try
>     > to repair the database (sqlite3 -> pragma integrity_check) but
>     unless
>     > you have a reason to try to save your working copy, there's
>     little point
>     > to do so, IMO.
>     >
>     > Although I doubt it's related to the corruption you ran into: Your
>     > VisualSVN Server is quite outdated. I assume you are running
>     Visual SVN
>     > Server 2.5.6. I'd certainly suggest you to upgrade your server
>     to 2.5.26
>     > at least (which will bring SVN up to 1.7.21). The upgrade should
>     be as
>     > simple as clicking through the installer.
>     >
>     > If possible, you'd even upgrade to a later one which will bring
>     SVN up
>     > to 1.8 or 1.9 (currently VisualSVN Server 3.5.6 is the
>     recommended version).
>
>     It would of course be interesting to know how the working copy could
>     have ended up being corrupt. Any idea how it got corrupted, Dan?
>
I just recalled that we had cases of WC db corruption in our office too
on two machines, when they ran into a bluescreen. It was suggested that
this is due to an SQLite bug which was fixed in SQLite 3.13:
"Fix a locking race condition in Windows that can occur when two or more
processes attempt to recover the same hot journal
<https://www.sqlite.org/lockingv3.html#hotjrnl> at the same time." [1]

TSVN 1.9.4 is built against SQLite 3.12.1. The current stable nightly
already raised SQLite to >= 3.13 I believe and hence the next TSVN
version should contain the fix.
Hence, if that merely same bug is also the cause for the problem the OP
had, it should be fixed with the next version.

Regards,
Stefan

[1] https://www.sqlite.org/changes.html


Re: Subversion Exception - cleanup

Posted by Dan Atkinson <da...@dan-atkinson.com>.
Hi Stefan,

Thanks for this.

As I mentioned, the repo in question is no longer corrupt without any
intervention by me to fix, so this isn't a problem. In any case, I'm glad
to hear that bumping up the SQLite version should possibly resolve the
problem for others in future.

Kind regards, Dan

On 1 November 2016 at 23:14, Stefan <lu...@posteo.de> wrote:

> On 10/28/2016 16:12, Dan Atkinson wrote:
>
> Hi Johan,
>
> The repository is on a local drive and I have several other repositories
> on the same drive as well that were unaffected.
>
> I do some tasks (update/tag) on the repository via the command line. I
> just checked and the version of SVN used on the command line is
> 1.8.15.14429.
>
> In any case, when I restarted my machine this morning, my repo was no
> longer corrupt.
>
> I don't know what caused it, or why it was fine again this morning, but
> this is no longer an issue for me.
>
> Kind regards, Dan
>
> On 28 October 2016 at 14:43, Johan Corveleyn <jc...@gmail.com> wrote:
>
>> [ Added Dan Atkinson to cc, because he asked us to :-). Dan, see below. ]
>>
>> On Fri, Oct 28, 2016 at 12:51 AM, Stefan <lu...@posteo.de> wrote:
>> > On 10/27/2016 16:36, Dan Atkinson wrote:
>> >> Hi there,
>> >>
>> >> Firstly, I am not subscribed to this mailing list so would appreciate
>> >> being explicitly CC'd in any responses. :-)
>> >>
>> >> When I attempted to update my repository, I received the following
>> update:
>> >>
>> >> Error: The working copy database at 'D:\Work\SVN\trunk' is corrupt.
>> >> Error: Try a 'Cleanup'. If that doesn't work you need to do a fresh
>> >> checkout.
>> >>
>> >> When I attempted a cleanup, I received the following message:
>> >>
>> >> ---------------------------
>> >> Subversion Exception!
>> >> ---------------------------
>> >> Subversion encountered a serious problem.
>> >> Please take the time to report this on the Subversion mailing list
>> >> with as much information as possible about what
>> >> you were trying to do.
>> >> But please first search the mailing list archives for the error message
>> >> to avoid reporting the same problem repeatedly.
>> >> You can find the mailing list archives at
>> >> http://subversion.apache.org/mailing-lists.html
>> >>
>> >> Subversion reported the following
>> >> (you can copy the content of this dialog
>> >> to the clipboard using Ctrl-C):
>> >>
>> >> In file
>> >>  'D:\Development\SVN\Releases\TortoiseSVN-1.9.4\ext\subversio
>> n\subversion\libsvn_client\cleanup.c'
>> >>  line 227: assertion failed (svn_dirent_is_absolute(dir_abspath))
>> >> ---------------------------
>> >> OK
>> >> ---------------------------
>> >>
>> >>
>> >> ---------------------------
>> >> TortoiseSVN
>> >> ---------------------------
>> >> Cleanup failed to process the following paths:
>> >> D:\Work\SVN\trunk
>> >> The working copy database at 'D:\Work\SVN\trunk' is corrupt.
>> >> Try a 'Cleanup'. If that doesn't work you need to do a fresh checkout.
>> >> ---------------------------
>> >> OK
>> >> ---------------------------
>> >>
>> >> My version information is:
>> >> TortoiseSVN 1.9.4, Build 27285 - 64 Bit , 2016/04/24 13:59:58
>> >> Subversion 1.9.4, -release
>> >> apr 1.5.2
>> >> apr-util 1.5.4
>> >> serf 1.3.8
>> >> OpenSSL 1.0.2g  1 Mar 2016
>> >> zlib 1.2.8
>> >> SQLite 3.12.1
>> >>
>> >> I am running Windows 10 v1511 (OS Build 10586.601).
>> >>
>> >> Our SVN server (VisualSVN Server) is running SVN 1.7.6 (r1370777)
>> >>
>> >> I did try to search the archives for similar problems but received a
>> >> 403 from Google when I attempted it.
>> >>
>> >> If you require any further information, please let me know directly.
>> >>
>> >> Kind regards, Dan Atkinson
>> >
>> > In case of a WC DB corruption I'd say your best bet is to do a fresh
>> > checkout and copy over locally modified files from the old working copy
>> > to the new one.
>> >
>> > You can also try to debug/troubleshoot the database corruption and try
>> > to repair the database (sqlite3 -> pragma integrity_check) but unless
>> > you have a reason to try to save your working copy, there's little point
>> > to do so, IMO.
>> >
>> > Although I doubt it's related to the corruption you ran into: Your
>> > VisualSVN Server is quite outdated. I assume you are running Visual SVN
>> > Server 2.5.6. I'd certainly suggest you to upgrade your server to 2.5.26
>> > at least (which will bring SVN up to 1.7.21). The upgrade should be as
>> > simple as clicking through the installer.
>> >
>> > If possible, you'd even upgrade to a later one which will bring SVN up
>> > to 1.8 or 1.9 (currently VisualSVN Server 3.5.6 is the recommended
>> version).
>>
>> It would of course be interesting to know how the working copy could
>> have ended up being corrupt. Any idea how it got corrupted, Dan?
>>
> I just recalled that we had cases of WC db corruption in our office too on
> two machines, when they ran into a bluescreen. It was suggested that this
> is due to an SQLite bug which was fixed in SQLite 3.13:
> "Fix a locking race condition in Windows that can occur when two or more
> processes attempt to recover the same hot journal
> <https://www.sqlite.org/lockingv3.html#hotjrnl> at the same time." [1]
>
> TSVN 1.9.4 is built against SQLite 3.12.1. The current stable nightly
> already raised SQLite to >= 3.13 I believe and hence the next TSVN version
> should contain the fix.
> Hence, if that merely same bug is also the cause for the problem the OP
> had, it should be fixed with the next version.
>
> Regards,
> Stefan
>
> [1] https://www.sqlite.org/changes.html
>
>