You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Christoph Hannebauer <Ch...@glueckkanja.com> on 2018/08/23 11:27:59 UTC

Error report: wc_db.c line 1648: assertion failed (SVN_IS_VALID_REVNUM(changed_rev))

Hi,

 

I have not subscribed to the users mailing list, so please CC me in this
thread.

 

My SVN crashed with this error message:

'D:\Development\SVN\Releases\TortoiseSVN-1.10.1\ext\subversion\subversion\li
bsvn_wc\wc_db.c'

line 1648: assertion failed (SVN_IS_VALID_REVNUM(changed_rev))

 

What I did before the crash, was execute the following command:

svn checkout
https://github.com/Microsoft/Windows-classic-samples/trunk/Samples/Win7Sampl
es/security/certificateservices/exit/c++/WindowsServer2008R2

 

I didn't check whether other machines also show this behavior, but I did
check that TortoiseSVN 1.9.7 is also affected.

 

 

Best,

 

Christoph


Re: Error report: wc_db.c line 1648: assertion failed (SVN_IS_VALID_REVNUM(changed_rev))

Posted by Johan Corveleyn <jc...@gmail.com>.
On Thu, Aug 23, 2018 at 8:53 PM Nathan Hartman <ha...@gmail.com> wrote:
> On Thu, Aug 23, 2018 at 9:46 AM Christoph Hannebauer <Ch...@glueckkanja.com> wrote:
>> I have not subscribed to the users mailing list, so please CC me in this thread.
>>
>> My SVN crashed with this error message:
>> 'D:\Development\SVN\Releases\TortoiseSVN-1.10.1\ext\subversion\subversion\libsvn_wc\wc_db.c'
>> line 1648: assertion failed (SVN_IS_VALID_REVNUM(changed_rev))
>>
>> What I did before the crash, was execute the following command:
>> svn checkout https://github.com/Microsoft/Windows-classic-samples/trunk/Samples/Win7Samples/security/certificateservices/exit/c++/WindowsServer2008R2
>>
>> I didn’t check whether other machines also show this behavior, but I did check that TortoiseSVN 1.9.7 is also affected.
>
> Interesting. There is another thread about an assertion failure, also in a call to SVN_IS_VALID_REVNUM(), but in a different file. Could these be related?

No, it seems not. I believe this is a bug in GitHub's emulation of the
subversion protocol.

First, when I try to checkout a parent directory higher up, it works fine:
    svn checkout
https://github.com/Microsoft/Windows-classic-samples/trunk/Samples/Win7Samples/security/certificateservices/exit

As soon as you add the "c++" to the checkout path, it crashes:
[[[
svn checkout https://github.com/Microsoft/Windows-classic-samples/trunk/Samples/Win7Samples/security/certificateservices/exit/c++
svn: E235000: In file
'D:\Development\SVN\Releases\TortoiseSVN-1.10.1\ext\subversion\subversion\libsvn_wc\wc_db.c'
line 1648: assertion failed (SVN_IS_VALID_REVNUM(changed_rev))
]]]

URL-encoding the '+' signs doesn't help by the way:
[[[
svn checkout https://github.com/Microsoft/Windows-classic-samples/trunk/Samples/Win7Samples/security/certificateservices/exit/c%2B%2B/
svn: E235000: In file
'D:\Development\SVN\Releases\TortoiseSVN-1.10.1\ext\subversion\subversion\libsvn_wc\wc_db.c'
line 1648: assertion failed (SVN_IS_VALID_REVNUM(changed_rev))
]]]


But if I try the same with a regular SVN repository, there is no problem:
[[[
C:\Temp\svntest>svnadmin create repos

C:\Temp\svntest>svn mkdir -mm --parents
"file:///C:/Temp/svntest/repos/trunk/c++/WindowsServer2008R2"
Committing transaction...
Committed revision 1.

C:\Temp\svntest>svn ls file:///C:/Temp/svntest/repos/trunk
c++/

C:\Temp\svntest>svn ls file:///C:/Temp/svntest/repos/trunk/c++
WindowsServer2008R2/

C:\Temp\svntest>svn co file:///C:/Temp/svntest/repos/trunk/c++
A    c++\WindowsServer2008R2
Checked out revision 1.

C:\Temp\svntest>svn co
file:///C:/Temp/svntest/repos/trunk/c++/WindowsServer2008R2
Checked out revision 1.

C:\Temp\svntest>dir
...
05-09-2018  16:33    <DIR>          .
05-09-2018  16:33    <DIR>          ..
05-09-2018  16:33    <DIR>          c++
05-09-2018  15:12    <DIR>          repos
05-09-2018  16:33    <DIR>          WindowsServer2008R2
]]]


So I conclude that this is a bug in GitHub, sending it's data to the svn client.
Workaround: perform a checkout of a parent directory higher up the
tree, so the root path of your working copy does not contain those '+'
signs.

-- 
Johan

Re: Error report: wc_db.c line 1648: assertion failed (SVN_IS_VALID_REVNUM(changed_rev))

Posted by Nathan Hartman <ha...@gmail.com>.
On Thu, Aug 23, 2018 at 9:46 AM Christoph Hannebauer <
Christoph.Hannebauer@glueckkanja.com> wrote:

> I have not subscribed to the users mailing list, so please CC me in this
> thread.
>
>
>
> My SVN crashed with this error message:
>
>
> 'D:\Development\SVN\Releases\TortoiseSVN-1.10.1\ext\subversion\subversion\libsvn_wc\wc_db.c'
>
> line 1648: assertion failed (SVN_IS_VALID_REVNUM(changed_rev))
>
>
>
> What I did before the crash, was execute the following command:
>
> svn checkout
> https://github.com/Microsoft/Windows-classic-samples/trunk/Samples/Win7Samples/security/certificateservices/exit/c++/WindowsServer2008R2
>
>
>
> I didn’t check whether other machines also show this behavior, but I did
> check that TortoiseSVN 1.9.7 is also affected.
>
>
>
>
Interesting. There is another thread about an assertion failure, also in a
call to SVN_IS_VALID_REVNUM(), but in a different file. Could these be
related?



>