You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Alexey Neyman <st...@att.net> on 2013/08/03 23:57:12 UTC

[PATCH] svnmucc assertion failure

[Resending to dev@, as it is probably more appropriate audience for the patch]

Hi,

I've hit the following assertion in svnmucc:

svnmucc: subversion/libsvn_subr/dirent_uri.c:1373: 
svn_uri_get_longest_ancestor: Assertion `svn_uri_is_canonical(uri1, ((void 
*)0))' failed.
Aborted (core dumped)

The assertion was triggered when svnmucc was supplied with a script file that 
had inconsistent URL specifications (it was cut-and-pasted from two different 
scripts, one of which referred to SVN server by IP and the other by its domain 
name). It can be easily reproduced with the following script, for example (no 
repository setup is needed, as this assertion is triggered even before svnmucc 
contacts the repository):

mkdir
svn://localhost/svn/branches/try
cp
1234
svn://127.0.0.1/svn/trunk/foo
svn://localhost/svn/branches/try/foo

I am not sure if it is a valid use case, but at the very least, the error 
message should probably be a bit more user-friendly than an assertion. 
Patch making svnmucc err out gracefully attached.

[[[
* subversion/svnmucc/svnmucc.c
  (main): Check for URLs not having a common ancestor and emit an error
  message instead of failing an assertion later.
]]]

Regards,
Alexey.

Re: [PATCH] svnmucc assertion failure

Posted by Daniel Shahaf <da...@elego.de>.
Alexey Neyman wrote on Sat, Aug 03, 2013 at 14:57:12 -0700:
> [[[
> * subversion/svnmucc/svnmucc.c
>   (main): Check for URLs not having a common ancestor and emit an error
>   message instead of failing an assertion later.
> ]]]

Applied in r1511353 with minor tweaks (added a NULL check, even though
that can't happen with current code, and extended the log message) and
nominated for backport.

Thanks,

Daniel