Hi,
I had a NULL-pointer access at the same place last week. I think I have it
tracked down to where it realy went wrong.
In the file subversion/libsvn_ra_dav/fetch.c is the function
static svn_error_t * reporter_finish_report(void *report_baton)
It contains the following code:
err = svn_ra_dav__get_vcc(&vcc, rb->ras->sess, rb->ras->url, rb->ras->pool);
if (err)
{
(void) apr_file_close(rb->tmpfile);
return err;
}
err = svn_ra_dav__parsed_request(rb->ras->sess, "REPORT", vcc,
NULL, rb->tmpfile, NULL,
report_elements, validate_element,
start_element, end_element, rb,
NULL, rb->ras->pool);
if (err)
{
/* If running the update-report on the VCC failed, it's probably
an older server. Fall back to the old-style, by requesting
the report on the src-url itself. This runs a risk of
choking on issue #891 ("REPORT fails on item not in HEAD"),
but hey, it's better than nothing. */
/* ### someday, remove this fallback code. */
svn_error_clear (err);
err = svn_ra_dav__parsed_request(rb->ras->sess, "REPORT",
rb->ras->root.path,
NULL, rb->tmpfile, NULL,
report_elements, validate_element,
start_element, end_element, rb,
NULL, rb->ras->pool);
}
The retry after the error is the problem. In my case the REPORT request was send
ok by the server but the client network code returned "connection reset" error
after most of the report request was processed. In this case you cannot restart
the request on the same report_beacon, because there is state in the beacon.
Like that rb->dirs->nelts is not 0. The code in
static int start_element(void *userdata, const struct ne_xml_elm *elm,
const char **atts)
assummes that only on the first OPEN-DIRECTORY element there is no "name"
attribute. Unfortunately I do not known enough about the report_beacon, to
provide a patch which tests if it has already be used.
Regrads,
Patrick
Christian Daudt wrote:
> On Thursday 19 June 2003 14:49, Greg Stein wrote:
> > On Thu, Jun 19, 2003 at 03:43:41PM -0500, cmpilato@collab.net wrote:
> > >...
> > > mean, if you have a Subversion server that's sending your client a
> > > bogus REPORT response, by golly we want to know about it.
> >
> > Yup. What version of the server do you have and which client? What version
> > of Neon is being used?
> >
>
> server/client (svn command-line client) at r6178, neon @ 0.23.7. All running
> on Linux 2.4.19 (Suse 8.1)
>
> csd
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jun 20 06:48:22 2003