You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Austin Mico <un...@gmail.com> on 2014/01/30 05:21:27 UTC

encountered error with subversion version 1.8.0

Hi,

I have encountered error with subversion. The conf for apache is

<LocationMatch "^/repos/endeca/pipeline">
   DAV svn
   SVNParentPath /var/repos
   SVNPathAuthz off
    AuthBasicProvider file
    AuthType Basic
    AuthName "SVN Login"
    AuthLDAPURL
    AuthUserFile /etc/httpd/conf/svnuser_local
    <Limit GET PROPFIND OPTIONS REPORT PROPPATCH POST MKCOL MERGE PUT COPY
DELETE MKACTIVITY CHECKOUT>
            require user svnuser
    </Limit>
</LocationMatch>


I encountered error is

httpd: subversion/libsvn_subr/dirent_uri.c:2543: svn_fspath__join:
Assertion `svn_fspath__is_canonical(fspath)' failed.

[Wed Jan 29 22:43:20 2014] [notice] child pid 2740 exit signal Aborted (6)

httpd: subversion/libsvn_subr/dirent_uri.c:2543: svn_fspath__join:
Assertion `svn_fspath__is_canonical(fspath)' failed.

[Wed Jan 29 22:43:21 2014] [notice] child pid 2742 exit signal Aborted (6)


My svn client is version 1.8.5.



Thanks,


Faustino

Re: encountered error with subversion version 1.8.0

Posted by Austin Mico <un...@gmail.com>.
It keeps prompting for the password and throws the error below afterwards.

svn: E215004: Commit failed (details follow):
svn: E215004: No more credentials or we tried too many times.
Authentication failed



On Thu, Jan 30, 2014 at 12:46 PM, Ben Reser <be...@reser.org> wrote:

> On 1/29/14, 8:21 PM, Austin Mico wrote:
> > I have encountered error with subversion. The conf for apache is
> >
> > <LocationMatch "^/repos/endeca/pipeline">
> >    DAV svn
> >    SVNParentPath /var/repos
> >    SVNPathAuthz off
> >     AuthBasicProvider file
> >     AuthType Basic
> >     AuthName "SVN Login"
> >     AuthLDAPURL
> >     AuthUserFile /etc/httpd/conf/svnuser_local
> >     <Limit GET PROPFIND OPTIONS REPORT PROPPATCH POST MKCOL MERGE PUT
> COPY
> > DELETE MKACTIVITY CHECKOUT>
> >             require user svnuser
> >     </Limit>
> > </LocationMatch>
>
> I think this is being caused by your LocationMatch.  Every request is
> going to
> think that the server is rooted at the path you're requesting.
>  LocationMatch
> can be used but you have to be really careful about it and in your
> particular
> case I don't think you need it at all.
>
> I also don't understand why you're using a Limit block around the require
> directive.  That block is missing the MOVE, LOCK and UNLOCK methods.
>  Assuming
> that you don't have "SVNAutoversioning on" turned on somewhere else you
> can't
> really do anything useful with those being open to anonymous users (MOVE
> without auto-versioning requires a transaction/activity which would
> require a
> POST or MKACTIVITY in advance and LOCK/UNLOCK are not allowed for anonymous
> users).  So I suspect you really just want all actions against the
> repository
> to require the user.  So just removing the Limit blocks and put "Require
> user
> svnuser" directly inside the Location block.
>
> Not sure what the AuthLDAPURL is doing in there with not value either.
>
> With those three things I suspect that your configuration should look like
> this:
> <Location /repos/endeca/pipeline>
>   DAV svn
>   SVNParentPath /var/repos
>   SVNPathAuthz off
>   AuthBasicProvider file
>   AuthType Basic
>   AuthName "SVN Login"
>   AuthUserFile /etc/httpd/conf/svnuser_local
>   Require user svnuser
> </Location>
>
> > I encountered error is
> >
> > httpd: subversion/libsvn_subr/dirent_uri.c:2543: svn_fspath__join:
> Assertion
> > `svn_fspath__is_canonical(fspath)' failed.
> >
> > [Wed Jan 29 22:43:20 2014] [notice] child pid 2740 exit signal Aborted
> (6)
> >
> > httpd: subversion/libsvn_subr/dirent_uri.c:2543: svn_fspath__join:
> Assertion
> > `svn_fspath__is_canonical(fspath)' failed.
> >
> > [Wed Jan 29 22:43:21 2014] [notice] child pid 2742 exit signal Aborted
> (6)
>
> What were you doing when you got this error?  Do you have the error from
> the
> client, it should be returning an error as well.
>
> Even if the above resolves your problem I'd be interested in the above so
> that
> we can improve the error message you're getting in the future.
>
> I'd also encourage you to upgrade the server to a newer version than 1.8.0,
> we've fixed some bugs in the meantime.
>
>

Re: encountered error with subversion version 1.8.0

Posted by Ben Reser <be...@reser.org>.
On 1/29/14, 8:21 PM, Austin Mico wrote:
> I have encountered error with subversion. The conf for apache is
> 
> <LocationMatch "^/repos/endeca/pipeline">
>    DAV svn
>    SVNParentPath /var/repos
>    SVNPathAuthz off
>     AuthBasicProvider file
>     AuthType Basic
>     AuthName "SVN Login"
>     AuthLDAPURL 
>     AuthUserFile /etc/httpd/conf/svnuser_local
>     <Limit GET PROPFIND OPTIONS REPORT PROPPATCH POST MKCOL MERGE PUT COPY
> DELETE MKACTIVITY CHECKOUT>
>             require user svnuser
>     </Limit>
> </LocationMatch>

I think this is being caused by your LocationMatch.  Every request is going to
think that the server is rooted at the path you're requesting.  LocationMatch
can be used but you have to be really careful about it and in your particular
case I don't think you need it at all.

I also don't understand why you're using a Limit block around the require
directive.  That block is missing the MOVE, LOCK and UNLOCK methods.  Assuming
that you don't have "SVNAutoversioning on" turned on somewhere else you can't
really do anything useful with those being open to anonymous users (MOVE
without auto-versioning requires a transaction/activity which would require a
POST or MKACTIVITY in advance and LOCK/UNLOCK are not allowed for anonymous
users).  So I suspect you really just want all actions against the repository
to require the user.  So just removing the Limit blocks and put "Require user
svnuser" directly inside the Location block.

Not sure what the AuthLDAPURL is doing in there with not value either.

With those three things I suspect that your configuration should look like this:
<Location /repos/endeca/pipeline>
  DAV svn
  SVNParentPath /var/repos
  SVNPathAuthz off
  AuthBasicProvider file
  AuthType Basic
  AuthName "SVN Login"
  AuthUserFile /etc/httpd/conf/svnuser_local
  Require user svnuser
</Location>

> I encountered error is
> 
> httpd: subversion/libsvn_subr/dirent_uri.c:2543: svn_fspath__join: Assertion
> `svn_fspath__is_canonical(fspath)' failed.
> 
> [Wed Jan 29 22:43:20 2014] [notice] child pid 2740 exit signal Aborted (6)
> 
> httpd: subversion/libsvn_subr/dirent_uri.c:2543: svn_fspath__join: Assertion
> `svn_fspath__is_canonical(fspath)' failed.
> 
> [Wed Jan 29 22:43:21 2014] [notice] child pid 2742 exit signal Aborted (6)

What were you doing when you got this error?  Do you have the error from the
client, it should be returning an error as well.

Even if the above resolves your problem I'd be interested in the above so that
we can improve the error message you're getting in the future.

I'd also encourage you to upgrade the server to a newer version than 1.8.0,
we've fixed some bugs in the meantime.


Re: encountered error with subversion version 1.8.0

Posted by Austin Mico <un...@gmail.com>.
The versions are Subversion 1.8.0 and Apache 2.2.

Thanks for the quick reply.


On Thu, Jan 30, 2014 at 12:37 PM, David Chapman <dc...@acm.org> wrote:

> On 1/29/2014 8:21 PM, Austin Mico wrote:
>
>> Hi,
>>
>> I have encountered error with subversion. The conf for apache is
>>
>> <LocationMatch "^/repos/endeca/pipeline">
>>    DAV svn
>>    SVNParentPath /var/repos
>>    SVNPathAuthz off
>>     AuthBasicProvider file
>>     AuthType Basic
>>     AuthName "SVN Login"
>>     AuthLDAPURL
>>     AuthUserFile /etc/httpd/conf/svnuser_local
>>     <Limit GET PROPFIND OPTIONS REPORT PROPPATCH POST MKCOL MERGE PUT
>> COPY DELETE MKACTIVITY CHECKOUT>
>>             require user svnuser
>>     </Limit>
>> </LocationMatch>
>>
>>
>> I encountered error is
>>
>> httpd: subversion/libsvn_subr/dirent_uri.c:2543: svn_fspath__join:
>> Assertion `svn_fspath__is_canonical(fspath)' failed.
>>
>> [Wed Jan 29 22:43:20 2014] [notice] child pid 2740 exit signal Aborted (6)
>>
>> httpd: subversion/libsvn_subr/dirent_uri.c:2543: svn_fspath__join:
>> Assertion `svn_fspath__is_canonical(fspath)' failed.
>>
>> [Wed Jan 29 22:43:21 2014] [notice] child pid 2742 exit signal Aborted (6)
>>
>> My svn client is version 1.8.5.
>>
>>
>>
> These are Apache errors, so the first question is what versions of HTTPD
> and Subversion are present on the server.  The client version probably
> doesn't matter.
>
> --
>     David Chapman      dcchapman@acm.org
>     Chapman Consulting -- San Jose, CA
>     Software Development Done Right.
>     www.chapman-consulting-sj.com
>
>

Re: encountered error with subversion version 1.8.0

Posted by David Chapman <dc...@acm.org>.
On 1/29/2014 8:21 PM, Austin Mico wrote:
> Hi,
>
> I have encountered error with subversion. The conf for apache is
>
> <LocationMatch "^/repos/endeca/pipeline">
>    DAV svn
>    SVNParentPath /var/repos
>    SVNPathAuthz off
>     AuthBasicProvider file
>     AuthType Basic
>     AuthName "SVN Login"
>     AuthLDAPURL
>     AuthUserFile /etc/httpd/conf/svnuser_local
>     <Limit GET PROPFIND OPTIONS REPORT PROPPATCH POST MKCOL MERGE PUT 
> COPY DELETE MKACTIVITY CHECKOUT>
>             require user svnuser
>     </Limit>
> </LocationMatch>
>
>
> I encountered error is
>
> httpd: subversion/libsvn_subr/dirent_uri.c:2543: svn_fspath__join: 
> Assertion `svn_fspath__is_canonical(fspath)' failed.
>
> [Wed Jan 29 22:43:20 2014] [notice] child pid 2740 exit signal Aborted (6)
>
> httpd: subversion/libsvn_subr/dirent_uri.c:2543: svn_fspath__join: 
> Assertion `svn_fspath__is_canonical(fspath)' failed.
>
> [Wed Jan 29 22:43:21 2014] [notice] child pid 2742 exit signal Aborted (6)
>
> My svn client is version 1.8.5.
>
>

These are Apache errors, so the first question is what versions of HTTPD 
and Subversion are present on the server.  The client version probably 
doesn't matter.

-- 
     David Chapman      dcchapman@acm.org
     Chapman Consulting -- San Jose, CA
     Software Development Done Right.
     www.chapman-consulting-sj.com