Configure a server with both mod_ssl (HTTPS) and mod_deflate (HTTP
compression).  Start a checkout and the kill the server.  The client
goes into an infinite loop in libsvn_ra_serf/update.c:handle_fetch

(gdb) n
1147          svn_txdelta_window_t delta_window = { 0 };
(gdb) n
1151          status = serf_bucket_read(response, 8000, &data, &len);
(gdb) n
1152          if (SERF_BUCKET_READ_ERROR(status))
(gdb) n
1157          fetch_ctx->read_size += len;
(gdb) n
1159          if (fetch_ctx->aborted_read)
(gdb) n
1187          if (fetch_ctx->result_stream)
(gdb) n
1191          else if (len)
(gdb) n
1209          if (APR_STATUS_IS_EOF(status))
(gdb) n
1218          if (status)
(gdb) n
1220        }
(gdb) n
1147          svn_txdelta_window_t delta_window = { 0 };

I don't know if the bug is serf failing to report the socket error or
ra_serf failing to handle the error.

-- 
Philip

Reply via email to