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

[PATCH] lock tests #37 and #42 failure on Windows / ra_serf

From: Justin Erenkrantz <justin_at_erenkrantz.com>
Date: Tue, 12 Jun 2012 16:59:27 +0200

Lock test #37 and #42 is currently failing on Windows (with and
without the virus scanner). See:

http://ci.apache.org/builders/svn-slik-w2k3-x64-ra/builds/4511/steps/Test%20fsfs+serf/logs/faillog

It is related to the special 405/409/500 handler in handle_response
which is "completely wrong". *grin*

I think we're going out for dinner and stuff now, so I'll throw out
this incomplete patch and pick it up in the morning.

If someone else wants to take a look in the meantime, feel free! -- justin

Index: subversion/libsvn_ra_serf/util.c
===================================================================
--- subversion/libsvn_ra_serf/util.c (revision 1349376)
+++ subversion/libsvn_ra_serf/util.c (working copy)
@@ -1836,18 +1836,23 @@ handle_response(serf_request_t *request,
     }
   handler->conn->last_status_code = handler->sline.code;

- if (handler->sline.code == 405
+ if (!handler->server_error && (handler->sline.code == 405
       || handler->sline.code == 409
- || handler->sline.code >= 500)
+ || handler->sline.code >= 500))
     {
       /* 405 Method Not allowed.
          409 Conflict: can indicate a hook error.
          5xx (Internal) Server error. */
- /* ### this is completely wrong. it only catches the current network
- ### packet. we need ongoing parsing. see SERVER_ERROR down below
- ### in the process_body: area. we'll eventually move to that. */
- SVN_ERR(handle_server_error(request, response, scratch_pool));
+ svn_ra_serf__server_error_t *server_err;

+ server_err = begin_error_parsing(start_error, end_error, cdata_error,
+ handler->handler_pool);
+
+ /* Get the parser to set our DONE flag. */
+ server_err->parser.done = &handler->done;
+
+ handler->server_error = server_err;
+
       if (!handler->session->pending_error)
         {
           apr_status_t apr_err = SVN_ERR_RA_DAV_REQUEST_FAILED;
Received on 2012-06-12 17:00:00 CEST

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.