List Info

Thread: New - ra_dav gives useless




New - ra_dav gives useless
user name
2006-08-25 22:02:25
http://subversion.tigris.org/issues/show_bug.cgi?id=2601

                 Issue #|2601
                 Summary|ra_dav gives useless errors when
problems occur during
                        | xml parsing
               Component|subversion
                 Version|trunk
                Platform|All
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P2
            Subcomponent|libsvn_ra_dav
             Assigned to|issuessubversion
             Reported by|rooneg






------- Additional comments from roonegtigris.org Fri Aug 25 15:02:25 -0700 2006 -------
There are any number of ways to get ra_dav to return totally
useless error
messages, for example this happens when you use a svnsync
that's built with an
old version of the dav protocol implementation:

subversion/libsvn_ra_dav/util.c:837: (apr_err=175002)
svnsync: REPORT request failed on 'http://localhost/svn/dev
'
subversion/libsvn_ra_dav/util.c:297: (apr_err=175002)
svnsync: REPORT of 'http://localhost/svn/dev
': 200 OK (http://localhost)

Wow, the error was 200 OK, that's useful!

It turns out the underlying issue is that we get an error
while we're parsing
the REPORT xml, but the way we use neon doesn't give us any
useful way to pass
data back from the callbacks into the parsed_request
function in util.c.  As a
result, we just look for any error, and if we can't
recognize it we use neon's
error status, which in this case is a 200 OK, because we did
successfully
download the data.

What we really need is a generic set of wrapper
functions/baton that wrap the
neon XML parser callbacks.  The new callbacks would accept
svn_error_t's from
svn code and store them, so they can be detected after the
parse finishes  This
would let us return useful errors from within the xml
parsing code, despite the
fact that neon only lets us return an int.

Filing this as an issue so I don't forget about how to fix
the problem...

------------------------------------------------------------
---------
To unsubscribe, e-mail: issues-unsubscribesubversion.tigris.org
For additional commands, e-mail: issues-helpsubversion.tigris.org

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )