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

Re: Path canonicalization assertion failure triggered by add_dir_recursively()

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2005-10-28 02:22:39 CEST

Daniel Rall <dlr@collab.net> writes:

> The stack trace is as follows:
>
> #0 0x00365402 in __kernel_vsyscall ()
> #1 0x0085b1f8 in raise () from /lib/libc.so.6
> #2 0x0085c948 in abort () from /lib/libc.so.6
> #3 0x0085438e in __assert_fail () from /lib/libc.so.6
> #4 0x0031c3b4 in svn_path_basename (path=0x954e870 ".", pool=0x954e820)
> at subversion/libsvn_subr/path.c:377
> #5 0x0040f8d1 in svn_wc_is_adm_dir (name=0x954e870 ".", pool=0x954e820)
> at subversion/libsvn_wc/adm_files.c:60

Huh? svn_wc_is_adm_dir doesn't call svn_path_basename.

> #6 0x00ef1793 in add_dir_recursive (
> dirname=0x9533c58 "/home/dlr/src/subversion/working_copies/basic_test1/dir", adm_access=0x9540c28, force=0, no_ignore=0, ctx=0x9532e68, pool=0x95409d0)
> at subversion/libsvn_client/add.c:331
> #7 0x00ef1a82 in add (
> path=0x9533c58 "/home/dlr/src/subversion/working_copies/basic_test1/dir",
> recursive=1, force=0, no_ignore=0, adm_access=0x9540c28, ctx=0x9532e68,
> pool=0x95409d0) at subversion/libsvn_client/add.c:413
> #8 0x00ef1b9b in svn_client_add3 (
> path=0x9533c58 "/home/dlr/src/subversion/working_copies/basic_test1/dir",
> recursive=1, force=0, no_ignore=0, ctx=0x9532e68, pool=0x95409d0)
> at subversion/libsvn_client/add.c:448
> #9 0x0804be42 in svn_cl__add (os=0x9532ab0, baton=0xbfb37818, pool=0x9532998)
> at subversion/clients/cmdline/add-cmd.c:65
> #10 0x08052826 in main (argc=3, argv=0xbfb379c4)
> at subversion/clients/cmdline/main.c:1503
>
> The error occurs because "." is passed to svn_wc_is_adm_dir(), which
> eventually triggers the is_canonical() assertion failure in
> svn_path_basename(). add_dir_recursive(), the caller of
> svn_wc_is_adm_dir(), contains code which filters out empty, parent,
> and "." paths, but that code isn't executed in time.

"." isn't a canonical path. I think the error is that svn_io_dir_read
should not be returning ".", it should convert it to "".

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Oct 28 02:24:02 2005

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.