On 27.03.2012 12:06, Julian Foad wrote:
Stefan Küng<tortoise...@gmail.com> wrote:
There's an SVN_ERR_ASSERT when reintegrating. From the crash statistics I
get this happens quite often. The stack trace:
libsvn_tsvn!svn_ra_get_location_segments+0x12
libsvn_tsvn!svn_client__repos_location_segments+0x9f
libsvn_tsvn!svn_client_merge4+0xff8
libsvn_tsvn!svn_client_merge4+0x172e
libsvn_tsvn!svn_client_merge_reintegrate+0x113
tortoiseproc!SVN::MergeReintegrate+0x12c
in ra_loader.c, function svn_ra_get_location_segments() the
SVN_ERR_ASSERT(*path != '/');
is hit.
Hi Stefan. Thanks for that. I'll take a look.
the crash dumps I got (8 of them as of now) are not very clear: I'm not sure
if it's the assert that's triggered or whether 'path' is
actually NULL. Because the crash dump result in:
0xC0000005: Access violation reading location 0x0000000000000000.
That pretty much guarantees that 'path' was NULL, I would say.
From looking at the code I think this would happen if someone tries to merge
from or to a repo root. So instead of asserting or segfaulting, maybe returning
an error like "you can't merge from/to a repo root" or something
like that would be much better.
Yup. In trunk there is such a check in find_reintegrate_merge:
/* Can't reintegrate to or from the root of the repository. */
if (strcmp(source_loc->url, source_loc->repo->url) == 0
|| strcmp(target->loc.url, target->loc.repo->url) == 0)
return svn_error_createf(SVN_ERR_CLIENT_NOT_READY_TO_MERGE, NULL,
_("Neither the reintegrate source nor target "
"can be the root of the repository"));
This was added in r877459 - pburba 20-Apr-2009:
Return an error if attempting to reintegrate from/to the repository root.
* subversion/libsvn_client/merge.c
(svn_client_merge_reintegrate): Error out as soon as an attempt is made to
reintegrate to or from the repository root rather than attempting this
and getting a cryptic assertion, see
http://svn.haxx.se/dev/archive-2009-04/0623.shtml.
Merged to 1.6.x in r877630 | hwright | 2009-05-04.
First included in release 1.6.10.
Maybe this is not in the version that these users are running.
What version(s) of Subversion libraries are these crashes in?
Strange. The crash dumps are for the latest 1.7.4 release (TSVN 1.7.6).
So the libraries are from that version as well.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net