[csw-maintainers] Fwd: Re: libsvn_subr/dirent_uri.c dumps core when url contains a space

Ben Walton bwalton at opencsw.org
Wed Nov 2 01:55:38 CET 2011


Excerpts from rupert THURNER's message of Mon Oct 31 13:40:18 -0400 2011:

Hi Rupert,

> fyi

Thanks for this.  I've identified a potential fix in for git-svn and
am about to test it.

Thanks for tracking this down.  Sorry for the red herring.

Thanks
-Ben

> ---------- Forwarded message ----------
> From: "Stefan Sperling" <stsp at elego.de>
> Date: Oct 31, 2011 10:29 AM
> Subject: Re: libsvn_subr/dirent_uri.c dumps core when url contains a space
> To: "rupert.thurner" <rupert.thurner at gmail.com>
> Cc: <dev at subversion.apache.org>
> 
> On Sun, Oct 30, 2011 at 10:09:52PM -0700, rupert.thurner wrote:
> > on solaris the perl bindings dump a core when an url contains a space,
> > see https://www.opencsw.org/mantis/view.php?id=4854. an excerpt:
> >
> > The SVN::Ra bindings core dump with the following error:
> >
> > $ perl ./test.pl
> > svn: E235000: In file 'subversion/libsvn_subr/dirent_uri.c' line 2291:
> > assertion failed (svn_uri_is_canonical(url, pool))
> > Abort (core dumped)
> >
> >
> > The content of test.pl:
> >
> > require SVN::Ra;
> >
> > $s = SVN::Ra->new('file:///home/bwalton/opencsw/git/trunk/work/
> > solaris9-sparc/build-isa-sparcv8/git-1.7.7.1/t/trash [^]
> > directory.t9134-git-svn-ignore-paths/svnrepo');
> 
> Your code is wrong. You have to canonicalize URLs and paths
> before passing them into the SVN API.
> 
> Something like the following might work better (untested):
> 
> require SVN::Core;
> require SVN::Ra;
> 
> my $url =
> SVN::Core->svn_uri_canonicalize('file:///home/bwalton/opencsw/git/trunk/work/solaris9-sparc/build-isa-sparcv8/git-1.7.7.1/t/trash
> [^] directory.t9134-git-svn-ignore-paths/svnrepo')
> $s = SVN::Ra->new($url);
>    fyi
> 
>    ---------- Forwarded message ----------
>    From: "Stefan Sperling" <[1]stsp at elego.de>
>    Date: Oct 31, 2011 10:29 AM
>    Subject: Re: libsvn_subr/dirent_uri.c dumps core when url contains a space
>    To: "rupert.thurner" <[2]rupert.thurner at gmail.com>
>    Cc: <[3]dev at subversion.apache.org>
> 
>    On Sun, Oct 30, 2011 at 10:09:52PM -0700, rupert.thurner wrote:
>    > on solaris the perl bindings dump a core when an url contains a space,
>    > see [4]https://www.opencsw.org/mantis/view.php?id=4854. an excerpt:
>    >
>    > The SVN::Ra bindings core dump with the following error:
>    >
>    > $ perl ./[5]test.pl
>    > svn: E235000: In file 'subversion/libsvn_subr/dirent_uri.c' line 2291:
>    > assertion failed (svn_uri_is_canonical(url, pool))
>    > Abort (core dumped)
>    >
>    >
>    > The content of [6]test.pl:
>    >
>    > require SVN::Ra;
>    >
>    > $s = SVN::Ra->new('file:///home/bwalton/opencsw/git/trunk/work/
>    > solaris9-sparc/build-isa-sparcv8/git-1.7.7.1/t/trash [^]
>    > directory.t9134-git-svn-ignore-paths/svnrepo');
> 
>    Your code is wrong. You have to canonicalize URLs and paths
>    before passing them into the SVN API.
> 
>    Something like the following might work better (untested):
> 
>    require SVN::Core;
>    require SVN::Ra;
> 
>    my $url =
>    SVN::Core->svn_uri_canonicalize('file:///home/bwalton/opencsw/git/trunk/work/solaris9-sparc/build-isa-sparcv8/git-1.7.7.1/t/trash
>    [^] directory.t9134-git-svn-ignore-paths/svnrepo')
>    $s = SVN::Ra->new($url);
> 
> References
> 
>    Visible links
>    1. mailto:stsp at elego.de
>    2. mailto:rupert.thurner at gmail.com
>    3. mailto:dev at subversion.apache.org
>    4. https://www.opencsw.org/mantis/view.php?id=4854
>    5. http://test.pl/
>    6. http://test.pl/
--
Ben Walton
Systems Programmer - CHASS
University of Toronto
C:416.407.5610 | W:416.978.4302



More information about the maintainers mailing list