It looks like this triggers another abort: (gdb) r 8 --allow-segfaults Starting program: /Users/Hyrum/dev/svn-trunk3/subversion/tests/libsvn_repos/repos-test 8 --allow-segfaults Reading symbols for shared libraries .++++++++++++...................... done Assertion failed: (svn_relpath_is_canonical(relpath, result_pool)), function svn_fspath__join, file subversion/libsvn_subr/dirent_uri.c, line 2538.
Program received signal SIGABRT, Aborted. 0x00007fff82ab5616 in __kill () (gdb) bt #0 0x00007fff82ab5616 in __kill () #1 0x00007fff82b55cca in abort () #2 0x00007fff82b42c90 in __assert_rtn () #3 0x00000001000a1c9e in svn_fspath__join (fspath=0x1000d0438 "/", relpath=0x1000cd716 "/iota", result_pool=0x10082f428) at subversion/libsvn_subr/dirent_uri.c:2538 #4 0x00000001000119a4 in delete_entry (path=0x1000cd716 "/iota", revision=-1, parent_baton=0x10077cda8, pool=0x10082f428) at subversion/libsvn_repos/commit.c:235 #5 0x00000001000074d6 in commit_editor_authz (opts=0x7fff5fbff550, pool=0x10082d428) at subversion/tests/libsvn_repos/repos-test.c:1429 #6 0x000000010000f722 in do_test_num (progname=0x7fff5fbff842 "repos-test", test_num=8, msg_only=0, opts=0x7fff5fbff550, header_msg=0x0, pool=0x10082d428) at subversion/tests/svn_test_main.c:274 #7 0x0000000100010248 in main (argc=3, argv=0x7fff5fbff6b8) at subversion/tests/svn_test_main.c:526 -Hyrum On Tue, Feb 1, 2011 at 2:57 PM, <cmpil...@apache.org> wrote: > Author: cmpilato > Date: Tue Feb 1 20:57:23 2011 > New Revision: 1066203 > > URL: http://svn.apache.org/viewvc?rev=1066203&view=rev > Log: > Update uses of deprecated path functions. > > * subversion/libsvn_repos/commit.c > (delete_entry, add_directory, open_directory, add_file, open_file): > Use svn_fspath__join() instead of svn_path_join(). > (svn_repos_get_commit_editor5): Canonicalize the base_path as an > fspath. > > Modified: > subversion/trunk/subversion/libsvn_repos/commit.c > > Modified: subversion/trunk/subversion/libsvn_repos/commit.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/commit.c?rev=1066203&r1=1066202&r2=1066203&view=diff > ============================================================================== > --- subversion/trunk/subversion/libsvn_repos/commit.c (original) > +++ subversion/trunk/subversion/libsvn_repos/commit.c Tue Feb 1 20:57:23 2011 > @@ -38,6 +38,7 @@ > #include "svn_props.h" > #include "repos.h" > #include "svn_private_config.h" > +#include "private/svn_fspath.h" > #include "private/svn_repos_private.h" > > > @@ -231,7 +232,7 @@ delete_entry(const char *path, > svn_node_kind_t kind; > svn_revnum_t cr_rev; > svn_repos_authz_access_t required = svn_authz_write; > - const char *full_path = svn_path_join(eb->base_path, path, pool); > + const char *full_path = svn_fspath__join(eb->base_path, path, pool); > > /* Check PATH in our transaction. */ > SVN_ERR(svn_fs_check_path(&kind, eb->txn_root, full_path, pool)); > @@ -292,7 +293,7 @@ add_directory(const char *path, > { > struct dir_baton *pb = parent_baton; > struct edit_baton *eb = pb->edit_baton; > - const char *full_path = svn_path_join(eb->base_path, path, pool); > + const char *full_path = svn_fspath__join(eb->base_path, path, pool); > apr_pool_t *subpool = svn_pool_create(pool); > svn_boolean_t was_copied = FALSE; > > @@ -385,7 +386,7 @@ open_directory(const char *path, > struct dir_baton *pb = parent_baton; > struct edit_baton *eb = pb->edit_baton; > svn_node_kind_t kind; > - const char *full_path = svn_path_join(eb->base_path, path, pool); > + const char *full_path = svn_fspath__join(eb->base_path, path, pool); > > /* Check PATH in our transaction. If it does not exist, > return a 'Path not present' error. */ > @@ -438,7 +439,7 @@ add_file(const char *path, > struct file_baton *new_fb; > struct dir_baton *pb = parent_baton; > struct edit_baton *eb = pb->edit_baton; > - const char *full_path = svn_path_join(eb->base_path, path, pool); > + const char *full_path = svn_fspath__join(eb->base_path, path, pool); > apr_pool_t *subpool = svn_pool_create(pool); > > /* Sanity check. */ > @@ -533,7 +534,7 @@ open_file(const char *path, > struct edit_baton *eb = pb->edit_baton; > svn_revnum_t cr_rev; > apr_pool_t *subpool = svn_pool_create(pool); > - const char *full_path = svn_path_join(eb->base_path, path, pool); > + const char *full_path = svn_fspath__join(eb->base_path, path, pool); > > /* Check for read authorization. */ > SVN_ERR(check_authz(eb, full_path, eb->txn_root, > @@ -873,7 +874,7 @@ svn_repos_get_commit_editor5(const svn_d > eb->commit_callback_baton = callback_baton; > eb->authz_callback = authz_callback; > eb->authz_baton = authz_baton; > - eb->base_path = apr_pstrdup(subpool, base_path); > + eb->base_path = svn_fspath__canonicalize(base_path, subpool); > eb->repos = repos; > eb->repos_url = repos_url; > eb->repos_name = svn_dirent_basename(svn_repos_path(repos, subpool), > > >