[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1066203 - /subversion/trunk/subversion/libsvn_repos/commit.c

From: Hyrum K Wright <hyrum_at_hyrumwright.org>
Date: Tue, 1 Feb 2011 15:28:30 -0600

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, <cmpilato_at_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),
>
>
>
Received on 2011-02-01 22:29:13 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.